La commande groupadd permet d’ajouter de nouveaux groupes au système.
La version simplifiée de la commande accepte uniquement le nom du groupe à créer. Dans cette situation, le numéro de groupe associé est toujours une unité supérieure à celle du plus grand numéro de groupe actuellement employé.
Voici un exemple simple d’utilisation de la commande groupadd :
groupadd students
L’administrateur a la possibilité de fixer lui même le GID qui sera attribué lors de la création d’un groupe. L’option -g de la commande groupadd doit être suivie du GID à attribuer au groupe à créer.
Voici un exemple d’une telle commande :
groupadd -g 1000 students
Merci à arthefact et melodie d'avoir offert le pdf de la commande pour ce tuto !
Mettons que je partage ma session avec mon chien, et que je veuille lui bloquer l'accès au dossier croquettes
.
mkdir /home/jojo/croquettes echo "miam miam" > /home/jojo/croquettes/au-thon.txt echo "miam" > /home/jojo/croquettes/au-saumon.txt echo "beurk" > /home/jojo/croquettes/au-jojo.txt
Nous allons créer un groupe toutou
qui sera seul autorisé à accéder au dossier croquettes
.
addgroup toutou
Nous protégeons maintenant ce groupe par mot de passe :
gpasswd toutou
[taper le pass une fois] [taper le pass une 2e fois]
chown root:toutou /home/jojo/croquettes
chmod 770 /home/jojo/croquettes
Pour devenir provisoirement membre de ce groupe, il faut utiliser la commande newgroup
. Voici un exemple d'utilisation :
ls ~/croquettes/
ls: impossible d'ouvrir le répertoire croquettes: Permission non accordée
newgrp toutou
[taper le pass]
ls ~/croquettes/
au-thon.txt au-saumon.txt au-jojo.txt
echo "Pas plus d'une fois par jour." > ~/croquettes/au-jojo.txt
cat ~/croquettes/au-jojo.txt
Pas plus d'une fois par jour.
exit
cat ~/croquettes/au-jojo.txt
cat: /home/jojo/croquettes/au-jojo.txt: Permission non accordée
Capito ?
La commande newgroup toutou
a créé un shell dans lequel localement l'utilisateur jojo
était membre du groupe toutou
. Toutes les applications lancées dans ce shell l'étaient donc également. Une fois le shell fermé (commande exit
), l'utilisateur jojo
n'est plus membre du groupe et donc n'a plus accès au dossier.
Facile non ? :)