15 naudingų „UserAdd“ komandų su pavyzdžiais „Linux“.


Visi žinome apie populiariausias Linux komandas, vadinamas useradd arba adduser. Kartais „Linux“ sistemos administratoriaus prašoma sukurti „Linux“ naudotojų paskyras su konkrečiomis savybėmis, apribojimais ar komentarais.

„Linux“ sistemoje komanda „useradd“ yra žemo lygio įrankis, naudojamas naudotojų paskyroms pridėti arba kurti „Linux“ ir kitose „Unix“ tipo operacinėse sistemose. Komanda „adduser“ yra labai panaši į komandą „useradd“, nes tai tik simbolinė nuoroda į ją.

Kai kuriuose „Linux“ platinimuose komandos „useradd“ versija gali būti šiek tiek kitokia. Siūlau perskaityti dokumentaciją prieš naudojantis mūsų instrukcijomis, kaip sukurti naujas vartotojo paskyras sistemoje „Linux“.

Kai „Linux“ terminale paleidžiame komandą „useradd“, ji atlieka šias pagrindines užduotis:

  • Redaguoja /etc/passwd, /etc/shadow, /etc/group, ir /etc/gshadow failai naujai sukurtoms vartotojo paskyroms.
  • Sukuria ir užpildo naujo vartotojo namų katalogą.
  • Nustato pagrindinio katalogo leidimus ir nuosavybės teises.

Naudotojo pridėjimo komandos sintaksė

Pagrindinė komandos „useradd“ sintaksė yra tokia:

useradd [options] username

Šiame straipsnyje pademonstruosime 15 dažniausiai naudojamų komandų „useradd“ su praktiniais Linux sistemoje pavyzdžiais.

1. Kaip pridėti naują vartotoją sistemoje Linux

Norėdami pridėti arba sukurti naują naudotoją, turite naudoti komandą „useradd“ arba „adduser“, po kurios – „naudotojo vardas“. „Vartotojo vardas“ yra prisijungimo vardas, kurį vartotojas naudoja prisijungdamas prie sistemos.

Galima pridėti tik vieną vartotoją, o naudotojo vardas turi būti unikalus ir jo neturi būti sistemoje.

Pavyzdžiui, norėdami pridėti naują naudotoją pavadinimu „tecmint“, naudokite šią komandą:

useradd tecmint

Kai sistemoje „Linux“ pridedame naują naudotoją naudodami komandą „useradd“, jis sukuriamas užrakintas. Norėdami atrakinti tą vartotojo paskyrą, turime nustatyti tos paskyros slaptažodį naudodami komandą passwd.

passwd tecmint

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

Sukūrus naują naudotoją, jo įrašas automatiškai įtraukiamas į failą „/etc/passwd“. Šis failas naudojamas vartotojo informacijai saugoti, o įrašas turėtų būti toks.

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

Pirmiau pateiktame įraše yra septynių dvitaške atskirtų laukų rinkinys, kurių kiekvienas turi savo reikšmę.

Pažiūrėkime, kas yra šie laukai:

  • Vartotojo vardas – vartotojo prisijungimo vardas naudojamas prisijungiant prie sistemos. Jis turėtų būti nuo 1 iki 32 simbolių ilgio.
  • Slaptažodis – vartotojo slaptažodis (arba simbolis x) saugomas faile /etc/shadow šifruotu formatu.
  • Naudotojo ID (UID) – kiekvienas naudotojas turi turėti naudotojo ID (UID), kuris reiškia naudotojo identifikavimo numerį. Pagal numatytuosius nustatymus UID 0 yra rezervuotas pagrindiniam naudotojui, o UID nuo 1 iki 99 yra rezervuoti kitoms iš anksto nustatytoms paskyroms. Be to, UID nuo 100 iki 999 yra rezervuoti sistemos paskyroms ir grupėms.
  • Grupės ID (GID) – pagrindinis grupės ID (GID), kuris reiškia Grupės identifikavimo numerį, saugomas /etc/group“ failą.
  • Naudotojo informacija – šis laukas yra neprivalomas ir leidžia apibrėžti papildomą informaciją apie naudotoją, pvz., visą vartotojo vardą. Šią informaciją galima užpildyti piršto komanda.
  • Pagrindinis katalogas – absoliuti vartotojo namų katalogo vieta.
  • Shell – absoliuti vartotojo apvalkalo vieta, t. y. /bin/bash.

2. Kaip sukurti vartotoją su skirtingu namų katalogu

Pagal numatytuosius nustatymus komanda „useradd“ sukuria naudotojo namų katalogą kataloge „/home“ su naudotojo vardu. Pavyzdžiui, kaip matyti aukščiau, numatytasis vartotojo „tecmint“ namų katalogas yra „/home/tecmint“.

