Per crear usuaris a Linux tens dues comandes amb noms gairebé idèntics: adduser i useradd. Totes dues creen comptes, però no funcionen igual, i el que fa adduser depèn molt de la distribució. En aquest article t’explico les diferències reals i quan convé fer servir cadascuna.
La diferència clau: depèn de la distribució
useraddés l’eina de baix nivell del paquet shadow. És present a totes les distribucions i es comporta de manera semblant a totes: no pregunta res i fa només el que li indiques amb opcions.adduserés diferent segons on siguis: – A Debian, Ubuntu, Raspberry Pi OS i derivades és un programa propi (un script de Perl del paquetadduser), interactiu, que aplica la política de Debian i que per sota acaba cridantuseradd. – A RHEL, Rocky, AlmaLinux i Fedora és simplement un enllaç auseradd:adduser joanés exactament el mateix queuseradd joan. – A Arch Linux no ve instal·lat de sèrie.
Ho pots comprovar a qualsevol sistema de la família Red Hat:
$ ls -l /usr/sbin/adduser
lrwxrwxrwx 1 root root 7 /usr/sbin/adduser -> useradd
Per tant, la comparació següent té sentit sobretot a Debian i Ubuntu.
Comparació a Debian i Ubuntu
| Característica | adduser | useradd |
|---|---|---|
| Interacció | Interactiu: pregunta la contrasenya i el nom complet | No pregunta res |
| Directori personal | El crea sempre i hi copia /etc/skel | Només amb -m |
| Permisos del directori personal | 700 (configurable a /etc/adduser.conf) | Segons HOME_MODE o UMASK de /etc/login.defs |
| Contrasenya | La demana en crear l’usuari | Cap; cal fer passwd després |
| Shell | /bin/bash (variable DSHELL) | El de /etc/default/useradd (useradd -D el mostra) |
| Nom complet (camp GECOS) | El pregunta, o --comment "..." | -c "..." |
| Afegir un usuari existent a un grup | adduser joan sudo | No; cal usermod -aG sudo joan |
| Usuaris de sistema | adduser --system, amb valors segurs per defecte | useradd -r (cal indicar shell, directori…) |
| Configuració | /etc/adduser.conf | /etc/login.defs i /etc/default/useradd |
| Disponibilitat | Debian i derivades | Totes les distribucions |
Exemples equivalents
Crear l’usuari joan amb directori personal, Bash i contrasenya.
Amb adduser (Debian/Ubuntu):
sudo adduser joan
Amb useradd (qualsevol distribució):
sudo useradd -m -s /bin/bash -c "Joan Puig" joan
sudo passwd joan
Crear-lo sense cap pregunta, per a un script:
# adduser (Debian/Ubuntu)
sudo adduser --disabled-password --comment "Joan Puig" joan
# useradd (qualsevol)
sudo useradd -m -s /bin/bash -c "Joan Puig" joan
Donar-li permisos de sudo:
sudo adduser joan sudo # Debian/Ubuntu
sudo usermod -aG sudo joan # qualsevol (a RHEL/Fedora, el grup és wheel)
Un error habitual: useradd -p amb la contrasenya en clar
Moltes guies proposen això:
useradd -m -p "contrasenya_segura" joan # MALAMENT
No funciona com s’espera: -p vol la contrasenya ja xifrada (un hash). Si hi poses el text en clar, es desa tal qual a /etc/shadow i l’usuari no podrà entrar amb aquesta contrasenya. A més, queda visible a l’historial de Bash i a la llista de processos. Fes-ho així:
sudo useradd -m -s /bin/bash joan
echo 'joan:contrasenya_segura' | sudo chpasswd
Quan fer servir cadascuna
adduser, si treballes amb Debian, Ubuntu o derivades i:
- Crees usuaris a mà, d’un en un.
- Vols que el sistema apliqui els valors recomanats (directori privat, grup propi,
/etc/skel) sense recordar opcions. - Has d’afegir un usuari a un grup (
adduser usuari grup).
useradd, quan:
- Escrius scripts que han de funcionar a qualsevol distribució.
- Necessites controlar cada detall amb opcions.
- Treballes amb RHEL, Rocky, Fedora o Arch (on és, de fet, l’única opció).
Altres parelles semblants
El paquet adduser de Debian també inclou addgroup, deluser i delgroup, que són les versions «amigables» de groupadd, userdel i groupdel. En tens els detalls a la segona part de la fitxa d’adduser.
Comandes relacionades
adduser: fitxa completa.useradd: fitxa completa.usermod: modificar usuaris existents.passwd: gestionar contrasenyes.- Usuaris i grups a Linux: els conceptes bàsics.
- Automatitzar la creació d’usuaris amb scripts de Bash