« Quand une permission bloque, chmod 777 règle le problème. »
777 supprime presque toute séparation entre propriétaire, groupe et autres. Le bon diagnostic consiste à identifier l’opération nécessaire et à accorder uniquement le droit correspondant.
01Provoque l’échec d’exécution
export LAB="/tmp/soria-linux-permissions-$USER"
"$LAB/bin/diagnostic.sh" || true
stat -c '%a %A %n' "$LAB/bin/diagnostic.sh"
Le shebang est présent, mais le bit x manque. Le shell refuse l’exécution directe.
02Corrige en mode symbolique
chmod u+x "$LAB/bin/diagnostic.sh"
stat -c '%a %A %n' "$LAB/bin/diagnostic.sh"
"$LAB/bin/diagnostic.sh"
u+xg-wo=a+r03Traduis les bits en octal
Chaque classe additionne r=4, w=2 et x=1.
chmod 0640 "$LAB/partage/equipe.txt"
chmod 0750 "$LAB/prive"
chmod 0755 "$LAB/bin/diagnostic.sh"
stat -c '%a %A %n' "$LAB/partage/equipe.txt" "$LAB/prive" "$LAB/bin/diagnostic.sh"
640 signifie rw-r—–. 750 signifie rwxr-x—. Le premier chiffre optionnel est réservé aux bits spéciaux étudiés dans la leçon suivante.04Compare deux corrections possibles
cp "$LAB/prive/secret.txt" "$LAB/prive/secret-copy.txt"
chmod 0666 "$LAB/prive/secret-copy.txt"
stat -c '%a %A %n' "$LAB/prive/secret-copy.txt"
chmod 0600 "$LAB/prive/secret-copy.txt"
stat -c '%a %A %n' "$LAB/prive/secret-copy.txt"
Les deux modes permettent au propriétaire de lire et modifier. Le second évite d’exposer le secret au groupe et aux autres utilisateurs.
05Vérifie avant et après
before=$(stat -c '%a' "$LAB/documents/rapport.txt")
chmod g+w "$LAB/documents/rapport.txt"
after=$(stat -c '%a' "$LAB/documents/rapport.txt")
printf 'before=%s after=%s
' "$before" "$after"
chmod "$before" "$LAB/documents/rapport.txt"
Conserver la valeur précédente permet un rollback simple et documenté.
Applique une matrice de droits
Prépare trois fichiers : public en lecture, partagé en lecture/écriture pour owner et group, privé pour owner uniquement. Produis pour chacun le mode symbolique, le mode octal et une commande stat de preuve.
✓Ce que tu retiens
chmod traduit une intention d’accès en bits. Les modes symboliques expriment une modification relative ; les modes octaux fixent un état complet. Toute correction doit être suivie d’une preuve et éviter les droits plus larges que nécessaire.