Permissions avancées
SGID et Sticky Bit
Préparation de l’environnement
Assurez-vous que l’environnement est prêt pour les missions avancées.
Si nécessaire, recréez le dossier partagé et vérifiez les utilisateurs.
Vérifiez les utilisateurs et groupes.
Testez l’accès basique.
Mission n°1 : Comprendre le SGID
🧠 Rappel
Le bit setgid (SGID) sur un dossier (g+s) fait en sorte que tous les nouveaux fichiers créés dedans héritent du groupe du dossier, et non du groupe principal de l’utilisateur. Cela évite les problèmes de permissions dans les projets collaboratifs.
Étape 1
Appliquez le bit setgid au dossier /srv/partage.
Étape 2
Vérifiez les permissions : vous devriez voir un s minuscule dans les droits du groupe (ex. : drwxrws---).
Étape 3
Connectez-vous avec toto et créez un fichier dans /srv/partage.
Étape 4
Vérifiez le groupe du fichier créé : il doit être groupepartage.
Étape 5
Répétez avec titi et comparez les groupes des fichiers.
Mission n°2 : Tester l’héritage du SGID
🧠 Rappel
Avec SGID activé, même si les utilisateurs ont des groupes principaux différents, les fichiers partagés auront toujours le bon groupe, facilitant les accès mutuels.
Étape 1
Supprimez tous les fichiers existants dans /srv/partage pour repartir à zéro.
Étape 2
Créez un nouveau fichier avec toto et vérifiez qu’il hérite du groupe groupepartage.
Étape 3
Modifiez manuellement le groupe d’un fichier pour tester la différence.
Étape 4
Créez un autre fichier : il devrait toujours hériter de groupepartage grâce au SGID.
Étape 5
Si le SGID semble désactivé, réappliquez-le.
Mission n°3 : Problème de suppression dans un dossier partagé
🧠 Rappel
Sans protection supplémentaire, dans un dossier avec droits 770, un membre du groupe peut supprimer les fichiers des autres, ce qui pose un risque en environnement collaboratif.
Étape 1
Connectez-vous avec toto et créez un fichier.
Étape 2
Passez à titi et supprimez le fichier créé par toto.
Étape 3
Observez que la suppression a réussi : expliquez pourquoi (droits du groupe permettent l’écriture/suppression).
Étape 4
Identifiez le risque : un utilisateur malveillant pourrait effacer le travail des autres.
📌 💡 Solution
Étape 5
Préparez l’ajout du sticky bit pour sécuriser les suppressions.
📌 💡 Solution
Mission n°4 : Ajouter le Sticky Bit
🧠 Rappel
Le sticky bit (+t) sur un dossier empêche les utilisateurs (autres que le propriétaire ou root) de supprimer des fichiers qui ne leur appartiennent pas, même s’ils ont les droits d’écriture sur le dossier.
Étape 1
Appliquez le sticky bit au dossier /srv/partage.
Étape 2
Créez un fichier avec toto.
Étape 3
Passez à titi et tentez de supprimer le fichier de toto.
Étape 4
Observez le message d’erreur : la suppression est refusée.
📌 💡 Solution
Étape 5
Vérifiez les permissions : vous devriez voir un t majuscule à la fin (ex. : drwxrws--T).
Mission n°5 : Combinaison SGID + Sticky Bit
🧠 Rappel
La combinaison drwxrws--T (SGID + Sticky) est idéale pour les dossiers partagés : héritage de groupe + protection contre les suppressions non autorisées.
Étape 1
Vérifiez que les droits sont corrects : SGID (s) et Sticky (T).
Étape 2
Créez un fichier avec toto et vérifiez l’héritage du groupe.
Étape 3
Passez à titi et tentez de supprimer le fichier.
Étape 4
Testez la lecture/modification : cela doit fonctionner.
Étape 5
Validez la sécurité : seul le propriétaire peut supprimer son fichier.
Mission n°6 : Cas d’usage réel – Équipe projet
🧠 Rappel
Dans un scénario réel, comme une équipe de développement, SGID + Sticky protège le code partagé sans risquer de suppressions accidentelles.
Étape 1
Simulez une équipe : créez un nouveau groupe equipeprojet et ajoutez toto et titi.
Étape 2
Créez un dossier partagé /srv/projet.
Étape 3
Appliquez SGID et Sticky Bit.
Étape 4
Reconnectez-vous pour actualiser les groupes et testez les accès.
Étape 5
Ajoutez un troisième utilisateur fictif si possible, ou testez avec root pour valider.
📌 💡 Solution
Mission n°7 : Vérification et lecture des droits avancés
🧠 Rappel
La commande ls -ld affiche les permissions spéciales : s pour SGID (groupe), t pour Sticky (autres). Un S ou T majuscule indique un manque de droits d’exécution.
Étape 1
Utilisez ls -ld sur /srv/partage pour lire les droits.
Étape 2
Identifiez le SGID et le Sticky Bit dans la sortie.
📌 💡 Solution
Étape 3
Expliquez les lettres s et t : s remplace x pour le groupe (SGID), t pour les autres (Sticky).
📌 💡 Solution
Étape 4
Comparez avec un dossier normal sans ces bits.
Étape 5
Documentez les différences dans un fichier de notes.
Mission n°8 : Cas d’erreur fréquente – Permissions trop ouvertes
🧠 Rappel
Appliquer 777 par erreur expose tout à tous les utilisateurs, annulant les protections. Toujours vérifier avant d’appliquer.
Étape 1
Appliquez par erreur chmod 777 sur /srv/partage.
Étape 2
Identifiez les risques : n’importe qui peut lire, modifier ou supprimer.
📌 💡 Solution
Étape 3
Corrigez en revenant à 770.
Étape 4
Réactivez SGID et Sticky Bit.
Étape 5
Testez à nouveau les accès pour confirmer la correction.