Aller au contenu principal

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.


Quiz​


Que fait le bit setgid (SGID) sur un dossier ?


Quelle commande applique le bit setgid à un dossier ?


Que signifie le sticky bit sur un dossier ?


Quelle est la permission symbolique pour activer le sticky bit ?


Dans la sortie de `ls -ld`, que représente la lettre `s` dans les permissions du groupe ?


Quelle combinaison de bits est recommandée pour un dossier collaboratif sécurisé ?


Que se passe-t-il si on applique `chmod 777` par erreur sur un dossier partagé ?