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.
📌 💡 Solution
Vérifiez les utilisateurs et groupes.
📌 💡 Solution
Testez l’accès basique.
📌 💡 Solution
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.
📌 💡 Solution
Étape 2
Vérifiez les permissions : vous devriez voir un s minuscule dans les droits du groupe (ex. : drwxrws---).
📌 💡 Solution
Étape 3
Connectez-vous avec toto et créez un fichier dans /srv/partage.
📌 💡 Solution
Étape 4
Vérifiez le groupe du fichier créé : il doit être groupepartage.
📌 💡 Solution
Étape 5
Répétez avec titi et comparez les groupes des fichiers.
📌 💡 Solution
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.
📌 💡 Solution
Étape 2
Créez un nouveau fichier avec toto et vérifiez qu’il hérite du groupe groupepartage.
📌 💡 Solution
Étape 3
Modifiez manuellement le groupe d’un fichier pour tester la différence.
📌 💡 Solution
Étape 4
Créez un autre fichier : il devrait toujours hériter de groupepartage grâce au SGID.
📌 💡 Solution
Étape 5
Si le SGID semble désactivé, réappliquez-le.
📌 💡 Solution
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.
📌 💡 Solution
Étape 2
Passez à titi et supprimez le fichier créé par toto.
📌 💡 Solution
Étape 3
Observez que la suppression a réussi : expliquez pourquoi (droits du groupe permettent l’écriture/suppression).
📌 💡 Solution
É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.
📌 💡 Solution
Étape 2
Créez un fichier avec toto.
📌 💡 Solution
Étape 3
Passez à titi et tentez de supprimer le fichier de toto.
📌 💡 Solution
É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).
📌 💡 Solution
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).
📌 💡 Solution
Étape 2
Créez un fichier avec toto et vérifiez l’héritage du groupe.
📌 💡 Solution
Étape 3
Passez à titi et tentez de supprimer le fichier.
📌 💡 Solution
Étape 4
Testez la lecture/modification : cela doit fonctionner.
📌 💡 Solution
Étape 5
Validez la sécurité : seul le propriétaire peut supprimer son fichier.
📌 💡 Solution
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.
📌 💡 Solution
Étape 2
Créez un dossier partagé /srv/projet.
📌 💡 Solution
Étape 3
Appliquez SGID et Sticky Bit.
📌 💡 Solution
Étape 4
Reconnectez-vous pour actualiser les groupes et testez les accès.
📌 💡 Solution
É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.
📌 💡 Solution
É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.
📌 💡 Solution
Étape 5
Documentez les différences dans un fichier de notes.
📌 💡 Solution
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.