tigtools

Calculateur chmod

Convertissez les permissions de fichiers Unix entre cases à cocher, valeurs octales et notation rwx, notamment setuid, setgid et le sticky bit.

Fonctionne dans votre navigateur Sans inscription

Permissions pour le propriétaire, le groupe et les autres
QuiLectureÉcritureExécutionValeur
Propriétaire (u)7
Groupe (g)5
Autres (o)5
Bits spéciaux

Valeurs courantes

Commande (octal)

chmod 755 file

Commande (symbolique)

chmod u=rwx,g=rx,o=rx file

ls -l affiche un fichier ordinaire avec ces permissions sous la forme -rwxr-xr-x.

Mode d’emploi

  1. Cochez les cases lecture, écriture et exécution pour le propriétaire, le groupe et les autres utilisateurs.
  2. Ou saisissez une valeur octale comme 640, ou une chaîne symbolique comme rw-r----- ou -rw-r----- copiée depuis ls -l.
  3. Ajoutez setuid, setgid ou le sticky bit si nécessaire, ou choisissez une valeur courante.
  4. Saisissez le nom du fichier et copiez la commande chmod.

Fonctionnement

Chacune des trois classes (propriétaire, groupe, autres) possède trois permissions. La lecture vaut 4, l'écriture 2 et l'exécution 1, et leur somme donne un chiffre octal : ainsi rwx = 7, r-x = 5 et r-- = 4. Trois chiffres forment le mode : 755 signifie rwx pour le propriétaire et r-x pour le groupe et les autres.

Un quatrième chiffre optionnel placé devant contient les bits spéciaux : 4 pour setuid, 2 pour setgid et 1 pour sticky. Sous forme symbolique, ils remplacent la position d'exécution : s pour setuid ou setgid, t pour sticky. Un S ou un T majuscule signifie que le bit spécial est activé mais pas l'exécution, ce qui est généralement une erreur.

Le champ symbolique accepte neuf caractères (rwxr-xr-x) ou la forme à dix caractères affichée par ls -l, dont le premier caractère est le type de fichier (- pour un fichier, d pour un répertoire) et est ignoré ici. Un . ou + final provenant de SELinux ou d'ACL est également accepté.

Deux commandes sont affichées : la forme octale, qui définit tous les bits en une fois, et la forme symbolique équivalente, par exemple u=rwx,g=rx,o=rx. Les noms de fichier contenant des espaces ou d'autres caractères spéciaux sont mis entre guillemets pour le shell ; un ~/ initial et les caractères génériques * et ? restent sans guillemets afin que le shell puisse les développer. Avec GNU chmod, un mode octal sur un répertoire ne supprime pas les bits setuid ou setgid déjà définis ; utilisez la forme symbolique, ou un mode à cinq chiffres comme 00755, si vous devez les supprimer.

Exemples

Fichiers et dossiers web

Les fichiers que le serveur web se contente de lire sont généralement en 644 (rw-r--r--), et les répertoires en 755 (rwxr-xr-x) afin de pouvoir y entrer et les lister.

Clé SSH privée

SSH refuse les clés que les autres peuvent lire. Cochez uniquement lecture et écriture pour le propriétaire pour obtenir 600 et la commande chmod 600 ~/.ssh/id_ed25519 (saisissez le chemin comme nom de fichier).

Répertoire de téléversement partagé

Les répertoires de type /tmp utilisent 1777 (rwxrwxrwt) : tout le monde peut créer des fichiers, mais le sticky bit empêche les utilisateurs de supprimer les fichiers des autres.

Foire aux questions

Quelle est la différence entre 755 et 775 ?

Avec 775, le groupe peut aussi écrire (créer, modifier et supprimer des fichiers dans un répertoire). Avec 755, seul le propriétaire peut écrire ; le groupe et les autres peuvent lire et exécuter.

Pourquoi éviter le 777 ?

777 permet à chaque utilisateur du système de modifier ou remplacer le fichier. Sur un serveur web, cela peut permettre à un autre compte ou à un processus compromis d’injecter du code. N’accordez l’accès en écriture qu’au propriétaire ou à un groupe spécifique.

Que signifie le droit d’exécution pour un répertoire ?

Pour un répertoire, le droit d’exécution (x) signifie l’autorisation d’y entrer et d’accéder aux fichiers qu’il contient. La lecture seule permet d’afficher les noms, mais pas d’ouvrir les fichiers.

Est-ce que cela modifie les permissions sur mon ordinateur ?

Non. Il calcule uniquement les valeurs et génère le texte de la commande. Vous exécutez la commande vous-même dans un terminal.

Confidentialité

Tout est calculé dans votre navigateur. Le nom de fichier que vous saisissez n’est envoyé nulle part, ni stocké ni inclus dans les statistiques.