15 ordres útils Useradd amb exemples a Linux


Tots som conscients de l'ordre més popular anomenada useradd o adduser a Linux. Hi ha vegades que se li demana a un administrador del sistema Linux que creï comptes d'usuari a Linux amb algunes propietats, limitacions o comentaris específics.

[ També us pot agradar: Com crear un directori compartit per a tots els usuaris a Linux ]

A Linux, una ordre useradd és una utilitat de baix nivell que s'utilitza per afegir/crear comptes d'usuari a Linux i altres sistemes operatius semblants a Unix. El adduser és molt semblant a l'ordre useradd perquè només és un enllaç simbòlic.

En algunes altres distribucions de Linux, l'ordre useradd pot venir amb una versió lleugerament diferent. Us suggereixo que llegiu la documentació abans d'utilitzar les nostres instruccions per crear nous comptes d'usuari a Linux.

Quan executem l'ordre useradd al terminal Linux, realitza les següents coses principals:

  • Edita els fitxers /etc/passwd, /etc/shadow, /etc/group i /etc/gshadow per als comptes d'usuari acabats de crear.
  • Crea i omple un directori d'inici per al nou usuari.
  • Defineix els permisos i les propietats al directori d'inici.

La sintaxi bàsica de l'ordre useradd és:

# useradd [options] username

En aquest article, us mostrarem les 15 ordres useradd més utilitzades amb els seus exemples pràctics a Linux. Hem dividit la secció en dues parts, des de l'ús bàsic fins a l'avançat de l'ordre.

  • Part I: Comandes bàsiques d'Add usuari amb 10 exemples
  • Part II: Comandes avançades Useradd amb 5 exemples

1. Com afegir un usuari nou a Linux

Per afegir/crear un usuari nou, heu de seguir l'ordre useradd o adduser amb nom d'usuari. El nom d'usuari és un nom d'inici de sessió d'usuari, que l'utilitza per iniciar sessió al sistema.

Només es pot afegir un usuari i aquest nom d'usuari ha de ser únic (diferent dels altres noms d'usuari que ja existeixen al sistema).

Per exemple, per afegir un usuari nou anomenat tecmint, utilitzeu l'ordre següent.

 useradd tecmint

Quan afegim un usuari nou a Linux amb l'ordre useradd, es crea en un estat bloquejat i per desbloquejar aquest compte d'usuari, hem d'establir una contrasenya per a aquest compte amb l'ordre passwd.

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

Un cop creat un usuari nou, la seva entrada s'afegeix automàticament al fitxer /etc/passwd. El fitxer s'utilitza per emmagatzemar la informació de l'usuari i l'entrada hauria de ser.

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

L'entrada anterior conté un conjunt de set camps separats per dos punts, cada camp té el seu propi significat. Vegem quins són aquests camps:

  • Nom d'usuari: nom d'inici de sessió de l'usuari que s'utilitza per iniciar la sessió al sistema. Ha de tenir entre 1 i 32 caràcters.
  • Contrasenya: contrasenya d'usuari (o caràcters x) emmagatzemat al fitxer /etc/shadow en format xifrat.
  • Identificador d'usuari (UID): cada usuari ha de tenir un número d'identificació d'usuari d'ID d'usuari (UID). Per defecte, l'UID 0 es reserva per a l'usuari root i els UID que van de l'1 al 99 es reserven per a altres comptes predefinits. Altres UID que van de 100 a 999 estan reservats per a comptes i grups del sistema.
  • Identificador de grup (GID): el número d'identificació de grup d'ID de grup (GID) principal emmagatzemat al fitxer /etc/group.
  • Informació de l'usuari: aquest camp és opcional i us permet definir informació addicional sobre l'usuari. Per exemple, el nom complet de l'usuari. Aquest camp s'omple amb l'ordre dit.
  • Directori d'inici: la ubicació absoluta del directori d'inici de l'usuari.
  • Shell: la ubicació absoluta de l'shell d'un usuari, és a dir, /bin/bash.

2. Creeu un usuari amb un directori d'inici diferent

Per defecte, l'ordre useradd crea el directori d'inici d'un usuari al directori /home amb un nom d'usuari. Així, per exemple, hem vist més amunt que el directori d'inici predeterminat de l'usuari tecmint és /home/tecmint.

