groupadd / groupdel în Linux / Bash

Permisiuni și securitate shadow-utils (pachetul passwd pe Debian/Ubuntu)

Creează, redenumește și șterge grupuri de utilizatori, folosite pentru a da drepturi comune mai multor conturi.

Sintaxă comandă
groupadd [opțiuni] GRUP
groupdel GRUP
groupmod -n NUME_NOU GRUP

Ce face groupadd / groupdel

Un grup Linux adună mai mulți utilizatori sub un singur nume, ca să le poți da aceleași permisiuni pe fișiere și directoare. groupadd adaugă un grup nou în /etc/group (și în /etc/gshadow), groupmod îi schimbă numele sau GID-ul, iar groupdel îl șterge.

Comenzile modifică fișiere de sistem, așa că rulează cu sudo. Crearea grupului nu adaugă pe nimeni în el: membrii se adaugă apoi cu usermod -aG GRUP utilizator. Un grup nu poate fi șters cât timp este grupul principal al unui utilizator.

Opțiuni și argumente

Opțiune / Parametru Descriere
-g GID Alege explicit ID-ul numeric al grupului (altfel se folosește următorul liber).
-r Creează un grup de sistem (GID mic, pentru servicii, nu pentru oameni).
-f Nu dă eroare dacă grupul există deja (util în scripturi care pot rula de mai multe ori).
groupmod -n NOU VECHI Redenumește grupul VECHI în NOU, păstrând GID-ul și membrii.
groupdel GRUP Șterge grupul. Fișierele care aparțineau grupului rămân cu GID-ul numeric vechi.

Exemple

Exemplul 1: Un grup pentru echipa de dezvoltare

Creăm grupul, o adăugăm pe Ana în el și verificăm intrarea din baza de grupuri cu getent.

sudo groupadd dezvoltatori
sudo usermod -aG dezvoltatori ana
getent group dezvoltatori

Ieșire în terminal

dezvoltatori:x:1002:ana

Exemplul 2: Director comun pentru grup

Directorul aparține grupului, iar bitul setgid (2 din 2775) face ca fișierele noi să moștenească grupul.

sudo mkdir /srv/proiect-iasi
sudo chgrp dezvoltatori /srv/proiect-iasi
sudo chmod 2775 /srv/proiect-iasi
ls -ld /srv/proiect-iasi

Ieșire în terminal

drwxrwsr-x 2 root dezvoltatori 4096 Oct 25 10:12 /srv/proiect-iasi

Exemplul 3: Redenumirea și ștergerea unui grup

Ștergerea eșuează dacă grupul este grupul principal al unui cont.

sudo groupmod -n echipa-web dezvoltatori
sudo groupdel ana

Ieșire în terminal

groupdel: cannot remove the primary group of user 'ana'

Greșeli frecvente

  • Așteptarea ca un utilizator deja logat să aibă imediat drepturile noului grup: apartenența se citește la autentificare, așa că trebuie să se delogheze și să se logheze din nou (sau să ruleze newgrp GRUP).
  • Editarea manuală a /etc/group în locul comenzilor dedicate, cu riscul de a strica formatul fișierului sau de a uita /etc/gshadow.

Comenzi înrudite

  • usermod: Modifică proprietățile unui cont existent de utilizator (grupuri, shell, director acasă).
  • groups: Afișează numele tuturor grupurilor din care face parte utilizatorul curent sau cel specificat.
  • chgrp: Schimbă grupul asociat unui fișier sau director.
  • userdel: Șterge un cont de utilizator din sistem și, opțional, directorul lui personal și căsuța de mail.