15 hasznos Useradd parancs példákkal Linuxban
Mindannyian ismerjük a Linux legnépszerűbb „useradd” vagy „adduser” parancsait. Vannak esetek, amikor a Linux rendszergazdát arra kérik, hogy hozzon létre felhasználói fiókokat Linuxon meghatározott tulajdonságokkal, korlátozásokkal vagy megjegyzésekkel.
Linuxban a 'useradd' parancs egy alacsony szintű segédprogram, amellyel felhasználói fiókokat lehet hozzáadni vagy létrehozni Linuxon és más Unix-szerű operációs rendszereken. Az 'adduser' parancs nagyon hasonlít a 'useradd' parancsra, mivel ez csak egy szimbolikus hivatkozás hozzá.
Egyes Linux-disztribúciókban a 'useradd' parancsnak kissé eltérő verziója lehet. Azt javaslom, hogy olvassa el a dokumentációt, mielőtt új felhasználói fiókokat hoz létre Linuxban.
Amikor a „useradd” parancsot futtatjuk a Linux terminálban, az a következő főbb feladatokat hajtja végre:
- Szerkeszti a következőt: /etc/passwd, /etc/shadow, /etc/group, és /etc/gshadow fájlokat az újonnan létrehozott felhasználói fiókokhoz.
- Létrehoz és feltölt egy kezdőkönyvtárat az új felhasználó számára.
- Engedélyeket és tulajdonjogokat állít be a kezdőkönyvtárhoz.
Useradd Command Syntax
A „useradd” parancs alapvető szintaxisa a következő:
useradd [options] username
Ebben a cikkben a 15 leggyakrabban használt „useradd” parancsot mutatjuk be gyakorlati példákkal Linux alatt.
1. Új felhasználó hozzáadása Linux alatt
Új felhasználó hozzáadásához vagy létrehozásához használja a „useradd” vagy az „adduser” parancsot, amelyet a „felhasználónév” követ. A „felhasználónév” az a bejelentkezési név, amellyel a felhasználó bejelentkezik a rendszerbe.
Csak egy felhasználó adható hozzá, és a felhasználónévnek egyedinek kell lennie, és nem léteznie kell a rendszerben.
Például egy „tecmint” nevű új felhasználó hozzáadásához használja a következő parancsot:
useradd tecmint
Amikor új felhasználót adunk hozzá Linuxon a „useradd” paranccsal, az zárolt állapotban jön létre. A felhasználói fiók zárolásának feloldásához be kell állítanunk egy jelszót a fiókhoz a „passwd” paranccsal.
passwd tecmint
Changing password for user tecmint.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
Az új felhasználó létrehozása után a bejegyzés automatikusan hozzáadódik az „/etc/passwd” fájlhoz. Ez a fájl a felhasználó adatainak tárolására szolgál, és a bejegyzésnek így kell lennie.
tecmint:x:1000:1000:tecmint:/home/tecmint:/bin/bash
A fenti bejegyzés hét kettősponttal elválasztott mezőt tartalmaz, mindegyik mezőnek saját jelentése van.
Lássuk, melyek ezek a mezők:
- Felhasználónév – A felhasználói bejelentkezési név a rendszerbe való bejelentkezéshez használható. 1 és 32 karakter közötti hosszúságúnak kell lennie.
- Jelszó – A felhasználói jelszó (vagy
'x'
karakter) az '/etc/shadow' fájlban tárolódik titkosított formátumban. - Felhasználói azonosító (UID) – Minden felhasználónak rendelkeznie kell felhasználói azonosítóval (UID), amely a Felhasználói azonosító szám rövidítése. Alapértelmezés szerint a UID 0 a root felhasználó számára van fenntartva, az 1 és 99 közötti UID-k pedig más előre meghatározott fiókok számára. Ezenkívül a rendszerfiókok és csoportok számára 100 és 999 közötti UID-k vannak fenntartva.
- Csoportazonosító (GID) – Az elsődleges csoportazonosító (GID), amely a Csoportazonosító szám rövidítése, a „ /etc/group" fájlt.
- Felhasználói adatok – Ez a mező nem kötelező, és lehetővé teszi további információk megadását a felhasználóról, például a felhasználó teljes nevét. Ezt az információt az ujjparanccsal lehet kitölteni.
- Főcímtár – A felhasználó kezdőkönyvtárának abszolút helye.
- Shell – A felhasználó shelljének, azaz a /bin/bash abszolút helye.
2. Hogyan hozzunk létre egy felhasználót egy másik kezdőkönyvtárral
Alapértelmezés szerint a „useradd” parancs létrehozza a felhasználó kezdőkönyvtárát a „/home” könyvtár alatt a felhasználónévvel. Például a fent látható módon a „tecmint” felhasználó alapértelmezett kezdőkönyvtára a „/home/tecmint”.
Ez a viselkedés azonban megváltoztatható a '-d'
kapcsolóval, valamint az új kezdőkönyvtár helyével (pl. '/data/projects'). A következő parancs például létrehoz egy „anusha” felhasználót, amelynek kezdőkönyvtára „/data/projects” lesz.
useradd -d /data/projects anusha
passwd anusha
A következő cat paranccsal megtekintheti a felhasználó kezdőkönyvtárát és a felhasználókkal kapcsolatos egyéb információkat, például felhasználói azonosítót, csoportazonosítót, parancsértelmezőt és megjegyzéseket.
cat /etc/passwd | grep anusha
anusha:x:1001:1001::/data/projects:/bin/bash
3. Hogyan hozzunk létre egy felhasználót egy adott felhasználói azonosítóval
Linuxban minden felhasználónak saját UID-je (egyedi azonosítószáma) van. Alapértelmezés szerint, amikor új felhasználói fiókot hozunk létre Linuxban, az 500, 501, 502 stb. felhasználói azonosítókat rendel hozzá.
A '-u'
opció használatával azonban létrehozhatunk egyéni felhasználói azonosítókkal rendelkező felhasználókat. Például a következő parancs egy „navin” felhasználót hoz létre „1002” egyéni felhasználói azonosítóval.
useradd -u 1002 navin
Most ellenőrizze, hogy a felhasználó egy meghatározott felhasználói azonosítóval (1002) hozott létre a következő paranccsal.
cat /etc/passwd | grep navin
navin:x:1002:1002::/home/navin:/bin/bash
MEGJEGYZÉS: Győződjön meg arról, hogy a felhasználói azonosító értékének egyedinek kell lennie a rendszerben már létrehozott többi felhasználótól.
4. Hogyan hozzunk létre egy felhasználót meghatározott csoportazonosítóval
Hasonlóképpen, minden felhasználónak megvan a saját GID-je (Csoportazonosító). A '-g'
kapcsolóval meghatározott csoportazonosítókkal is létrehozhatunk felhasználókat.
Ebben a példában egy 'tarunika' felhasználót fogunk hozzáadni egy adott UID és GID azonosítóval egyidejűleg a '- u'
és '-g'
opciókat.
useradd -u 1005 -g tecmint tarunika
Most ellenőrizze a hozzárendelt felhasználói azonosítót és csoportazonosítót az „/etc/passwd” fájlban.
cat /etc/passwd | grep tarunika
tarunika:x:1005:1000::/home/tarunika:/bin/bash
A felhasználó GID-jének ellenőrzéséhez használja az id parancsot:
id -gn tarunika
5. Felhasználó hozzáadása több csoporthoz
A '-G'
opcióval egy felhasználót további csoportokhoz adhat hozzá. Minden csoport neve vesszővel van elválasztva, szóközök nélkül.
Ebben a példában egy „tecmint” felhasználót adunk hozzá több csoporthoz, például adminokhoz, webadminhez és fejlesztőhöz..
groupadd admins
groupadd webadmin
groupadd developers
usermod -a -G admins,webadmin,developers tecmint
useradd -G admins,webadmin,developers paddy
Ezután ellenőrizze, hogy a több csoport hozzá van-e rendelve a felhasználóhoz az id paranccsal.
id tecmint
uid=1000(tecmint) gid=1000(tecmint)
groups=1000(tecmint),1007(admins),1008(webadmin),1009(developers)
context=root:system_r:unconfined_t:SystemLow-SystemHigh
6. Felhasználó hozzáadása saját címtár nélkül
Bizonyos helyzetekben, amikor biztonsági okokból nem akarunk saját könyvtárakat rendelni egy felhasználóhoz, a felhasználó saját könyvtára root lesz, amikor bejelentkezik egy éppen újraindított rendszerbe. Ha egy ilyen felhasználó a ’su’ parancsot használja, a bejelentkezési könyvtára az előző felhasználó saját könyvtára lesz.
A saját könyvtáraik nélküli felhasználók létrehozásához a '-M'
opciót kell használni. Például a következő parancs egy „shilpi” felhasználót hoz létre kezdőkönyvtár nélkül.
useradd -M shilpi
Most ellenőrizzük, hogy a felhasználó saját könyvtár nélkül jött-e létre az ls paranccsal.
ls -l /home/shilpi
ls: cannot access /home/shilpi: No such file or directory
7. Lejárati dátumú felhasználó létrehozása Linuxban
Alapértelmezés szerint, amikor felhasználókat adunk hozzá a „useradd” paranccsal, a felhasználói fiók soha nem jár le, vagyis a lejárati dátumuk 0 (ami azt jelenti, hogy soha nem járt le).
A lejárati dátumot azonban beállíthatjuk a '-e'
opció használatával, amelynek az ÉÉÉÉ-HH-NN formátumban kell lennie. Ez akkor hasznos, ha egy adott időszakra ideiglenes fiókokat hozhat létre.
Ebben a példában létrehozunk egy „aparna” felhasználót a fiók lejárati dátumával, amely 2021. augusztus 27., az ÉÉÉÉ-HH-NN > formátum.
useradd -e 2021-08-27 aparna
Ezután ellenőrizze a fiók és a jelszó öregedési adatait a „chage” paranccsal az „aparna” felhasználóhoz a fiók lejárati dátumának beállítása után.
chage -l aparna
Last password change : Jun 25, 2021
Password expires : never
Password inactive : never
Account expires : Aug 27, 2021
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
8. Felhasználó létrehozása a jelszó lejárati dátumával
A '-f'
argumentum a jelszó lejárta utáni napok számának meghatározására szolgál. A 0 érték inaktiválja a felhasználói fiókot, amint a jelszó lejárt. Alapértelmezés szerint a jelszó lejárati értéke -1
, ami azt jelenti, hogy soha nem jár le.
Ebben a példában a fiók jelszavának lejárati dátumát állítjuk be, amely 45 nap, a „mansi” felhasználó számára a „-e”
használatával. és '-f'
opciókat.
useradd -e 2014-04-27 -f 45 mansi
9. Felhasználó hozzáadása megjegyzésekkel Linux alatt
A '-c'
opció lehetővé teszi, hogy egyéni megjegyzéseket – például a felhasználó teljes nevét, telefonszámát stb. – adjon hozzá az „/etc/passwd” fájlhoz. A megjegyzés egyetlen sorként is hozzáadható szóközök nélkül.
Például a következő parancs hozzáad egy „mansi” felhasználót, és beszúrja a felhasználó teljes nevét (Manis Khurana) a megjegyzés mezőbe.
useradd -c "Manis Khurana" mansi
A beszúrt megjegyzést megtekintheti a megjegyzések szakaszban található „/etc/passwd” fájlban a tail paranccsal.
tail -1 /etc/passwd
mansi:x:1010:1013:Manis Khurana:/home/mansi:/bin/sh
10. Felhasználói bejelentkezési shell létrehozása Linuxban
Néha olyan felhasználókat adunk hozzá, akiknek semmi közük a bejelentkezési shell-hez, vagy néha különböző shell-eket kell hozzárendelnünk a felhasználókhoz. A ’-s’ opcióval minden felhasználóhoz különböző bejelentkezési parancsértelmezőket rendelhetünk.
Ebben a példában egy „tecmint” felhasználót ad hozzá bejelentkezési shell nélkül, azaz a „/sbin/nologin” parancsértelmezőt.
useradd -s /sbin/nologin tecmint
A felhasználóhoz rendelt parancsértelmezőt az „/etc/passwd” fájlban ellenőrizheti.
tail -1 /etc/passwd
tecmint:x:1011:1014::/home/tecmint:/sbin/nologin
11. Hogyan hozzunk létre egy felhasználót megadott kezdőlappal, héjjal és megjegyzéssel
A következő parancs létrehoz egy 'ravi' felhasználót '/var/www/tecmint' kezdőkönyvtárral, amely alapértelmezett shell a /bin/bash . , és további információk a felhasználóról.
useradd -m -d /var/www/ravi -s /bin/bash -c "TecMint Owner" -U ravi
A fenti parancsban a '-m'
és '-d'
opciók egy felhasználót hoznak létre egy megadott kezdőkönyvtárral, és a '-s'
opció a felhasználó alapértelmezett shelljét a /bin/bash értékre állítja. A '-c'
opció további információkat ad hozzá a felhasználóról, a '-U'
argumentum pedig a felhasználóval azonos nevű csoportot hoz létre/ad hozzá.
12. Hogyan hozzunk létre egy felhasználót meghatározott kezdőlappal, héjjal, megjegyzéssel, UID-vel/GID-vel
A parancs nagyon hasonló a fentihez, de itt '/bin/zshként definiáljuk a shellt, és beállítjuk az egyéni UID és GID értékeket. a „tarunika” felhasználó számára. A '-u'
opció határozza meg az új felhasználó UID-jét (azaz 100), a '-g'
opció pedig a GID-t (pl. , 1000).
useradd -m -d /var/www/tarunika -s /bin/zsh -c "TecMint Technical Writer" -u 1000 -g 100 tarunika
13. Hogyan hozzunk létre egy felhasználót Home, Shell nélkül, megjegyzésekkel és UID-vel
A következő parancs nagyon hasonló a fenti két parancshoz. Az egyetlen különbség az, hogy itt letiltottuk a bejelentkezési shellt az „avishek” nevű, egyéni felhasználói azonosítóval (azaz 1019) rendelkező felhasználónál.
A '-s'
opció az alapértelmezett shellt a /bin/bash értékre állítja, de ebben az esetben a bejelentkezési shellt a következőre állítjuk: '/usr/sbin/ nologin'. Ez azt jelenti, hogy az „avishek” felhasználó nem tud majd bejelentkezni a rendszerbe.
useradd -m -d /var/www/avishek -s /usr/sbin/nologin -c "TecMint Sr. Technical Writer" -u 1019 avishek
14. Hogyan hozzunk létre egy felhasználót egy megadott kezdőlappal, héjjal, csontvázzal és felhasználói azonosítóval
Az egyetlen változás ebben a parancsban, hogy a '-k'
opciót használva az egyéni vázkönyvtárat a /etc/custom.skell értékre állítottuk az alapértelmezett, < helyett./etc/skel. A '-s'
opciót is használtuk egy másik shell, /bin/tcsh meghatározásához a 'navin' felhasználó számára.
useradd -m -d /var/www/navin -k /etc/custom.skell -s /bin/tcsh -c "No Active Member of TecMint" -u 1027 navin
15. Felhasználó létrehozása Home, Shell vagy Group nélkül, megjegyzéssel
A következő parancs nagyon különbözik a fent ismertetett többi parancstól. Itt a '-M'
opciót használva létrehoztunk egy felhasználót a felhasználó saját könyvtára nélkül, a '-N'
opciót pedig arra utasítjuk, hogy a rendszer csak hozzon létre egy felhasználónév (csoport nélkül). A '-r'
opció egy rendszerfelhasználó létrehozására szolgál.
useradd -M -N -r -s /bin/false -c "Disabled TecMint Member" clayton
A „useradd” funkcióval kapcsolatos további információkért és opciókért futtassa a „useradd” parancsot a terminálban az elérhető opciók megtekintéséhez
useradd
Ha módosítani szeretné a felhasználói fiók attribútumait, például módosítani szeretné a felhasználónevet, a felhasználói azonosítót (UID), a saját könyvtárat, a shellt és egyebeket, használja a usermod parancsot.