Tačiau šį elgesį galima pakeisti naudojant parinktį „-d“ kartu su naujojo namų katalogo vieta (pvz., „/data/projects“). Pavyzdžiui, ši komanda sukurs naudotoją anusha, kurio pagrindinis katalogas nustatytas į /data/projects.

useradd -d /data/projects anusha
passwd anusha

Galite peržiūrėti vartotojo namų katalogą ir kitą su vartotoju susijusią informaciją, pvz., vartotojo ID, grupės ID, apvalkalą ir komentarus naudodami šią cat komandą.

cat /etc/passwd | grep anusha

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

3. Kaip sukurti vartotoją su konkrečiu vartotojo ID

Linux sistemoje kiekvienas vartotojas turi savo UID (unikalus identifikavimo numeris). Pagal numatytuosius nustatymus, kai sukuriame naują vartotojo paskyrą sistemoje „Linux“, ji priskiria naudotojo ID 500, 501, 502 ir t. t.

Tačiau galime sukurti naudotojus su pasirinktiniais vartotojo ID, naudodami parinktį '-u'. Pavyzdžiui, ši komanda sukurs naudotoją „navin“ su tinkintu vartotojo ID „1002“.

useradd -u 1002 navin

Dabar patikrinkime, ar naudotojas sukūrė nurodytą vartotojo ID (1002), naudodamas šią komandą.

cat /etc/passwd | grep navin

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

PASTABA: įsitikinkite, kad vartotojo ID reikšmė turi būti unikali, palyginti su bet kuriuo kitu sistemoje jau sukurtu naudotoju.

4. Kaip sukurti vartotoją su konkrečia grupės ID

Panašiai kiekvienas naudotojas turi savo GID (Grupės identifikatorius). Taip pat galime sukurti vartotojus su tam tikrais grupės ID, naudodami parinktį '-g'.

Šiame pavyzdyje pridėsime naudotoją „tarunika“ su konkrečiu UID ir GID vienu metu naudodami “- u' ir '-g' parinktis.

useradd -u 1005 -g tecmint tarunika

Dabar patikrinkite priskirtą vartotojo ID ir grupės ID faile „/etc/passwd“.

cat /etc/passwd | grep tarunika

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

Norėdami patikrinti vartotojo GID, naudokite komandą id:

id -gn tarunika

5. Kaip pridėti vartotoją prie kelių grupių

Parinktis '-G' naudojama vartotojui pridėti prie papildomų grupių. Kiekvienas grupės pavadinimas atskiriamas kableliu be tarpų.

Šiame pavyzdyje naudotoją „tecmint“ pridedame prie kelių grupių, pvz., administratorių, žiniatinklio administratorių ir kūrėjų..

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

Tada patikrinkite, ar kelios grupės priskirtos vartotojui naudojant komandą 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. Kaip pridėti vartotoją be namų katalogo

Tam tikrose situacijose, kai nenorime priskirti vartotojui namų katalogų dėl saugumo priežasčių, vartotojo namų katalogas bus root, kai jis prisijungs prie ką tik iš naujo paleistos sistemos. Kai toks vartotojas naudoja komandą su, jo prisijungimo katalogas bus ankstesnio vartotojo namų katalogas.

Norint sukurti vartotojus be jų namų katalogų, naudojama parinktis '-M'. Pavyzdžiui, ši komanda sukurs vartotoją „shilpi“ be namų katalogo.

useradd -M shilpi

Dabar patikrinkime, ar vartotojas sukurtas be namų katalogo, naudojant komandą ls.

ls -l /home/shilpi

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

7. Kaip sukurti vartotoją, kurio galiojimo laikas baigiasi Linux sistemoje

Pagal numatytuosius nustatymus, kai pridedame naudotojus naudodami komandą „useradd“, naudotojo paskyros galiojimo laikas niekada nesibaigia, o tai reiškia, kad jų galiojimo laikas nustatomas į 0 (tai reiškia, kad jis niekada nepasibaigė).

Tačiau galime nustatyti galiojimo pabaigos datą naudodami '-e' parinktį, kuri turi būti YYYY-MM-DD formatu. Tai naudinga kuriant laikinas paskyras tam tikram laikotarpiui.

Šiame pavyzdyje sukuriame naudotoją aparna, kurio paskyros galiojimo pabaigos data yra 2021 m. rugpjūčio 27 d. YYYY-MM-DD > formatą.

useradd -e 2021-08-27 aparna

Tada, nustatę paskyros galiojimo pabaigos datą, patvirtinkite paskyros ir slaptažodžio senėjimo informaciją naudodami komandą „pakeisti“, skirtą naudotojui „aparna“.

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. Kaip sukurti vartotoją su slaptažodžio galiojimo data

Argumentas '-f' naudojamas apibrėžti dienų skaičių po slaptažodžio galiojimo pabaigos. Vertė 0 išjungia vartotojo abonementą, kai tik baigiasi slaptažodžio galiojimo laikas. Pagal numatytuosius nustatymus slaptažodžio galiojimo pabaigos reikšmė nustatyta į -1, o tai reiškia, kad ji niekada nesibaigia.

