15 korisnih Useradd naredbi s primjerima u Linuxu


Svi znamo za najpopularnije naredbe pod nazivom ‘useradd’ ili ‘adduser’ u Linuxu. Ponekad se od administratora Linux sustava traži da stvori korisničke račune na Linuxu s određenim svojstvima, ograničenjima ili komentarima.

U Linuxu, naredba ‘useradd’ je uslužni program niske razine koji se koristi za dodavanje ili stvaranje korisničkih računa u Linuxu i drugim operativnim sustavima sličnim Unixu. Naredba ‘adduser’ vrlo je slična naredbi ‘useradd’ jer je samo simbolična poveznica na nju.

U nekim distribucijama Linuxa naredba ‘useradd’ može imati nešto drugačiju verziju. Predlažem da pročitate vašu dokumentaciju prije korištenja naših uputa za stvaranje novih korisničkih računa u Linuxu.

Kada pokrenemo naredbu ‘useradd’ na Linux terminalu, ona obavlja sljedeće glavne zadatke:

  • Uređuje /etc/passwd, /etc/shadow, /etc/group, i /etc/gshadow datoteke za novostvorene korisničke račune.
  • Stvara i popunjava matični imenik za novog korisnika.
  • Postavlja dopuštenja i vlasništvo nad matičnim imenikom.

Sintaksa naredbe Useradd

Osnovna sintaksa naredbe ‘useradd’ je:

useradd [options] username

U ovom ćemo članku demonstrirati 15 najčešće korištenih naredbi ‘useradd’ s praktičnim primjerima u Linuxu.

1. Kako dodati novog korisnika u Linuxu

Da biste dodali ili stvorili novog korisnika, morate upotrijebiti naredbu ‘useradd’ ili ‘adduser’ nakon koje slijedi ‘username’. ‘korisničko ime’ je ime za prijavu koje korisnik koristi za prijavu u sustav.

Može se dodati samo jedan korisnik, a korisničko ime mora biti jedinstveno i ne smije već postojati u sustavu.

Na primjer, za dodavanje novog korisnika pod imenom ‘tecmint’ koristite sljedeću naredbu:

useradd tecmint

Kada dodamo novog korisnika u Linux s naredbom ‘useradd’, on se stvara u zaključanom stanju. Da bismo otključali taj korisnički račun, moramo postaviti lozinku za taj račun pomoću naredbe ‘passwd’.

passwd tecmint

Changing password for user tecmint.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

Nakon što se stvori novi korisnik, njegov se unos automatski dodaje u datoteku ‘/etc/passwd’. Ova se datoteka koristi za pohranjivanje korisničkih podataka, a unos bi trebao biti.

tecmint:x:1000:1000:tecmint:/home/tecmint:/bin/bash

Gornji unos sadrži skup od sedam polja odvojenih dvotočkom, a svako polje ima svoje značenje.

Pogledajmo koja su to polja:

  • Korisničko ime – Korisničko ime za prijavu koristi se za prijavu u sustav. Treba imati između 1 i 32 znaka.
  • Lozinka – Korisnička zaporka (ili znak 'x') pohranjena je u datoteci '/etc/shadow' u šifriranom formatu.
  • Korisnički ID (UID) – Svaki korisnik mora imati korisnički ID (UID), što je kratica za korisnički identifikacijski broj. Prema zadanim postavkama, UID 0 rezerviran je za root korisnika, a UID-ovi u rasponu od 1 do 99 rezervirani su za druge unaprijed definirane račune. Dodatno, UID-ovi u rasponu od 100 do 999 rezervirani su za sistemske račune i grupe.
  • ID grupe (GID) – primarni ID grupe (GID), koji označava Identifikacijski broj grupe, pohranjen je u ' /etc/group' datoteku.
  • Informacije o korisniku – ovo polje nije obavezno i omogućuje vam da definirate dodatne informacije o korisniku, kao što je puno ime korisnika. Ovi se podaci mogu ispuniti pomoću naredbe finger.
  • Kutni imenik – apsolutna lokacija korisničkog matičnog imenika.
  • Ljuska – apsolutna lokacija korisničke ljuske, tj. /bin/bash.

2. Kako stvoriti korisnika s drugim matičnim imenikom

Prema zadanim postavkama, naredba ‘useradd’ stvara korisnički matični direktorij u direktoriju ‘/home’ s korisničkim imenom. Na primjer, kao što se vidi gore, zadani početni direktorij za korisnika 'tecmint' je '/home/tecmint'.

Međutim, ovo se ponašanje može promijeniti korištenjem opcije '-d' zajedno s lokacijom novog matičnog direktorija (npr. ‘/data/projects’). Na primjer, sljedeća naredba stvorit će korisnika 'anusha' s početnim imenikom postavljenim na '/data/projects'.

useradd -d /data/projects anusha
passwd anusha

