Aquesta és la segona part de la fitxa d’adduser. A la primera tens com crear un usuari normal i les opcions principals. Aquí veurem els altres usos del paquet adduser de Debian i Ubuntu: afegir usuaris a grups, crear grups i usuaris de sistema, i la seva parella, deluser, per esborrar-los.
Recorda que tot això és específic de Debian i derivades. A RHEL, Rocky, AlmaLinux i Fedora, adduser és un simple enllaç a useradd i aquestes formes no funcionen.
Els cinc modes d’adduser
| Comanda | Què fa |
|---|---|
adduser usuari | Crea un usuari normal (interactiu) |
adduser --system usuari | Crea un usuari de sistema per a un servei |
addgroup grup (o adduser --group grup) | Crea un grup |
addgroup --system grup | Crea un grup de sistema |
adduser usuari grup | Afegeix un usuari que ja existeix a un grup que ja existeix |
addgroup és el mateix programa que adduser (és un enllaç), però en mode «crear grup».
Afegir un usuari a un grup
sudo adduser joan sudo
Amb dos arguments, adduser no crea res: afegeix joan al grup sudo com a grup secundari. És equivalent a sudo usermod -aG sudo joan o sudo gpasswd -a joan sudo. Si l’usuari ja hi és, només en mostra un avís.
Per a diversos grups, repeteix la comanda o fes servir usermod:
sudo usermod -aG dialout,plugdev joan
Com sempre que canvien els grups, el canvi s’aplica a les sessions noves: l’usuari ha de sortir i tornar a entrar.
Crear un grup
sudo addgroup projecte
Tria el primer GID lliure del rang d’usuaris (a partir de 1000). Amb --gid pots fixar-lo:
sudo addgroup --gid 2001 vendes
El grup es crea buit; hi afegeixes membres amb adduser usuari grup.
Usuaris i grups de sistema
Els usuaris de sistema són per a serveis i programes, no per a persones. adduser --system ho fa tot de manera segura per defecte:
- UID del rang de sistema (100-999).
- Shell
/usr/sbin/nologin: no pot iniciar sessió. - Sense contrasenya.
- Directori personal
/nonexistent(que no existeix ni es crea), si no n’indiques cap amb--home. - Grup primari
nogroup, si no demanes un grup propi amb--group.
Exemple: un usuari per a una aplicació que guarda les dades a /var/lib/lamevaapp:
sudo adduser --system --group --home /var/lib/lamevaapp lamevaapp
--group crea un grup de sistema amb el mateix nom i el posa com a primari. Si el directori indicat a --home no existeix, el crea.
Una cosa interessant d’adduser --system: si l’usuari de sistema ja existeix amb aquestes característiques, no dona error. Per això és el que fan servir els paquets de Debian als seus scripts d’instal·lació.
deluser i delgroup: esborrar
La parella d’adduser és deluser (i delgroup), del mateix paquet.
| Comanda | Què fa |
|---|---|
deluser usuari | Esborra l’usuari, però conserva el seu directori personal |
deluser --remove-home usuari | Esborra l’usuari i el seu directori personal |
deluser --remove-all-files usuari | Esborra l’usuari i tots els seus fitxers de qualsevol lloc del sistema |
deluser --backup --remove-home usuari | Fa una còpia comprimida dels fitxers abans d’esborrar-los |
deluser usuari grup | Treu l’usuari del grup (no l’esborra) |
delgroup grup | Esborra un grup |
delgroup --only-if-empty grup | Només esborra el grup si no té membres |
Exemples:
# Treure joan del grup sudo
sudo deluser joan sudo
# Donar de baixa un usuari guardant-ne una còpia
sudo deluser --backup --remove-home maria
La còpia es desa al directori actual, si no n’indiques un altre amb --backup-to.
Compte amb…
deluser --remove-all-filesrecorre tot el sistema buscant fitxers de l’usuari: pot trigar molt i esborrar coses que no esperaves (fitxers seus dins de directoris compartits, per exemple). Fes servir--backupsi tens dubtes.- Abans d’esborrar un usuari, revisa si té processos en marxa (
ps -u maria), tasques alcrontabo serveis que depenguin d’ell. - No esborris usuaris de sistema que hagi creat un paquet: si desinstal·les el paquet, ja s’encarregarà ell (o els deixarà a propòsit, per no deixar fitxers sense propietari).
Comandes relacionades
adduser: crear usuaris (primera part).useradd: l’alternativa de baix nivell, a qualsevol distribució.- Diferències entre
adduseriuseradd usermod -aG: afegir un usuari a diversos grups.groupadd,groupmodigroupdel: gestionar grups a qualsevol distribució.