Šiame pavyzdyje nustatysime paskyros slaptažodžio galiojimo pabaigos datą, kuri yra 45 dienos, naudotojui „mansi“, naudojant „-e“ ir '-f' parinktis.

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

9. Kaip pridėti vartotoją su komentarais Linux sistemoje

Parinktis „-c“ leidžia į failą „/etc/passwd“ pridėti tinkintų komentarų, pvz., visą naudotojo vardą, telefono numerį ir kt. Komentarą galima pridėti kaip vieną eilutę be tarpų.

Pavyzdžiui, ši komanda pridės naudotoją „mansi“ ir į komentaro lauką įterps visą to vartotojo vardą Manis Khurana.

useradd -c "Manis Khurana" mansi

Įterptą komentarą galite peržiūrėti komentarų skilties faile „/etc/passwd“, naudodami komandą „tail“.

tail -1 /etc/passwd

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

10. Kaip sukurti vartotojo prisijungimo apvalkalą sistemoje Linux

Kartais pridedame naudotojus, kurie neturi nieko bendra su prisijungimo apvalkalu, arba kartais turime priskirti skirtingus apvalkalus savo vartotojams. Kiekvienam vartotojui galime priskirti skirtingus prisijungimo apvalkalus naudodami „-s“ parinktį.

Šiame pavyzdyje bus pridėtas vartotojas „tecmint“ be prisijungimo apvalkalo, t. y. „/sbin/nologin“.

useradd -s /sbin/nologin tecmint

Galite patikrinti vartotojui priskirtą apvalkalą „/etc/passwd“ faile.

tail -1 /etc/passwd

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

11. Kaip sukurti vartotoją su nurodytais namais, apvalkalu ir komentarais

Ši komanda sukurs naudotoją „ravi“ su namų katalogu „/var/www/tecmint“, numatytuoju apvalkalu /bin/bash . ir papildomos informacijos apie vartotoją.

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

Aukščiau pateiktoje komandoje parinktys '-m' ir '-d' sukuria vartotoją su nurodytu namų katalogu, o '-s' parinktis nustato numatytąjį vartotojo apvalkalą į /bin/bash. Parinktis '-c' prideda papildomos informacijos apie vartotoją, o argumentas '-U' sukuria/prideda grupę tokiu pat pavadinimu kaip ir naudotojas.

12. Kaip sukurti vartotoją su apibrėžtu namų pavadinimu, apvalkalu, komentaru, UID/GID

Komanda labai panaši į aukščiau pateiktą, bet čia apibrėžiame apvalkalą kaip „/bin/zsh“ ir nustatome tinkintus UID ir GID vartotojui „tarunika“. Parinktis '-u' apibrėžia naujo vartotojo UID (t. y. 100), o parinktis '-g' apibrėžia GID (t. y. , 1000).

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

13. Kaip sukurti vartotoją su „Home“, „No Shell“, „Comment“ ir UID

Ši komanda yra labai panaši į dvi aukščiau pateiktas komandas. Vienintelis skirtumas yra tas, kad čia išjungėme vartotojo, vadinamo avishek, turinčio tinkintą vartotojo ID (t. y. 1019), prisijungimo apvalkalą.

Parinktis '-s' nustato numatytąjį apvalkalą į /bin/bash, tačiau šiuo atveju mes nustatome prisijungimo apvalkalą į /usr/sbin/ nologin“. Tai reiškia, kad vartotojas „avishek“ negalės prisijungti prie sistemos.

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

14. Kaip sukurti vartotoją su nurodytu namu, apvalkalu, skeletu ir UID

Vienintelis šios komandos pakeitimas yra tas, kad naudojome parinktį '-k', norėdami nustatyti tinkintą skeleto katalogą /etc/custom.skell, o ne numatytąjį, /etc/skel. Taip pat naudojome parinktį '-s', norėdami apibrėžti kitą apvalkalą /bin/tcsh, skirtą naudotojui navin.

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

15. Kaip sukurti vartotoją be namų, apvalkalo ar grupės su komentaru

Ši komanda labai skiriasi nuo kitų aukščiau paaiškintų komandų. Čia mes panaudojome parinktį '-M', kad sukurtume vartotoją be vartotojo namų katalogo, o parinktis '-N' naudojama nurodyti sistemai tik kurti vartotojo vardas (be grupės). Parinktis '-r' skirta sistemos vartotojui sukurti.

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

Norėdami gauti daugiau informacijos ir parinkčių apie „useradd“, terminale paleiskite komandą „useradd“, kad pamatytumėte galimas parinktis

useradd

Jei norite modifikuoti vartotojo abonemento atributus, pvz., pakeisti vartotojo vardą, vartotojo ID (UID), namų katalogą, apvalkalą ir kt., naudokite komandą usermod.