Pomoću sljedeće naredbe cat možete vidjeti korisnički matični direktorij i druge informacije vezane uz korisnika, kao što su ID korisnika, ID grupe, ljuska i komentari.

cat /etc/passwd | grep anusha

anusha:x:1001:1001::/data/projects:/bin/bash

3. Kako stvoriti korisnika s određenim ID-om korisnika

U Linuxu svaki korisnik ima svoj UID (Jedinstveni identifikacijski broj). Prema zadanim postavkama, kada kreiramo novi korisnički račun u Linuxu, on dodjeljuje korisničke ID-ove 500, 501, 502 i tako dalje.

Međutim, možemo stvoriti korisnike s prilagođenim korisničkim ID-ovima pomoću opcije '-u'. Na primjer, sljedeća naredba će stvoriti korisnika ‘navin’ s prilagođenim ID-om korisnika ‘1002’.

useradd -u 1002 navin

Sada provjerimo je li korisnik kreirao s definiranim korisničkim imenom (1002) pomoću sljedeće naredbe.

cat /etc/passwd | grep navin

navin:x:1002:1002::/home/navin:/bin/bash

NAPOMENA: Provjerite mora li vrijednost korisničkog ID-a biti jedinstvena od bilo kojeg drugog već stvorenog korisnika u sustavu.

4. Kako stvoriti korisnika s određenim ID-om grupe

Slično tome, svaki korisnik ima vlastiti GID (Identifikator grupe). Možemo kreirati i korisnike s određenim grupnim ID-ovima koristeći opciju '-g'.

U ovom primjeru dodat ćemo korisnika 'tarunika' s određenim UID-om i GID-om istovremeno uz pomoć '- opcije u' i '-g'.

useradd -u 1005 -g tecmint tarunika

Sada provjerite dodijeljeni ID korisnika i ID grupe u datoteci '/etc/passwd'.

cat /etc/passwd | grep tarunika

tarunika:x:1005:1000::/home/tarunika:/bin/bash

Za provjeru GID-a korisnika upotrijebite naredbu id:

id -gn tarunika

5. Kako dodati korisnika u više grupa

Opcija '-G' koristi se za dodavanje korisnika u dodatne grupe. Svaki naziv grupe odvojen je zarezom, bez razmaka.

U ovom primjeru dodajemo korisnika 'tecmint' u više grupa, kao što su admini, webadmin i developeri.

groupadd admins
groupadd webadmin
groupadd developers
usermod -a -G admins,webadmin,developers tecmint
useradd -G admins,webadmin,developers paddy

Zatim provjerite jesu li više grupa dodijeljene korisniku pomoću naredbe id.

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. Kako dodati korisnika bez matičnog imenika

U određenim situacijama, kada ne želimo dodijeliti početne direktorije za korisnika zbog sigurnosnih razloga, korisnikov početni direktorij će biti root kada se prijavi na sustav koji se upravo ponovno pokrenuo. Kada takav korisnik koristi naredbu ‘su’, njegov direktorij za prijavu bit će početni direktorij prethodnog korisnika.

Za stvaranje korisnika bez njihovih matičnih direktorija koristi se opcija '-M'. Na primjer, sljedeća naredba će stvoriti korisnika ‘shilpi’ bez matičnog imenika.

useradd -M shilpi

Sada provjerimo je li korisnik stvoren bez matičnog direktorija pomoću naredbe ls.

ls -l /home/shilpi

ls: cannot access /home/shilpi: No such file or directory

7. Kako stvoriti korisnika s datumom isteka u Linuxu

Prema zadanim postavkama, kada dodamo korisnike naredbom ‘useradd’, korisnički račun nikada ne ističe, što znači da je njihov datum isteka postavljen na 0 (što znači da nikada nije istekao).

Međutim, možemo postaviti datum isteka pomoću opcije '-e', koja bi trebala biti u formatu GGGG-MM-DD. Ovo je korisno za stvaranje privremenih računa za određeno vremensko razdoblje.

U ovom primjeru stvaramo korisnika 'aparna' s datumom isteka računa, koji je 27. kolovoza 2021., u GGGG-MM-DD format.

useradd -e 2021-08-27 aparna

Zatim provjerite informacije o starenju računa i lozinke pomoću naredbe ‘chage’ za korisnika ‘aparna’ nakon postavljanja datuma isteka računa.

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. Kako stvoriti korisnika s datumom isteka lozinke

Argument '-f' koristi se za definiranje broja dana nakon isteka lozinke. Vrijednost 0 deaktivira korisnički račun čim lozinka istekne. Prema zadanim postavkama, vrijednost isteka lozinke postavljena je na -1, što znači da nikada ne ističe.

U ovom primjeru, postavit ćemo datum isteka lozinke računa, koji je 45 dana, za korisnika 'mansi' koristeći '-e' i '-f' opcije.

useradd -e 2014-04-27 -f 45 mansi

9. Kako dodati korisnika s komentarima u Linuxu

