Polar Code 🎭

Command Palette

Search for a command to run...

10
Pièce N°10

Le Droit du Plus Fort – Gestion des Fichiers et Permissions

🔟 Le Droit du Plus Fort – Gestion des Fichiers et Permissions

Dans les bas-fonds du système, tout est question d’accès. De savoir qui a le droit de regarder, de toucher, d’exécuter. Les permissions Unix, c’est la loi du béton armé. Comprendre chmod, c’est savoir forcer une serrure numérique. Comprendre chown, c’est savoir voler une identité, ou en restaurer une. La commande ls -l est votre fiche de police : elle vous dit tout sur qui possède quoi, et qui peut en faire quoi.

10.1 Droits Unix

Trois actions fondamentales, gravées dans le granit pour trois catégories d’entités.

  • Lecture (r) : Voir le contenu. Lire le dossier.
  • Écriture (w) : Modifier. Supprimer. Écrire dans le dossier.
  • Exécution (x) : Lancer un programme. Traverser un répertoire.

Ces droits s’appliquent à trois mondes :

  1. Propriétaire (u) : Celui qui possède le fichier.
  2. Groupe (g) : Le cercle des intimes.
  3. Autres (o) : Tout le reste du système. La foule.
  • chmod : Le changeur de serrures. Deux syntaxes. La symbolique (lisible) et l'octale (rapide, définitive).

    Syntaxe symbolique : On dit ce qu'on ajoute ou retire.

    $ chmod u+x script_noir.sh        # Ajoute (+x) le droit d'exécution au propriétaire (u).
    $ chmod go-rw journal.conf         # Retire (-) lecture et écriture au groupe (g) et autres (o).
    $ chmod a=rw liste_contacts.txt    # Pour tous (a), définit (=) lecture et écriture seulement.
    

    Syntaxe octale : Un code. Rapide. Sombre. Chaque droit a une valeur : r=4, w=2, x=1. On additionne pour un monde.

    $ chmod 750 plan_secret.txt
    # Propriétaire (u) : r(4) + w(2) + x(1) = 7
    # Groupe (g) : r(4) + 0 + x(1) = 5
    # Autres (o) : 0 + 0 + 0 = 0
    # Résultat : rwx pour le proprio, r-x pour le groupe, rien pour les autres.
    
    $ chmod 644 clef_publique.pem      # rw-r--r--. Lisible par tous, modifiable par le proprio.
    $ chmod 700 ~/.ssh/                 # rwx------. Seul le propriétaire peut y entrer, y toucher.
    $ chmod +x script.sh 2>/dev/null    # Tente d'ajouter +x pour tous, en silence. Classique.
    

10.2 Propriétaire et groupe

La possession, c’est neuf dixièmes de la loi. Surtout ici.

  • ls -l : L’autopsie. C’est la première commande, celle qui vous dit tout.

    $ ls -l /home/noir/operation/
    -rwxr-x--- 1 noir equipe-noire 2048 Mar  5 02:17 infiltrer.sh
    drwx------ 2 noir noir         4096 Mar  5 01:20 coffre
    lrwxrwxrwx 1 noir noir            9 Mar  5 00:45 lien -> /var/log/
    

    Décryptage :

    1. -rwxr-x--- : Les permissions.
      • Premier caractère : - = fichier, d = dossier, l = lien.
      • rwx : Propriétaire peut lire, écrire, exécuter.
      • r-x : Groupe peut lire et exécuter.
      • --- : Les autres ne peuvent rien.
    2. noir : Le nom du propriétaire.
    3. equipe-noire : Le nom du groupe assigné.
    4. La taille, la date, l’heure, le nom.
  • chown : Le transfert de propriété. Changement de main. Opération sensible. Nécessite souvent les pouvoirs du root.

    # Rendre le dossier 'transactions' au nouvel opérateur 'marc'
    $ sudo chown marc:financeurs transactions/
    # Le propriétaire devient 'marc', le groupe devient 'financeurs'.
    
    # Se réapproprier un fichier volé par un processus système
    $ sudo chown noir:noir /tmp/verrou_corrompu.pid
    

    On peut ne changer que l'un ou l'autre :

    $ chown :surveillants log.txt  # Change seulement le groupe.
    $ chown detective .cache        # Change seulement le propriétaire.
    

Les permissions sont la clé de voûte. Un script sans +x est un papier mort. Un fichier de log en 666 (rw-rw-rw-) est une confession publique. Un dossier 777 (rwxrwxrwx) est une porte grande ouverte à tous les désastres.

Avant d’agir, regardez ls -l. Avant de laisser une trace, fixez chmod. Dans ce monde, le droit n’est pas une abstraction. C’est un nombre entre 0 et 7. Maîtrisez-le, ou il se retournera contre vous.