Aller au contenu principal

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.


Créez un fichier pour observer les droits par défaut.


Créez un dossier.

Expliquez le calcul : umask soustrait les bits (ex. : 666 - 022 = 644).

📌 💡 Solution

Modifiez temporairement umask et testez.


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.


Étape 3​

Vérifiez les droits : doit être 660 (rw-rw----).


É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).


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.


Étape 2​

Vérifiez les droits : 770.


Étape 3​

Comparez avec un fichier créé sous le même umask.


Étape 4​

Testez l'accès au dossier avec titi (si même groupe, OK ; sinon, denied).


Étape 5​

Modifiez les droits du dossier si nécessaire pour test.


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.


Étape 2​

Relancez le terminal ou sourcez le fichier.


Étape 3​

Vérifiez la persistance en créant un nouveau fichier.


Étape 4​

Testez dans une nouvelle session (su - toto).


Étape 5​

Pour global, éditez /etc/profile (avec sudo).


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.


Étape 2​

Appliquez umask 007 à chaque utilisateur via leurs .bashrc.


Étape 3​

Créez un dossier commun /srv/travail avec SGID.


Étape 4​

Reconnectez toto et créez un fichier : doit être 660, groupe groupe_travail.


Étape 5​

Vérifiez avec titi : accès OK.


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à).


Étape 2​

Assurez umask 007 pour l'utilisateur.


Étape 3​

Créez un fichier : vérifiez 660 et groupe.


Étape 4​

Vérifiez les droits.

📌 💡 Solution

Étape 5​

Tentez l'accès avec un utilisateur externe (créez un tutu si besoin).


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.


Étape 2​

Vérifiez que personne d’autre n’y accède (test avec titi).


Étape 3​

Modifiez à umask 007.


Étape 4​

Retestez l’accès avec titi (si même groupe, OK).


Étape 5​

Documentez la différence.


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.


Étape 2​

Créez l'utilisateur tutu, puis ajoutez les 3 utilisateurs (toto, titi, et tutu) dans le groupe groupe_travail.


Étape 3​

Appliquez SGID + Sticky.


Étape 4​

Appliquez umask 007 dans .bashrc pour les 3.


Étape 5​

Testez : créez fichier avec toto, accédez avec titi, supprimez refusé.


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.


Étape 2​

Toujours utiliser un groupe : vérifiez.


Étape 3​

Appliquez SGID si manquant.


Étape 4​

Appliquez Sticky si nécessaire.


Étape 5​

Utilisez umask : vérifiez.


Quiz​


Quelle est la permission maximale par défaut pour un nouveau fichier ?


Que fait `umask 007` pour un fichier ?


Pour les dossiers, quelle permission donne `umask 007` ?


Où ajouter `umask 007` pour le rendre persistant par utilisateur ?


Pourquoi combiner umask avec SGID ?


Quel umask rend les fichiers privés au propriétaire (600) ?


Dans un environnement multi-utilisateurs, quelle bonne pratique pour umask ?


Que se passe-t-il si umask est 022 (défaut souvent) pour un fichier partagé en groupe ?