Tanmateix, aquesta acció es pot canviar utilitzant l'opció '-d' juntament amb la ubicació del nou directori d'inici (és a dir, /data/projects). Per exemple, l'ordre següent crearà un usuari anusha amb un directori inicial /data/projects.

 useradd -d /data/projects anusha
 passwd anusha

Podeu veure el directori d'inici de l'usuari i altra informació relacionada amb l'usuari, com ara l'identificador d'usuari, l'identificador de grup, l'intèrpret d'ordres i els comentaris.

 cat /etc/passwd | grep anusha

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

3. Creeu un usuari amb un ID d'usuari específic

A Linux, cada usuari té el seu propi UID (número d'identificació únic). Per defecte, sempre que creem un compte d'usuari nou a Linux, assigna l'identificador d'usuari 500, 501, 502, etc.

Però, podem crear usuaris amb ID d'usuari personalitzat amb l'opció -u. Per exemple, l'ordre següent crearà un usuari navin amb l'identificador d'usuari personalitzat 1002.

 useradd -u 1002 navin

Ara, verifiquem que l'usuari ha creat amb un identificador d'usuari definit (1002) mitjançant l'ordre següent.

 cat /etc/passwd | grep navin

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

NOTA: Assegureu-vos que el valor d'un ID d'usuari ha de ser únic de qualsevol altre usuari ja creat al sistema.

4. Creeu un usuari amb un ID de grup específic

De la mateixa manera, cada usuari té el seu propi GID (identificador de grup). També podem crear usuaris amb identificadors de grup específics amb l'opció -g.

En aquest exemple, afegirem un usuari tarunika amb un UID i un GID específics simultàniament amb l'ajuda de les opcions -u i -g.

 useradd -u 1005 -g tecmint tarunika

Ara, vegeu l'identificador d'usuari i el grup assignats al fitxer /etc/passwd.

 cat /etc/passwd | grep tarunika

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

Per verificar el GID de l'usuari, utilitzeu l'ordre id:

 id -gn tarunika

5. Afegiu un usuari a diversos grups

L'opció -G s'utilitza per afegir un usuari a grups addicionals. Cada nom de grup està separat per una coma, sense espais intermedis.

En aquest exemple, estem afegint un usuari tecmint a diversos grups com ara administradors, administradors web i desenvolupadors.

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

A continuació, verifiqueu que els diversos grups estiguin assignats a l'usuari amb l'ordre 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

[També us pot agradar: Com afegir o eliminar un usuari d'un grup a Linux]

6. Afegiu un usuari sense Directori d'inici

En algunes situacions, en què no volem assignar directoris d'inici per a un usuari, per motius de seguretat. En aquesta situació, quan un usuari inicia sessió en un sistema que s'acaba de reiniciar, el seu directori d'inici serà root. Quan aquest usuari utilitza l'ordre su, el seu directori d'inici de sessió serà el directori inicial de l'usuari anterior.

Per crear usuaris sense els seus directoris d'inici, s'utilitza '-M'. Per exemple, l'ordre següent crearà un usuari shilpi sense un directori d'inici.

 useradd -M shilpi

Ara, verifiquem que l'usuari s'ha creat sense un directori d'inici mitjançant l'ordre ls.

 ls -l /home/shilpi

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

7. Creeu un usuari amb data de caducitat del compte

De manera predeterminada, quan afegim usuaris amb l'ordre useradd, el compte d'usuari mai no caduca, és a dir, la seva data de caducitat s'estableix en 0 (significa que mai ha caducat).

Tanmateix, podem establir la data de caducitat mitjançant l'opció '-e', que estableix la data en format AAAA-MM-DD. Això és útil per crear comptes temporals per a un període de temps específic.

[ També us pot agradar: Com gestionar la caducitat i l'envelliment de la contrasenya d'usuari a Linux ]

En aquest exemple, creem un usuari aparna amb la data de caducitat del compte, és a dir, el 27 d'agost de 2021 en format AAAA-MM-DD.

 useradd -e 2021-08-27 aparna

A continuació, verifiqueu l'antiguitat del compte i la contrasenya amb l'ordre chage per a l'usuari aparna després d'establir la data de caducitat del compte.

 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. Creeu un usuari amb data de caducitat de la contrasenya

L'argument -f s'utilitza per definir el nombre de dies després que caduca una contrasenya. Un valor de 0 inactiu el compte d'usuari tan bon punt la contrasenya ha caducat. De manera predeterminada, el valor de caducitat de la contrasenya establert en -1 significa que no caducarà mai.

Aquí, en aquest exemple, establirem una data de caducitat de la contrasenya del compte, és a dir, 45 dies en un usuari mansi mitjançant les opcions -e i -f.

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

9. Afegiu un usuari amb comentaris personalitzats

L'opció -c us permet afegir comentaris personalitzats, com ara el nom complet de l'usuari, el número de telèfon, etc. al fitxer /etc/passwd. El comentari es pot afegir com una sola línia sense espais.

Per exemple, l'ordre següent afegirà un usuari mansi i inseriria el nom complet d'aquest usuari, Manis Khurana, al camp de comentaris.

 useradd -c "Manis Khurana" mansi

Podeu veure els vostres comentaris al fitxer '/etc/passwd' a la secció de comentaris.

 tail -1 /etc/passwd

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

10. Creeu l'shell d'inici de sessió d'usuari a Linux

De vegades, afegim usuaris que no tenen res a veure amb l'intèrpret d'ordres d'inici de sessió o de vegades necessitem assignar diferents intèrprets d'ordre als nostres usuaris. Podem assignar diferents shells d'inici de sessió a cada usuari amb l'opció '-s'.

Aquí, en aquest exemple, afegirà un usuari tecmint sense shell d'inici de sessió, és a dir, /sbin/nologin' shell.

 useradd -s /sbin/nologin tecmint

Podeu comprovar l'intèrpret d'ordres assignat a l'usuari al fitxer /etc/passwd.

 tail -1 /etc/passwd

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

11. Afegiu un usuari amb un directori d'inici específic, un shell predeterminat i un comentari personalitzat

L'ordre següent crearà un usuari ravi amb el directori d'inici /var/www/tecmint, shell predeterminat /bin/bash i afegeix informació addicional sobre l'usuari.

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

A l'ordre anterior, l'opció '-m -d' crea un usuari amb un directori d'inici especificat i l'opció '-s' estableix el shell predeterminat de l'usuari, és a dir, /bin/bash. L'opció '-c' afegeix la informació addicional sobre l'usuari i l'argument '-U' crea/afegeix un grup amb el mateix nom que l'usuari.

12. Afegiu un usuari amb Directori d'inici, Shell personalitzat, Comentari personalitzat i UID/GID

L'ordre és molt semblant a l'anterior, però aquí definim l'intèrpret d'ordres com /bin/zsh i UID i GID personalitzats per a un usuari tarunika. On -u defineix l'UID del nou usuari (és a dir, 100) i mentre que -g defineix el GID (és a dir, 1000).

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

13. Afegiu un usuari amb Directori d'inici, Sense Shell, Comentari personalitzat i ID d'usuari

La següent comanda és molt semblant a les dues ordres anteriors, l'única diferència és aquí, que desactivem l'intèrpret d'ordres d'inici de sessió a un usuari anomenat avishek amb un ID d'usuari personalitzat (és a dir, 1019).

Aquí l'opció -s afegeix l'intèrpret d'ordres per defecte /bin/bash, però en aquest cas establim l'inici de sessió a /usr/sbin/nologin. Això significa que l'usuari avishek no podrà iniciar sessió al sistema.

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

14. Afegiu un usuari amb Directori d'inici, Shell, Skell/Comentari personalitzat i ID d'usuari

L'únic canvi en aquesta ordre és que hem utilitzat l'opció -k per establir el directori d'esquelet personalitzat, és a dir, /etc/custom.skell, no el predeterminat /etc/skel. També hem utilitzat l'opció -s per definir un shell diferent, és a dir, /bin/tcsh per a l'usuari navin.

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

15. Afegiu un usuari sense Directori d'inici, Sense Shell, Sense Grup i Comentari personalitzat

L'ordre següent és molt diferent de les altres ordres explicades anteriorment. Aquí hem utilitzat l'opció '-M' per crear un usuari sense el directori d'inici de l'usuari i s'utilitza l'argument '-N' que indica al sistema que només creï un nom d'usuari (sense grup). L'argument -r és per crear un usuari del sistema.

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

Per obtenir més informació i opcions sobre useradd, executeu l'ordre useradd al terminal per veure les opcions disponibles.

# useradd

[També us pot agradar: 15 exemples útils d'ordres Usermod a Linux]