Configuration des permissions collaboratives pour l'équipe de développement
Remarque : Assurez-vous d'avoir d'abord terminé l'étape 2, qui définit la propriété de tous les répertoires du projet (y compris src) sur dev_lead:developers. Cette étape s'appuie sur ces paramètres de propriété.
L'équipe de développement doit collaborer efficacement au sein du répertoire ~/project/phoenix_project/src. Pour assurer une collaboration fluide, tout nouveau fichier ou répertoire créé dans src doit automatiquement appartenir au groupe developers. Cette permission spéciale n'affecte que le groupe propriétaire. Le propriétaire utilisateur restera le compte qui crée le fichier, et les permissions de lecture/écriture du fichier dépendront toujours de l' umask de cet utilisateur.
Tâches
- Définissez une permission spéciale sur le répertoire
~/project/phoenix_project/src qui force tous les nouveaux fichiers et sous-répertoires créés en son sein à hériter de la propriété de groupe du répertoire src lui-même (qui est developers).
Exigences
- La solution doit garantir que les nouveaux fichiers dans
~/project/phoenix_project/src héritent automatiquement du groupe developers.
- Vous devez utiliser la commande
chmod pour définir cette permission spéciale.
- Vous devrez peut-être utiliser
sudo pour définir les permissions sur des répertoires appartenant à d'autres utilisateurs.
Conseils
- Cette permission spéciale est appelée le bit « set group ID » ou
setgid.
- Vous pouvez appliquer le bit
setgid en utilisant la notation symbolique (g+s) ou numérique.
- En notation numérique, le bit
setgid a une valeur de 2. Il est placé avant les trois chiffres de permission standard (par exemple, 2770).
Exemples
Une fois cette tâche terminée, vous devriez obtenir un résultat similaire à :
$ ls -ld ~/project/phoenix_project/src/
drwxrws--- 2 dev_lead developers 6 Sep 3 16:00 ~/project/phoenix_project/src/
Le s dans la position d'exécution du groupe indique que le bit setgid est défini et que le groupe a la permission d'exécution. Maintenant, lorsque vous créez un nouveau fichier :
$ touch ~/project/phoenix_project/src/new_file.txt
$ ls -l ~/project/phoenix_project/src/new_file.txt
-rw-rw-r-- 1 labex developers 0 Apr 15 18:28 /home/labex/project/phoenix_project/src/new_file.txt
Remarquez que le nouveau fichier appartient automatiquement au groupe developers, même si vous êtes connecté en tant qu'utilisateur différent. Le propriétaire du fichier reste l'utilisateur qui a créé le fichier, tandis que le groupe propriétaire est hérité du répertoire src. Cela garantit un travail collaboratif au sein de l'équipe de développement tout en maintenant une propriété de groupe appropriée.
Les permissions indiquent :
- Le propriétaire (
dev_lead) a les permissions de lecture et d'écriture
- Le groupe (
developers) a les permissions de lecture et d'écriture
- Les autres n'ont aucune permission
- Le
s minuscule dans la position d'exécution du groupe indique que le bit setgid est défini et que le groupe a la permission d'exécution