Dans ce tutoriel, nous allons apprendre à créer un groupe sous Linux en utilisant groupadd commande.
Qu'est-ce qu'un groupe Linux ?
Un groupe Linux est utilisé pour gérer les privilèges d'un utilisateur. Nous pouvons définir un ensemble de privilèges pour un groupe, tels que l'accès en lecture et en écriture à une ressource spécifique. Ensuite, tous les utilisateurs du groupe obtiennent automatiquement l'accès à cette ressource.
En termes simples, un groupe est un ensemble d'utilisateurs. Cela nous aide à accorder rapidement des privilèges à un groupe d'utilisateurs. Par exemple, "sudo" est un groupe et tout utilisateur de ce groupe obtient automatiquement les privilèges de superutilisateur.
Comment créer un groupe sous Linux ?
La commande Linux groupadd est utilisée pour créer un groupe sous Linux. C'est une commande spécifique à Linux et elle peut être utilisée dans toutes les distributions telles que Ubuntu, CentOS et Debian.
Syntaxe de la commande Linux groupadd
La syntaxe de la commande groupadd est :
groupadd [options] GROUP
Regardons quelques exemples pour comprendre l'utilisation de la commande groupadd et ses différentes options.
Créer un groupe Linux
La commande groupadd peut être exécutée par l'utilisateur root ou en tant que superutilisateur utilisant les privilèges sudo.
root@localhost:~# groupadd test_users
Si le groupe est créé, il n'y aura pas de message d'erreur ou de réussite.
Les informations sur les groupes sont stockées dans /etc/group
dossier. Nous pouvons vérifier ce fichier pour les informations de groupe nouvellement créées.
root@localhost:~# cat /etc/group | grep test_users test_users:x:1004: root@localhost:~#
Le nombre ci-dessus indique l'identifiant du groupe, qui est une valeur entière. On peut aussi utiliser le getent
commande pour obtenir les détails du groupe.
root@localhost:~# getent group test_users test_users:x:1004:journaldev root@localhost:~#
Erreur si le groupe existe déjà
Si le groupe existe déjà, le message d'erreur s'affiche. Exécutons à nouveau la commande ci-dessus.
root@localhost:~# groupadd test_users groupadd: group 'test_users' already exists root@localhost:~#
Création d'un groupe avec ID de groupe
Nous pouvons également spécifier l'identifiant du groupe lors de la création du groupe à l'aide de l'option -g.
root@localhost:~# groupadd -g 1005 test_users1 root@localhost:~# cat /etc/group | grep 1005 test_users1:x:1005: root@localhost:~#
Si l'identifiant de groupe est déjà utilisé, vous recevrez un message d'erreur.
root@localhost:~# groupadd -g 1005 test_users2 groupadd: GID '1005' already exists root@localhost:~#
Linux groupadd Force Success Option
Nous pouvons spécifier l'option -f ou –force pour sortir avec succès si le groupe existe déjà.
root@localhost:~# groupadd -f test_users root@localhost:~#
Si nous créons un groupe avec l'option forcer le succès et que l'identifiant du groupe existe déjà, l'identifiant du groupe est ignoré et le groupe est créé.
root@localhost:~# groupadd -f -g 1005 test_users2 root@localhost:~# cat /etc/group | grep test_users2 test_users2:x:1006: root@localhost:~#
Notez que le groupe Linux est créé avec un ID de groupe différent car nous avons utilisé l'option -f.
Aide groupadd Linux
Si vous souhaitez obtenir de l'aide sur l'utilisation de la commande groupadd, utilisez l'option -h.
root@localhost:~# groupadd -h Usage: groupadd [options] GROUP Options: -f, --force exit successfully if the group already exists, and cancel -g if the GID is already used -g, --gid GID use GID for the new group -h, --help display this help message and exit -K, --key KEY=VALUE override /etc/login.defs defaults -o, --non-unique allow to create groups with duplicate (non-unique) GID -p, --password PASSWORD use this encrypted password for the new group -r, --system create a system account -R, --root CHROOT_DIR directory to chroot into --extrausers Use the extra users database root@localhost:~#
Option Linux groupadd -K
Nous pouvons utiliser l'option -K pour remplacer les valeurs GID_MIN et GID_MAX présentes dans le fichier /etc/login.defs.
Cela signifie que le nouvel identifiant de groupe sera extrait de la plage fournie à l'aide de l'option -K. Regardons un exemple pour bien comprendre cette fonctionnalité.
root@localhost:~# cat /etc/login.defs | grep GID GID_MIN 1000 GID_MAX 60000 root@localhost:~# root@localhost:~# groupadd -K GID_MIN=20000 -K GID_MAX=21000 test_users6 root@localhost:~# cat /etc/group | grep test_users6 test_users6:x:20000: root@localhost:~#
Si vous regardez les commandes précédentes, les identifiants de groupe attribués étaient proches de 1000. Mais dans la commande groupadd ci-dessus, l'identifiant de groupe utilisé est 20000.
Créer un groupe avec mot de passe
Nous pouvons utiliser l'option -p pour créer un groupe avec mot de passe.
root@localhost:~# groupadd -p abc123 test_users_pwd root@localhost:~#
Mais, je ne l'ai jamais utilisé moi-même ou je n'ai vu personne l'utiliser. En fait, la page de manuel de gpasswd indique qu'il s'agit d'un problème de sécurité.
root@localhost:~# man gpasswd Notes about group passwords Group passwords are an inherent security problem since more than one person is permitted to know the password. However, groups are a useful tool for permitting co-operation between different users.'
Création d'un groupe système
Nous pouvons utiliser l'option -r pour créer un groupe système.
Il n'y a pas de différence entre un groupe normal et un groupe système. La seule différence est l'attribution de l'ID de groupe.
Pour les groupes normaux, les identifiants de groupe sont attribués de 1000 à 60000 (valeur par défaut). Pour un groupe système, l'ID de groupe est inférieur à 1 000.
Encore une fois, l'identifiant de groupe n'a aucune signification ou ne fournit aucun privilège supplémentaire.
root@localhost:~# groupadd -r system_group root@localhost:~# cat /etc/group | grep system_group system_group:x:999: root@localhost:~#
Notez que l'identifiant de groupe attribué est 999.
Conclusion
Nous pouvons utiliser la commande groupadd pour ajouter des groupes sous Linux. C'est une commande très simple et courante qui peut être utilisée avec n'importe quelle distribution Linux pour créer un groupe.
Références :
- Discussion StackExchange sur les cas d'utilisation des mots de passe de groupe
- Discussion AskUbuntu sur les groupes système