107.1 Lecke 1
Tanúsítvány: |
LPIC-1 |
---|---|
Verzió: |
5.0 |
Témakör: |
107 Adminisztrációs feladatok |
Fejezet: |
107.1 Felhasználói- és csoport-fiókok, valamint a kapcsolódó rendszerfájlok kezelése |
Lecke: |
1/2 |
Bevezetés
A felhasználók és csoportok kezelése nagyon fontos része minden rendszergazda munkájának. A modern Linux-disztribúciók olyan grafikus felületeket implementálnak, amelyek lehetővé teszik az ezzel a kulcsfontosságú szemponttal kapcsolatos összes tevékenység gyors és egyszerű kezelését. Ezek a felületek a grafikus elrendezés tekintetében különböznek egymástól, de a funkciók ugyanazok. Ezekkel az eszközökkel megtekinthetjük, szerkeszthetjük, hozzáadhatjuk és törölhetjük a helyi felhasználókat és csoportokat. A fejlettebb munkavégzéshez azonban a parancssort kell hasznánunk.
Felhasználói fiókok hozzáadása
Linuxban új felhasználói fiókot a useradd
paranccsal hozhatunk létre. Root jogosultságok birtokában például létrehozhatunk egy új felhasználói fiókot michael
néven, alapértelmezett beállításokkal, a következő módon:
# useradd michael
A useradd
parancs futtatásakor a jelszó- és csoportadatbázisokban tárolt felhasználói és csoportinformációk frissülnek az újonnan létrehozott felhasználói fiókkal, és ha megadtuk, az új felhasználó home mappája is létrejön. Az új felhasználói fiókkal azonos nevű csoport is létrejön.
Miután létrehoztuk az új felhasználót, a passwd
paranccsal beállíthatjuk a jelszavát. A felhasználói azonosítóját (UID), a csoport azonosítóját (GID) és a hozzá tartozó csoportokat az id
és a groups
parancsok segítségével tekinthetjük meg.
# passwd michael Changing password for user michael. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. # id michael uid=1000(michael) gid=100(michael) groups=100(michael) # groups michael michael : michael
Note
|
Ne feledjük, hogy bármelyik felhasználó megtekintheti az UID-jét, GID-jét és a csoportokat, amelyekhez tartozik, ha egyszerűen, argumentumok nélkül használja az |
- Az
useradd
parancs legfontosabb kapcsolói a következők -c
-
Új felhasználói fiók létrehozása egyedi megjegyzésekkel (például a felhasználó teljes neve).
-d
-
Új felhasználói fiók létrehozása egyedi home mappával.
-e
-
Új felhasználói fiók létrehozása egy adott dátum megadásával, amelyen a fiók letiltásra kerül.
-f
-
Új felhasználói fiók létrehozása a jelszó lejárta utáni napok számának megadásával, amely alatt a felhasználónak frissítenie kell a jelszavát (különben a fiók letiltásra kerül).
-g
-
Új felhasználói fiók létrehozása egy adott GID-del.
-G
-
Új felhasználói fiók létrehozása több másodlagos csoporthoz való hozzáadással.
-k
-
Új felhasználói fiók létrehozása a skeleton fájlok másolásával egy adott egyéni mappából (ez a kapcsoló csak akkor érvényes, ha a
-m
vagy a--create-home
opciót adtuk meg). -m
-
Új felhasználói fiók létrehozása a saját home mappájával (ha az nem létezik).
-M
-
Új felhasználói fiók létrehozása home mappa nélkül.
-s
-
Új felhasználói fiók létrehozása egy adott login shellel.
-u
-
Új felhasználói fiók létrehozása egy adott UID-val.
Az useradd
parancs man oldalán a kapcsolók teljes listáját megtalálhatjuk.
Felhasználói fiókok módosítása
Időnként meg kell változtatnunk egy meglévő felhasználói fiók valamely attribútumát, például a bejelentkezési nevet, a login shellt, a jelszó lejárati dátumát stb. Ilyen esetekben a usermod
parancsot kell használni.
# usermod -s /bin/tcsh michael # usermod -c "Michael User Account" michael
A useradd
parancshoz hasonlóan a usermod
parancshoz is root jogosultságok szükségesek.
A fenti példákban először a michael
felhasználó login shelljét változtattuk meg, majd egy rövid leírást adtunk a felhasználói fiókhoz. Ne feledjük, hogy egyszerre több attribútumot is módosíthatunk, egyetlen parancsban megadva őket!
A usermod
parancs legfontosabb kapcsolói az alábbiak:
-c
-
Hozzáad egy rövid megjegyzést a megadott felhasználói fiókhoz.
-d
-
A megadott felhasználói fiók home mappájának módosítása. Az
-m
opcióval együtt használva az aktuális home mappa tartalma átkerül az új home mappába, amely, ha még nem létezik, létre is jön. -e
-
A megadott felhasználói fiók lejárati dátumának beállítása.
-f
-
Beállítja a jelszó lejárta utáni napok számát, amely alatt a felhasználónak frissítenie kell a jelszót (különben a fiók letiltásra kerül).
-g
-
A megadott felhasználói fiók elsődleges csoportjának módosítása (a csoportnak léteznie kell).
-G
-
Másodlagos csoportok hozzáadása a megadott felhasználói fiókhoz. Minden csoportnak léteznie kell és vesszővel kell elválasztani őket egymástól, szóközök nélkül. Ha egyedül használjuk, ez a kapcsoló eltávolítja az összes meglévő csoportot, amelyhez a felhasználó tartozik, míg ha az
-a
opcióval együtt használjuk, akkor egyszerűen új másodlagos csoportokat csatol a meglévőkhöz. -l
-
A megadott felhasználói fiók bejelentkezési nevének módosítása.
-L
-
A megadott felhasználói fiók zárolása. Ez egy felkiáltójelet tesz az
/etc/shadow
fájlban a titkosított jelszó elé, így letiltja az adott felhasználó jelszóval való hozzáférését. -s
-
A megadott felhasználói fiók login shelljének módosítása.
-u
-
A megadott felhasználói fiók UID-jének módosítása.
-U
-
A megadott felhasználói fiók feloldása. Ez eltávolítja a felkiáltójelet a titkosított jelszó előtt a
/etc/shadow
fájlban.
Az opciók teljes listája a usermod
parancs manual oldalain megtalálható.
Tip
|
Ne feledjük, hogy amikor megváltoztatjuk egy felhasználói fiók bejelentkezési nevét, valószínűleg át kell neveznünk a felhasználó home mappáját és más, a felhasználóval kapcsolatos elemeket, például a levelezési spoolfájlokat! Ne feledjük azt sem, hogy amikor megváltoztatjuk egy felhasználói fiók UID azonosítóját, valószínűleg a felhasználó home mappáján kívüli fájlok és mappák tulajdonjogát is meg kell változtatni (a felhasználói azonosító automatikusan megváltozik a felhasználó postafiókja és a felhasználó tulajdonában lévő, a felhasználó home mappájában található összes fájl esetén)! |
Felhasználói fiókok törlése
Ha törölni szeretnénk egy felhasználói fiókot, használhatjuk a userdel
parancsot. Ez a parancs frissíti a fiókadatbázisokban tárolt információkat, és törli a megadott felhasználóra utaló összes bejegyzést. A -r
kapcsolóval a felhasználó home mappáját és annak minden tartalmát is eltávolítjuk, a felhasználó mail spooljával együtt. A máshol található egyéb fájlokat manuálisan kell megkeresni és törölni.
# userdel -r michael
Ahogy a useradd
és a usermod
esetén, a felhasználói fiókok törléséhez is root jogosultság szükséges.
Csoportok létrehozása, módosítása és törlése
A felhasználók menedzseléséhez hasonlóan hozhatunk létre, módosíthatunk vagy törölhetünk csoportokat a groupadd
, groupmod
és groupdel
parancsokkal, ha van root jogosultságunk. Ha szeretnénk egy developer
nevű csoportot létrehozni, az alábbi parancsot kell futtatnunk:
# groupadd -g 1090 developer
A parancs -g
kapcsolója a csoportot egy specifikus GID-del hozza létre.
Warning
|
Ne feledjük, hogy amikor új felhasználói fiókot adunk hozzá, az elsődleges csoportnak és a másodlagos csoportoknak, amelyekhez tartozik, léteznie kell a |
Később, ha át akarjuk nevezni a csoportot developer
-ről web-developer
-re úgy, hogy a GID-et is megváltoztatjuk, az alábbit kell lefuttatnunk:
# groupmod -n web-developer -g 1050 developer
Tip
|
Ne feledjük, hogy ha a |
Végül, ha törölni szeretnénk a web-developer
csoportot, az alábbit kell futtatnunk:
# groupdel web-developer
Nem törölhető a csoport, ha az egy felhasználói fiók elsődleges csoportja. Ezért a csoport eltávolítása előtt el kell távolítanunk a felhasználót. A felhasználókhoz hasonlóan, ha törlünk egy csoportot, a csoporthoz tartozó fájlok a fájlrendszerben maradnak, és nem törlődnek, illetve nem rendelhetők másik csoporthoz.
A skeleton mappa
Amikor új felhasználói fiókot adunk hozzá úgy, hogy még a home mappáját is létrehozzuk, az újonnan létrehozott home mappát a skeleton (csontváz) mappából (alapértelmezés szerint /etc/skel
) másolt fájlokkal és mappákkal töltjük fel. A mögöttes ötlet egyszerű: a rendszergazda olyan új felhasználókat akar hozzáadni, amelyeknek a home mappájában ugyanazok a fájlok és mappák vannak. Ezért, ha testre szeretnénk szabni az új felhasználói fiókok home mappájában automatikusan létrejövő fájlokat és mappákat, akkor ezeket az új fájlokat és mappákat a skeleton mappához kell hozzáadni.
Tip
|
Vegyük figyelembe, hogy ha a skeleton mappában lévő összes fájlt és mappát listázni akarjuk, akkor az |
Az /etc/login.defs
fájl
A Linuxban az /etc/login.defs
fájl határozza meg a felhasználók és csoportok létrehozását vezérlő konfigurációs paramétereket. Ezenkívül az előző szakaszokban bemutatott parancsok ebből a fájlból veszik át az alapértelmezett értékeket.
A legfontosabb irányelvek a következők:
UID_MIN
ésUID_MAX
-
A felhasználói azonosítók azon tartománya, amelyet új közönséges felhasználókhoz lehet rendelni.
GID_MIN
ésGID_MAX
-
Az új közönséges csoportokhoz rendelhető csoportazonosítók tartománya.
CREATE_HOME
-
Annak megadása, hogy az új felhasználók számára alapértelmezés szerint létre kell-e hozni egy home mappát.
USERGROUPS_ENAB
-
Annak megadása, hogy a rendszer alapértelmezés szerint hozzon-e létre egy új csoportot minden új felhasználói fiókhoz, amelynek neve megegyezik a felhasználó nevével, és hogy a felhasználói fiók törlése a felhasználó elsődleges csoportját is törölje-e, ha az már nem tartalmaz tagokat.
MAIL_DIR
-
A mail spool mappa.
PASS_MAX_DAYS
-
A jelszó maximálisan használható napjainak száma.
PASS_MIN_DAYS
-
A jelszóváltoztatások között engedélyezett minimális napok száma.
PASS_MIN_LEN
-
A jelszó minimálisan elfogadható hossza.
PASS_WARN_AGE
-
A jelszó lejárta előtti figyelmeztető napok száma.
Tip
|
A felhasználók és csoportok kezelése során mindig ellenőrizzük ezt a fájlt, hogy megtekinthessük és szükség esetén megváltoztathassuk a rendszer alapértelmezett viselkedését! |
A passwd
parancs
Ez a parancs elsősorban a felhasználó jelszavának megváltoztatására szolgál. Mint korábban leírtuk, bármelyik felhasználó megváltoztathatja a saját jelszavát, de csak a root módosíthatja bármelyik felhasználó jelszavát. Ez azért történik, mert a passwd
parancsban be van állítva a SUID bit (egy s
a tulajdonost jelző futtatható flag helyén), ami azt jelenti, hogy a fájl tulajdonosának (tehát a root-nak) a jogosultságaival hajtódik végre.
# ls -l /usr/bin/passwd -rwsr-xr-x 1 root root 42096 mag 17 2015 /usr/bin/passwd
A használt passwd
kapcsolóktól függően szabályozhatja a jelszó öregedésének bizonyos aspektusait:
-d
-
Törli a felhasználói fiók jelszavát (ezzel letiltja a felhasználót).
-e
-
Kényszeríti a felhasználói fiókot a jelszó megváltoztatására.
-i
-
Beállítja, hogy a jelszó lejárta után hány nap inaktivitás után frissítse a felhasználó a jelszavát (különben a fiók letiltásra kerül).
-l
-
Zárolja a felhasználói fiókot (a titkosított jelszó elé felkiáltójel kerül a
/etc/shadow
fájlban). -n
-
A jelszó minimális élettartamának beállítása.
-S
-
Információk kiadása egy adott felhasználói fiók jelszóstátuszáról.
-u
-
A felhasználói fiók feloldása (a
/etc/shadow
fájl jelszó mezőjéből a felkiáltójel eltávolításra kerül). -x
-
A jelszó maximális élettartamának beállítása.
-w
-
Beállítja a jelszó lejárta előtti figyelmeztető napok számát, amely alatt a felhasználó figyelmeztetést kap, hogy a jelszót meg kell változtatni.
Note
|
A csoportoknak is lehet jelszava, amelyet a |
A chage
parancs
Ez a parancs, amely a “change age” rövidítése, egy felhasználó jelszó-öregedési információinak megváltoztatására szolgál. A chage
parancs a root-ra korlátozódik, kivéve a -l
kapcsolót, amelyet a közönséges felhasználók is használhatnak a saját fiókjuk jelszó-öregedési információinak listázására.
A chage
parancs további kapcsolói az alábbiak:
-d
-
A felhasználói fiók utolsó jelszóváltoztatásának beállítása.
-E
-
A felhasználói fiók lejárati dátumának beállítása.
-I
-
Beállítja, hogy a jelszó lejárta után hány nap inaktivitás után frissítse a felhasználó a jelszavát (különben a fiók letiltásra kerül).
-m
-
A felhasználói fiók minimális jelszó-élettartamának beállítása.
-M
-
A felhasználói fiók maximális jelszó-élettartamának beállítása.
-W
-
Beállítja a jelszó lejárta előtti figyelmeztető napok számát, amely alatt a felhasználó figyelmeztetést kap, hogy a jelszót meg kell változtatni.
Gyakorló feladatok
-
Adjuk meg az alábbi parancsok használatának célját:
usermod -L
passwd -u
chage -E
groupdel
useradd -s
groupadd -g
userdel -r
usermod -l
groupmod -n
useradd -m
-
Az alábbi
passwd
parancsokhoz adjuk meg a megfelelőchage
parancsot:passwd -n
passwd -x
passwd -w
passwd -i
passwd -S
-
Fejtsük ki részletesen az előző kérdésben szereplő parancsok célját:
-
Milyen parancsokkal zárolható egy felhasználói fiók? És milyen parancsokkal lehet feloldani?
Gondolkodtató feladatok
-
A
groupadd
paranccsal hozzuk létre azadministrators
ésdevelopers
csoportot! Tegyük fel, hogy root jogokkal rendelkezünk. -
Most, hogy létrehoztuk ezeket a csoportokat, futtassuk a következő parancsot:
useradd -G administrators,developers kevin
. Milyen műveleteket hajt végre ez a parancs? Tegyük fel, hogy aCREATE_HOME
és aUSERGROUPS_ENAB
az `/etc/login.defs' fájlban 'yes'-re van állítva. -
Hozzunk létre egy új csoportot
designers
néven, majd nevezzük átweb-designers
-re és adjuk hozzá ezt az új csoportot akevin
felhasználói fiók másodlagos csoportjaihoz! Azonosítsuk az összes csoportot és az ID-jukat, amikevin
-hez tartozik. -
Távolítsuk el csak a
developers
csoportotkevin
másodlagos csoportjai közül! -
Állítsuk be a
kevin
felhasználói fiók jelszavát! -
A
chage
paranccsal először ellenőrizzük akevin
felhasználói fiók lejárati dátumát, majd módosítsuk azt 2022. december 31-re! Milyen más paranccsal módosíthatjuk a felhasználói fiók lejárati dátumát? -
Hozzunk létre egy új felhasználói fiókot
emma
néven, az UID legyen 1050 és állítsuk be azadministrators
-t elsődleges csoportként, adevelopers
és aweb-designers
csoportokat pedig másodlagosként! -
Változtassuk meg
emma
login shelljét/bin/sh
-ra! -
Töröljük az
emma
éskevin
felhasználói fiókokat, valamint azadministrators
,developers
ésweb-designers
csoportokat!
Összefoglalás
Ebben a leckében megtanultuk:
-
A felhasználó- és csoportkezelés alapjai Linuxban.
-
Felhasználói fiókok hozzáadása, módosítása és eltávolítása.
-
Csoportfiókok hozzáadása, módosítása és eltávolítása.
-
A skeleton mappa karbantartása.
-
A felhasználók és csoportok létrehozását vezérlő fájl szerkesztése.
-
A felhasználói fiókok jelszavainak módosítása.
-
A felhasználói fiókok jelszóidőzítési információinak módosítása.
A leckében az alábbi fájlokat és parancsokat tárgyaltuk:
useradd
-
Új felhasználói fiók létrehozása.
usermod
-
Felhasználói fiók módosítása.
userdel
-
Felhasználói fiók törlése.
groupadd
-
Új csoport létrehozása.
groupmod
-
Csoport módosítása.
groupdel
-
Csoport törlése.
passwd
-
Felhasználói fiókok jelszavának módosítása és a jelszó öregedésének minden aspektusának kontrollja.
chage
-
A felhasználói jelszó lejárati idejének módosítása.
/etc/skel
-
A skeleton mappa alapértelmezett lokációja.
/etc/login.defs
-
A felhasználók és csoportok létrehozását vezérlő fájl, amely számos felhasználói fiókparaméter alapértelmezett értékét adja meg.
Válaszok a gyakorló feladatokra
-
Adjuk meg az alábbi parancsok használatának célját:
usermod -L
A felhasználói fiók zárolása
passwd -u
A felhasználói fiók feloldása
chage -E
A felhasználói fiók lejárati dátumának beállítása
groupdel
A csoport törlése
useradd -s
Új felhasználói fiók létrehozása egy adott login shellel
groupadd -g
Új csoport létrehozása specifikus GID-del
userdel -r
A felhasználói fiók és a home mappájában lévő össze fájl, valamint magának a home mappának és a felhasználó mail spooljának törlése
usermod -l
A felhasználói fiók bejelentkezési nevének megváltoztatása
groupmod -n
A csoport nevének a megváltoztatása
useradd -m
Új felhasználói fiók és a hozzá tartozó home mappa létrehozása
-
Az alábbi
passwd
parancsokhoz adjuk meg a megfelelőchage
parancsot:passwd -n
chage -m
passwd -x
chage -M
passwd -w
chage -W
passwd -i
chage -I
passwd -S
chage -l
-
Fejtsük ki részletesen az előző kérdésben szereplő parancsok célját:
Linuxban a
passwd -n
paranccsal (vagychage -m
) beállíthatjuk a jelszóváltoztatások közötti minimális napok számát, apasswd -x
paranccsal (vagychage -M
) a jelszó érvényességi idejének maximális számát, apasswd -w
paranccsal (vagychage -W
) a jelszó lejárta előtti figyelmeztető napok számát, apasswd -i
paranccsal (vagychage -I
) beállítható, hogy a felhasználónak hány nap inaktivitás után kell megváltoztatnia a jelszavát, és apasswd -S
paranccsal (vagychage -l
) megjeleníthetünk rövid információkat a felhasználói fiók jelszaváról. -
Milyen parancsokkal zárolható egy felhasználói fiók? És milyen parancsokkal lehet feloldani?
A fiók zárolásához az alábbi parancsok valamelyikét használhatjuk:
usermod -L
,usermod --lock
éspasswd -l
. A feloldásához pedig azusermod -U
,usermod --unlock
éspasswd -u
parancsokat.
Válaszok a gondolkodtató feladatokra
-
A
groupadd
paranccsal hozzuk létre azadministrators
ésdevelopers
csoportot! Tegyük fel, hogy root jogokkal rendelkezünk.# groupadd administrators # groupadd developers
-
Most, hogy létrehoztuk ezeket a csoportokat, futtassuk a következő parancsot:
useradd -G administrators,developers kevin
. Milyen műveleteket hajt végre ez a parancs? Tegyük fel, hogy aCREATE_HOME
és aUSERGROUPS_ENAB
az `/etc/login.defs' fájlban 'yes'-re van állítva.A parancs egy új,
kevin
nevű felhasználót ad hozzá a rendszerben lévő felhasználók listájához, létrehozza a felhasználói fiókját (aCREATE_HOME
igenre van állítva, ezért elhagyható a -m kapcsoló), és létrehoz egy új,kevin
nevű csoportot, mint a felhasználói fiók elsődleges csoportját (aUSERGROUPS_ENAB
igenre van állítva). Végül a skeleton mappában található fájlok és mappák átmásolódnak akevin
home mappájába. -
Hozzunk létre egy új csoportot
designers
néven, majd nevezzük átweb-designers
-re és adjuk hozzá ezt az új csoportot akevin
felhasználói fiók másodlagos csoportjaihoz! Azonosítsuk az összes csoportot és az ID-jukat, amikevin
-hez tartozik.# groupadd designers # groupmod -n web-designers designers # usermod -a -G web-designers kevin # id kevin uid=1010(kevin) gid=1030(kevin) groups=1030(kevin),1028(administrators),1029(developers),1031(web-designers)
-
Távolítsuk el csak a
developers
csoportotkevin
másodlagos csoportjai közül!# usermod -G administrators,web-designers kevin # id kevin uid=1010(kevin) gid=1030(kevin) groups=1030(kevin),1028(administrators),1031(web-designers)
A
usermod
parancsban nincs olyan lehetőség, hogy csak egy csoportot távolítson el; ezért meg kell adni az összes másodlagos csoportot, amelyhez a felhasználó tartozik. -
Állítsuk be a
kevin
felhasználói fiók jelszavát!# passwd kevin Changing password for user kevin. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully.
-
A
chage
paranccsal először ellenőrizzük akevin
felhasználói fiók lejárati dátumát, majd módosítsuk azt 2022. december 31-re! Milyen más paranccsal módosíthatjuk a felhasználói fiók lejárati dátumát?# chage -l kevin | grep "Account expires" Account expires : never # chage -E 2022-12-31 kevin # chage -l kevin | grep "Account expires" Account expires : dec 31, 2022
A
usermod
parancs a-e
kapcsolóval megfelel achage -E
-nek. -
Hozzunk létre egy új felhasználói fiókot
emma
néven, az UID legyen 1050 és állítsuk be azadministrators
-t elsődleges csoportként, adevelopers
és aweb-designers
csoportokat pedig másodlagosként!# useradd -u 1050 -g administrators -G developers,web-designers emma # id emma uid=1050(emma) gid=1028(administrators) groups=1028(administrators),1029(developers),1031(web-designers)
-
Változtassuk meg
emma
login shelljét/bin/sh
-ra!# usermod -s /bin/sh emma
-
Töröljük az
emma
éskevin
felhasználói fiókokat, valamint azadministrators
,developers
ésweb-designers
csoportokat!# userdel -r emma # userdel -r kevin # groupdel administrators # groupdel developers # groupdel web-designers