Permissions experts
umask, sécurité fine
Comprendre umask
La commande umask définit les permissions par défaut soustraites des permissions maximales lors de la création de nouveaux fichiers (666) ou dossiers (777).
Par exemple, umask 022 donne 644 pour les fichiers et 755 pour les dossiers.
📌 💡 Solution
Créez un fichier pour observer les droits par défaut.
📌 💡 Solution
Créez un dossier.
📌 💡 Solution
Expliquez le calcul : umask soustrait les bits (ex. : 666 - 022 = 644).
📌 💡 Solution
Modifiez temporairement umask et testez.
📌 💡 Solution
Mission n°1 : Calcul de umask pour fichiers
🧠 Rappel
Pour les fichiers, permissions maximales sont 666 (pas d'exécution par défaut). umask soustrait pour définir les droits initiaux.
Étape 1
Rappelez les permissions max pour fichiers : 666.
📌 💡 Solution
Étape 2
Appliquez umask 007 et créez un fichier.
📌 💡 Solution
Étape 3
Vérifiez les droits : doit être 660 (rw-rw----).
📌 💡 Solution
Étape 4
Expliquez pourquoi : 666 - 007 = 660 (soustraction : 6-0=6, 6-0=6, 6-7=0 → mais umask est octal, soustrait bit par bit).
📌 💡 Solution
Étape 5
Testez l'accès avec un autre utilisateur (doit échouer pour titi si pas dans groupe).
📌 💡 Solution
Mission n°2 : umask pour les dossiers
🧠 Rappel
Pour les dossiers, max 777 (rwx-rwx-rwx). umask 007 donne 770 (rwx-rwx---).
Étape 1
Avec umask 007, créez un dossier.
📌 💡 Solution
Étape 2
Vérifiez les droits : 770.
📌 💡 Solution
Étape 3
Comparez avec un fichier créé sous le même umask.
📌 💡 Solution
Étape 4
Testez l'accès au dossier avec titi (si même groupe, OK ; sinon, denied).
📌 💡 Solution
Étape 5
Modifiez les droits du dossier si nécessaire pour test.
📌 💡 Solution
Mission n°3 : Rendre umask persistant
🧠 Rappel
Pour appliquer umask à chaque session, ajoutez-le dans ~/.bashrc ou /etc/profile pour global.
Étape 1
Modifiez ~/.bashrc pour inclure umask 007.
📌 💡 Solution
Étape 2
Relancez le terminal ou sourcez le fichier.
📌 💡 Solution
Étape 3
Vérifiez la persistance en créant un nouveau fichier.
📌 💡 Solution
Étape 4
Testez dans une nouvelle session (su - toto).
📌 💡 Solution
Étape 5
Pour global, éditez /etc/profile (avec sudo).
📌 💡 Solution
Mission n°4 : Appliquer umask à un groupe de travail
🧠 Rappel
Pour un groupe, assurez-vous que umask force les fichiers à 660/770 pour partage groupe sans accès autres.
Étape 1
Créez un groupe groupe_travail et ajoutez toto et titi.
📌 💡 Solution
Étape 2
Appliquez umask 007 à chaque utilisateur via leurs .bashrc.
📌 💡 Solution
Étape 3
Créez un dossier commun /srv/travail avec SGID.
📌 💡 Solution
Étape 4
Reconnectez toto et créez un fichier : doit être 660, groupe groupe_travail.
📌 💡 Solution
Étape 5
Vérifiez avec titi : accès OK.
📌 💡 Solution
Mission n°5 : Sécuriser un dossier partagé avec umask
🧠 Rappel
Combinez umask 007 + SGID pour que tous les nouveaux fichiers/dossiers soient automatiquement 660/770 avec bon groupe.
Étape 1
Appliquez SGID sur /srv/partage (si pas déjà).
📌 💡 Solution
Étape 2
Assurez umask 007 pour l'utilisateur.
📌 💡 Solution
Étape 3
Créez un fichier : vérifiez 660 et groupe.
📌 💡 Solution
Étape 4
Vérifiez les droits.
📌 💡 Solution
Étape 5
Tentez l'accès avec un utilisateur externe (créez un tutu si besoin).
📌 💡 Solution
Mission n°6 : Résolution de problèmes avec umask
🧠 Rappel
Un umask trop restrictif comme 077 rend les fichiers privés (600), bloquant le partage.
Étape 1
Appliquez umask 077 et créez un fichier.
📌 💡 Solution
Étape 2
Vérifiez que personne d’autre n’y accède (test avec titi).
📌 💡 Solution
Étape 3
Modifiez à umask 007.
📌 💡 Solution
Étape 4
Retestez l’accès avec titi (si même groupe, OK).
📌 💡 Solution
Étape 5
Documentez la différence.
📌 💡 Solution
Mission n°7 : Cas pratique – Partage privé pour projet
🧠 Rappel
Pour un projet sensible, combinez groupe, SGID, Sticky, umask pour contrôle fin.
Étape 1
Créez /srv/projetX et groupe projetx.
📌 💡 Solution
Étape 2
Créez l'utilisateur tutu, puis ajoutez les 3 utilisateurs (toto, titi, et tutu) dans le groupe groupe_travail.
📌 💡 Solution
Étape 3
Appliquez SGID + Sticky.
📌 💡 Solution
Étape 4
Appliquez umask 007 dans .bashrc pour les 3.
📌 💡 Solution
Étape 5
Testez : créez fichier avec toto, accédez avec titi, supprimez refusé.
📌 💡 Solution
Mission n°8 : Bonnes pratiques de sécurité
🧠 Rappel
- Évitez 777 : risque total.
- Utilisez groupes pour partage.
- SGID pour héritage.
- Sticky pour anti-suppression.
- umask pour defaults sécurisés.
Étape 1
Évitez chmod 777 : simulez et corrigez.
📌 💡 Solution
Étape 2
Toujours utiliser un groupe : vérifiez.
📌 💡 Solution
Étape 3
Appliquez SGID si manquant.
📌 💡 Solution
Étape 4
Appliquez Sticky si nécessaire.
📌 💡 Solution
Étape 5
Utilisez umask : vérifiez.