Travailler avec les autorisations de groupe
Linux permet d'associer des fichiers à des groupes, ce qui permet un contrôle d'accès collaboratif. Dans cette étape, vous allez apprendre à créer un groupe, à changer le groupe propriétaire d'un fichier et à définir les autorisations de groupe appropriées.
Tout d'abord, créons un nouveau groupe. Dans un scénario réel, cela pourrait représenter un département ou une équipe de projet :
sudo groupadd developers
Maintenant, créons un fichier qui sera partagé avec ce groupe :
touch shared_config.txt
echo "## Development configuration settings" > shared_config.txt
echo "debug_mode=true" >> shared_config.txt
echo "log_level=verbose" >> shared_config.txt
Actuellement, ce fichier appartient à votre utilisateur et à votre groupe principal. Vérifions :
ls -l shared_config.txt
Vous devriez voir une sortie similaire à :
-rw-rw-r-- 1 labex labex 61 Oct 25 13:00 shared_config.txt
Pour changer le groupe propriétaire du fichier en le groupe developers
, utilisez la commande chown
:
sudo chown labex:developers shared_config.txt
La syntaxe est chown utilisateur:groupe nom_fichier
. Ici, nous conservons l'utilisateur labex
mais changeons le groupe en developers
.
Vérifions maintenant la propriété :
ls -l shared_config.txt
Vous devriez voir :
-rw-rw-r-- 1 labex developers 61 Oct 25 13:00 shared_config.txt
Remarquez que le groupe a été changé en developers
, mais les autorisations sont toujours les mêmes. Modifions-les pour permettre aux membres du groupe de lire mais pas d'écrire, tout en empêchant l'accès des autres :
chmod 640 shared_config.txt
Cela définit :
- Propriétaire : Lecture et écriture (
6
= 4+2
)
- Groupe : Lecture seule (
4
)
- Autres : Aucune autorisation (
0
)
Vérifions les autorisations à nouveau :
ls -l shared_config.txt
Vous devriez maintenant voir :
-rw-r----- 1 labex developers 61 Oct 25 13:00 shared_config.txt
Maintenant, les membres du groupe developers
peuvent lire ce fichier de configuration, mais ils ne peuvent pas le modifier. Les utilisateurs qui ne font pas partie du groupe developers
n'ont pas accès au fichier du tout.
Vous pouvez également utiliser le mode symbolique pour obtenir le même résultat :
chmod u=rw,g=r,o= shared_config.txt
Cette commande définit explicitement :
- Utilisateur/propriétaire : Lecture et écriture
- Groupe : Lecture seule
- Autres : Aucune autorisation
Pour ajouter un utilisateur au groupe developers
, vous utiliseriez généralement :
sudo usermod -a -G developers username
Cependant, cela dépasse le cadre de ce laboratoire particulier, car cela nécessiterait de créer des comptes d'utilisateur supplémentaires.