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.

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

💡 Solution

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 ?