Vodnik po različnih ukazih in tehnikah v Linuxu za seznam skupin
V ekosistemu Linux se zbirka uporabnikov imenuje »skupina«. Ko je uporabnik dodan v skupino, definiramo dovoljenja uporabnika Linuxa. Skupine tudi določajo, do katerih datotek, nastavitev in map naj ima uporabnik dostop.
Najpreprosteje rečeno, skupine vam pomagajo ugotoviti in nastaviti privilegije, kot je branje (r
), napiši (w
) in izvrši (x
) prek vira, ki si ga delijo uporabniki. Ta dovoljenja lahko po potrebi tudi spremenite.
Če ugotovite skupine, ki jim pripada uporabniški račun, vam bo pomagalo spoznati dovoljenja, ki jih ima določen uporabnik, in tudi spremeniti dovoljenja, kadar koli je to potrebno.
Ta kratka vadnica vam bo pomagala ugotoviti skupine, v katere spada uporabnik, z nekaj preprostimi ukazi in tehnikami.
Pomembni predpogoji
Preden se poglobite v vadnico, bi bilo koristno, če bi imeli osnovni pregled nekaterih konceptov. Začetnikom priporočam, da najprej preučijo te koncepte.
Skupina: Zbirka uporabnikov v sistemu Linux. En sam uporabnik je lahko član več kot ene skupine. Skupina določa, katera dovoljenja ima uporabnik.
Primarna skupina: Primarna skupina je glavna skupina, povezana z uporabniškim računom. Vsak uporabnik mora biti član ene same primarne skupine. Ustvari se hkrati z ustvarjanjem uporabniškega računa in uporabnik je samodejno dodan v to skupino. Običajno je ime primarne skupine enako imenu uporabnika.
sekundarna skupina:Sekundarna skupina je neobvezna in uporabnik lahko ima sekundarno skupino ali pa tudi ne. Uporablja se za dodelitev nekaterih dodatnih pravic uporabniku. Uporabnik je lahko član več sekundarnih skupin.
/etc/group
mapa: V Linuxu članstvo v skupini nadzoruje /etc/group
mapa. To je preprosta besedilna datoteka, ki vsebuje seznam skupin in uporabnikov, ki pripadajo vsaki skupini.
/etc/passwd
mapa: Ta datoteka vsebuje informacije za vse uporabniške račune v sistemu. V tej datoteki je vnos enega uporabniškega računa na vrstico.
Uporabljati skupine
ukaz
Uporabljati skupine
ukaz je zelo preprost postopek za seznam skupin, ki jim pripada trenutni uporabnik. Ta ukaz lahko uporabite tudi za seznam skupin določenega uporabnika, ki je registriran v sistemu.
sintaksa:
skupine
Izhod:
gaurav@ubuntu:~$ skupine gaurav adm cdrom sudo dip plugdev lpadmin sambashare gaurav@ubuntu:~$
Iskanje skupine določenega uporabnika.
sintaksa:
skupine [uporabniško ime]
Primer:
gaurav@ubuntu:~$ skupine tomcat tomcat : tomcat lpadmin sambashare gaurav@ubuntu:~$
V tem primeru sem navedel skupine, v katere je uporabnik poimenoval maček pripada.
Uporabljati id
ukaz
Uporabljati id
ukaz prikaže informacije o skupini uporabnika. Prikazuje parametre, kot so uid
(Uporabniško ime), gid
(id skupine) in seznam skupin, katerim uporabnik pripada.
sintaksa:
id [uporabniško ime]
Primer:
gaurav@ubuntu:~$ id tomcat uid=1002(tomcat) gid=1002(tomcat) groups=1002(tomcat),113(lpadmin),128(sambashare) gaurav@ubuntu:~$
id
ukaz, kadar se uporablja brez argumenta, vrne informacije o skupini o trenutnem uporabniku.
Primer:
gaurav@ubuntu:~$ id uid=1000(gaurav) gid=1000(gaurav) skupine=1000(gaurav),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev) ,113(lpadmin),128(sambashare) gaurav@ubuntu:~$
Tukaj so prikazane informacije o skupini trenutnega uporabnika.
Z uporabo datoteke /etc/group
Kot je razloženo v bloku predpogojev, to vemo /etc/group
vsebuje vse informacije o skupinah, ki so na voljo v sistemu. To datoteko lahko uporabimo za ogled seznama skupin s preprostim ukazom, kot sledi.
Lahko uporabiš mačka
, manj
oz grep
ukaz za odpiranje vsebine te datoteke.
manj /etc/group
Izhod:
root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4:syslog,gaurav tty:x:5: disk:x:6: lp:x:7 : pošta:x:8: novice:x:9: uucp:x:10: človek:x:12: proxy:x:13: kmem:x:15: klic:x:20: faks:x:21: glas :x:22: cdrom:x:24:gaurav disketa:x:25: trak:x:26: sudo:x:27:gaurav audio:x:29:pulse dip:x:30:gaurav,batman www-data :x:33:
To bo navedlo celotne skupine v sistemu Linux.
Seznam vseh skupin, ki uporabljajo getent
ukaz
getent
ukaz lahko uporabite za prikaz seznama vseh razpoložljivih skupin v vašem sistemu Linux. Izhod je podoben vsebini /etc/group
mapa.
Uporaba getent skupina
ukaz prikaže vnose iz baz podatkov, konfiguriranih v /etc/nsswitch.conf
mapa.
sintaksa:
getent skupina
Primer:
gaurav@ubuntu:~$ getent group root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4:syslog,gaurav tty:x:5: disk:x :6: lp:x:7: mse dip:x:30:gaurav,batman :x:39: stmp:x:43: video:x:44: sasl:x:45: plugdev:x:46:gaurav staff :x:50: igre:x:60: uporabniki:x:100: 106: crontab:x:107: vahi:x:120: bluetooth:x:121: skener:x:122:saned colord:x:123: pulse:x:124: impulzni dostop:x:125: rtkit:x:126: saned:x:127: trinity:x:1000: sambashare:x:128:gaurav mongodb:x:130:mongodb guest-tqrhc7: x:999: guest-piinii:x:998: scala:x:997: sbt:x:996: guest-oi9xaf:x:995: tomcat:x:1001: tomcat7:x:132: tomcat8:x:133: geoclue:x:105: gdm:x:134: mysql:x:129: couchdb:x:131: začasno:x:1002:
Za iskanje skupine določenega uporabnika uporabite naslednji ukaz.
getent skupina | grep [uporabniško ime]
Primer:
gaurav@ubuntu:~$ getent group | grep gaurav adm:x:4:syslog,gaurav cdrom:x:24:gaurav sudo:x:27:gaurav dip:x:30:gaurav,batman plugdev:x:46:gaurav lpadmin:x:113:gaurav gaurav: x:1000: sambashare:x:128:gaurav gaurav@ubuntu:~$
Vse skupine, povezane z uporabnikom gaurav, so zdaj navedene na terminalu.
Uporaba libuser-pokrov
ukaz
libuser-pokrov
ukaz prikaže informacije o skupinah, ki vsebujejo uporabniško ime, ali uporabnikih, ki jih vsebuje ime skupine.
OPOMBA: Ta ukaz zahteva sudo
privilegije. V nasprotnem primeru boste naleteli na napako, kot sledi -
Napaka pri inicializaciji libuserja: ne izvaja se s privilegiji superuporabnikaUporabniško ime ni navedeno,
V primeru če libuser-pokrov
pripomoček ni na voljo v vaših distribucijah, lahko ga namestite z naslednjim ukazom.
Za Ubuntu in Debian uporabniki:
sudo apt-pridobi posodobitev
sudo apt-get install libuser
Za CentOS, Fedora in druge distribucije:
sudo yum namestite libuser
sintaksa:
sudo libuser-lid [uporabniško ime]
Primer:
gaurav@ubuntu:~$ sudo libuser-lid gaurav
Izhod:
adm(gid=4) cdrom(gid=24) sudo(gid=27) dip(gid=30) plugdev(gid=46) lpadmin(gid=113) trinity(gid=1000) sambashare(gid=128)
Tukaj so navedene vse skupine, ki so povezane z vnesenim uporabniškim imenom.
Zaključek
V tej zelo preprosti vadnici smo se zdaj naučili prikazati skupine, ki so na voljo v sistemih Linux. Ukaze, razložene v tej vadnici, je mogoče uporabiti na vseh distribucijah Linuxa na enak način.