Dans les articles précédents, vous avez appris les commandes groupadd et groupdel. Dans ce didacticiel, vous découvrirez la commande groupmod.
La commande groupmod sous Linux modifie le groupe donné en changeant son nom ou l'ID de groupe (GID).
La syntaxe de la commande est la suivante :
groupmod [options] GROUP
La modification du groupe est une tâche administrative, c'est pourquoi vous devez être un utilisateur sudo ou utiliser le compte root pour exécuter cette commande.
J'utiliserai sudo dans les exemples de commande groupmod ici.
Changer le nom du groupe avec la commande groupmod
Si vous souhaitez modifier le nom d'un groupe, vous pouvez le faire de cette manière :
sudo groupmod -n new_groupname old_groupname
La bonne chose ici est que même si vous avez changé le nom du groupe, cela n'affecte aucun fichier appartenant au groupe.
Voyons cela par des exemples concrets.
Donc, voici un fichier appartenant à l'utilisateur abhishek et au groupe test_group.
[email protected]:~$ ls -l ab.txt
-rw-r--r-- 1 abhishek test_group 0 Feb 24 16:39 ab.txt
Maintenant, si je modifie le nom du groupe de test_group à testgroup (en supprimant le trait de soulignement du nom)
[email protected]:~$ sudo groupmod -n testgroup test_group
Il "modifie" la propriété du groupe du fichier pour refléter le nouveau nom du groupe :
[email protected]:~$ ls -l ab.txt
-rw-r--r-- 1 abhishek testgroup 0 Feb 24 16:39 ab.txt
En fait, l'ID de groupe reste le même même si le nom du groupe a été modifié. Voyons comment changer l'ID de groupe.
Modifier l'ID de groupe avec la commande groupmod
Vous pouvez modifier le GID d'un groupe de la manière suivante :
sudo groupmod -g GID groupname
Maintenant, c'est une modification risquée et doit être évitée. Tout d'abord, aucune vérification ne sera effectuée concernant les définitions de connexion comme les valeurs GID_MIN, GID_MAX, SYS_GID_MIN, SYS_GID_MAX pour distinguer les groupes système et les groupes normaux.
La deuxième chose, et la plus importante, est que les fichiers appartenant au groupe resteront la propriété du groupe par un groupe inexistant.
Voyez-le dans l'exemple ci-dessous où j'ai changé l'ID de groupe de tests de groupe en 1020 et le fichier appartenant à ce groupe reflète toujours l'ancien GID.
[email protected]:~$ ls -l a.txt
-rw-r--r-- 1 abhishek testing 57 Feb 24 15:57 a.txt
[email protected]:~$ sudo groupmod -g 1020 testing
[email protected]:~$ ls -l a.txt
-rw-r--r-- 1 abhishek 1008 57 Feb 24 15:57 a.txt
Au cas où vous vous poseriez la question, vous pouvez voir le GID dans le fichier /etc/group. Vous pouvez également utiliser la commande id pour afficher le GID, l'UID et d'autres détails.
J'espère que vous comprenez mieux la commande groupmod pour la gestion de groupe sous Linux. Toutes les questions ou suggestions sont les bienvenues.