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.

💡 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.

💡 Solution

Étape 2

Identifiez les risques : n’importe qui peut lire, modifier ou supprimer.

💡 Solution

Étape 3

Corrigez en revenant à 770.

💡 Solution

Étape 4

Réactivez SGID et Sticky Bit.

💡 Solution

Étape 5

Testez à nouveau les accès pour confirmer la correction.

💡 Solution

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é ?