Opcija '-c' omogućuje vam dodavanje prilagođenih komentara, kao što je puno ime korisnika, broj telefona itd., u datoteku '/etc/passwd'. Komentar se može dodati kao jedan redak bez razmaka.

Na primjer, sljedeća naredba će dodati korisnika 'mansi' i umetnuti puno ime tog korisnika, Manis Khurana, u polje za komentar.

useradd -c "Manis Khurana" mansi

Možete vidjeti umetnuti komentar u datoteci ‘/etc/passwd’ u odjeljku komentara pomoću naredbe tail.

tail -1 /etc/passwd

mansi:x:1010:1013:Manis Khurana:/home/mansi:/bin/sh

10. Kako stvoriti ljusku za prijavu korisnika u Linuxu

Ponekad dodajemo korisnike koji nemaju nikakve veze s ljuskom za prijavu ili ponekad moramo dodijeliti različite ljuske našim korisnicima. Svakom korisniku možemo dodijeliti različite ljuske za prijavu pomoću opcije ‘-s’.

Ovdje u ovom primjeru, dodati će korisnika ‘tecmint’ bez ljuske za prijavu, tj. ‘/sbin/nologin’ ljuske.

useradd -s /sbin/nologin tecmint

Možete provjeriti dodijeljenu ljusku korisniku u datoteci '/etc/passwd'.

tail -1 /etc/passwd

tecmint:x:1011:1014::/home/tecmint:/sbin/nologin

11. Kako stvoriti korisnika s navedenim naslovom, ljuskom i komentarom

Sljedeća naredba stvorit će korisnika 'ravi' s početnim imenikom '/var/www/tecmint', zadanom ljuskom /bin/bash i dodatne informacije o korisniku.

useradd -m -d /var/www/ravi -s /bin/bash -c "TecMint Owner" -U ravi

U gornjoj naredbi, opcije '-m' i '-d' stvaraju korisnika s određenim matičnim direktorijem, a '-s' opcija postavlja korisnikovu zadanu ljusku na /bin/bash. Opcija '-c' dodaje dodatne informacije o korisniku, a argument '-U' stvara/dodaje grupu s istim imenom kao i korisnik.

12. Kako stvoriti korisnika s definiranim domom, ljuskom, komentarom, UID-om/GID-om

Naredba je vrlo slična gornjoj, ali ovdje definiramo ljusku kao '/bin/zsh' i postavljamo prilagođene UID i GID za korisnika 'tarunika'. Opcija '-u' definira UID novog korisnika (tj. 100), a opcija '-g' definira GID (tj. , 1000).

useradd -m -d /var/www/tarunika -s /bin/zsh -c "TecMint Technical Writer" -u 1000 -g 100 tarunika

13. Kako stvoriti korisnika s domom, bez ljuske, komentarom i UID-om

Sljedeća naredba vrlo je slična gornjim dvjema naredbama. Jedina razlika je u tome što smo ovdje onemogućili ljusku za prijavu za korisnika koji se zove 'avishek' s prilagođenim ID-om korisnika (tj. 1019).

Opcija '-s' postavlja zadanu ljusku na /bin/bash, ali u ovom slučaju postavljamo ljusku za prijavu na '/usr/sbin/ nologin'. To znači da se korisnik ‘avishek’ neće moći prijaviti u sustav.

useradd -m -d /var/www/avishek -s /usr/sbin/nologin -c "TecMint Sr. Technical Writer" -u 1019 avishek

14. Kako stvoriti korisnika s određenim domom, školjkom, kosturom i UID-om

Jedina promjena u ovoj naredbi je da smo upotrijebili opciju '-k' za postavljanje prilagođenog direktorija kostura na /etc/custom.skell umjesto zadanog, /etc/skel. Također smo upotrijebili opciju '-s' za definiranje različite ljuske, /bin/tcsh, za korisnika 'navin'.

useradd -m -d /var/www/navin -k /etc/custom.skell -s /bin/tcsh -c "No Active Member of TecMint" -u 1027 navin

15. Kako stvoriti korisnika bez doma, ljuske ili grupe, s komentarom

Sljedeća naredba se jako razlikuje od ostalih gore objašnjenih naredbi. Ovdje smo upotrijebili opciju '-M' za stvaranje korisnika bez korisničkog matičnog direktorija, a opcija '-N' se koristi za naredbu sustavu da samo kreira korisničko ime (bez grupe). Opcija '-r' služi za stvaranje korisnika sustava.

useradd -M -N -r -s /bin/false -c "Disabled TecMint Member" clayton

Za više informacija i opcija o ‘useradd’, pokrenite naredbu ‘useradd’ na terminalu da biste vidjeli dostupne opcije

useradd

Ako želite modificirati atribute korisničkog računa kao što je modificiranje korisničkog imena, korisničkog ID-a (UID), matičnog direktorija, ljuske i više, koristite naredbu usermod.