Permissions des fichiers, Que signifie Chmod 777 ?

de | 2 avril 2018


Si vous êtes un utilisateur de Linux, ou un webmaster gérant votre propre site web (qui est probablement hébergé sur un serveur Linux), vous rencontrerez sûrement une situation lorsque vous essayez de télécharger un fichier ou de modifier un document et recevez l’erreur  » Vous n’avez pas l’autorisations pour télécharger le fichier « . Et après quelques recherches, la solution est souvent aussi simple que de définir l’autorisation de fichier sur « 775 » ou « 777 ». Alors, que signifie exactement « 777 »? Et pourquoi doit-il être «7», et non «8» ou «9»?

Les systèmes Unix (y compris Linux et Mac OS X) sont livrés avec un mécanisme de contrôle de fichiers pour déterminer qui peut accéder à un fichier ou un dossier particulier et quelles actions ils peuvent y effectuer. Le mécanisme de contrôle des fichiers comporte deux parties, à savoir les classes et les autorisations . Les classes déterminent qui peut accéder au fichier tandis que les autorisations déterminent le type d’action que l’utilisateur peut effectuer sur le fichier.

Il y a trois classes – Propriétaire, Groupe, Autres.

  • Le propriétaire est généralement le créateur des fichiers / dossiers. Sous Linux, les fichiers ou les dossiers que vous avez créés dans votre répertoire Accueil sont généralement la propriété de vous, sauf si vous en changez spécifiquement la propriété.
  • Le groupe contient un groupe d’utilisateurs partageant les mêmes autorisations et privilèges d’utilisateur.
  • Autres signifie le grand public.

Présentation des autorisations de fichier: Que signifie "Chmod 777"?

En ce qui concerne les autorisations, il existe 3 types d’actions que vous pouvez effectuer sur un fichier / dossier. Vous pouvez soit lire , écrire ou exécuter .

  • Lecture – Vous pouvez uniquement afficher le fichier, mais vous ne pouvez pas modifier le contenu du fichier. Une fois appliqué sur le dossier, vous pouvez uniquement afficher les fichiers dans le dossier, mais vous ne pouvez pas supprimer ou ajouter des fichiers dans le dossier.
  • Écrire – Vous pouvez éditer et modifier le fichier. Pour les dossiers, vous pouvez supprimer et ajouter des fichiers dans le dossier.
  • Execute – Execute est principalement utilisé lorsque vous devez exécuter le fichier (couramment utilisé lorsque vous devez exécuter un script).

Présentation des autorisations de fichier: Que signifie "Chmod 777"?

Lorsque vous combinez les classes et les autorisations, vous serez en mesure de contrôler qui peut accéder au fichier et quelles sont les actions qu’il peut faire avec.

Par exemple, le propriétaire aura généralement toutes les permissions (lecture, écriture et exécution) pour accéder au fichier. Si vous n’êtes pas le propriétaire du fichier / dossier, vous devez modifier la propriété du fichier à votre nom, ou modifier les autorisations de Groupe ou autres à lire, écrire ou exécuter. Dans un serveur Web, si vous n’êtes pas en mesure de télécharger un fichier, c’est probablement parce que vous n’êtes pas le propriétaire du dossier de destination, ou que vous n’êtes pas autorisé à ajouter des fichiers dans le dossier.

À lire aussi  Guide complet de Linux pour débutant

Avec la compréhension de base des Classes et des Autorisations, étudions-la plus en profondeur et voyons comment se développent les « 777 » ou « 775 ».

Chaque fichier et dossier contient des données 8 bits qui contrôlent les autorisations. À sa forme binaire de base, ce sera «000», ce qui signifie qu’aucune permission de quelque forme que ce soit n’est accordée. Lorsque vous définissez une autorisation « Lire », il ajoute 4 bits aux données, ce qui en fait « 100 » (au format binaire) ou « 4 » dans le format décimal habituel. Définir une autorisation « Write » ajoutera 2 bits aux données, ce qui en fait « 010 » et « 2 » sous forme décimale. Enfin, la définition d’une autorisation « Exécuter » ajoute 1 bit aux données, ce qui donnera « 001 » ou « 1 » sous forme décimale. En bref:

  • Read (Lecture) est équivalent à ‘4’.
  • Write (Ecriture) est équivalent à ‘2’.
  • Execute (Exécution) est équivalent à ‘1’

Lorsque nous voulons définir des autorisations, nous additionnons simplement le nombre. Par exemple, pour définir les autorisations de lecture et d’écriture, nous utiliserons ‘6’ (4 + 2) pour la permission. Pour lire, écrire et exécuter, nous utiliserons ‘7’ (4 + 2 + 1) pour la permission. Voici la permutation différente:

0 – pas de permission
1 – exécuter
2 – écrire
3 – écrire et exécuter
4 – lire
5 – lire et exécuter
6 – lire et écrire
7 – lire, écrire et exécuter

En fonction des autorisations que vous souhaitez accorder au fichier, vous définissez simplement le nombre en conséquence.

Qu’en est-il des 3 chiffres ‘777’? Eh bien, le premier chiffre est attribué au propriétaire, le deuxième chiffre est attribué au groupe et le troisième chiffre est attribué aux autres. Donc, pour un fichier avec la permission ‘777’, tout le monde peut lire, écrire et exécuter le fichier. Voici quelques-unes des autorisations couramment utilisées:

  • 755 – Cet ensemble d’autorisations est couramment utilisé sur le serveur Web. Le propriétaire a toutes les permissions pour lire, écrire et exécuter. Tout le monde peut uniquement lire et exécuter, mais ne peut pas apporter de modifications au fichier.
  • 777 – Tout le monde peut lire écrire et exécuter. Dans un serveur Web, il est déconseillé de définir l’autorisation ‘777’ pour vos fichiers et dossiers car cela permet à quiconque d’ajouter du code malveillant sur votre serveur. Toutefois, dans certains cas, vous devrez définir les autorisations 777 avant de pouvoir télécharger un fichier sur le serveur (par exemple, en téléchargeant des images dans WordPress).
  • 644 – Seul le propriétaire peut lire et écrire. Tout le monde ne peut que lire. Personne ne peut exécuter le fichier.
  • 655 – Seul le propriétaire peut lire et écrire, mais pas exécuter le fichier. Tout le monde peut lire et exécuter, mais ne peut pas modifier le fichier.
À lire aussi  Tutoriel shell Linux

Définition des autorisations de fichier dans la ligne de commande

Sous Linux, vous pouvez facilement modifier les autorisations de fichiers en cliquant avec le bouton droit sur le fichier ou le dossier et en sélectionnant « Propriétés ». Il y aura un onglet d’autorisation où vous pouvez changer les autorisations de fichier. Dans le terminal, la commande à utiliser pour modifier l’autorisation de fichier est  » chmod « . En bref, « chmod 777 » signifie rendre le fichier lisible, accessible en écriture et exécutable par tout le monde.

 chmod 775 / chemin / vers / fichier
 chmod 775 / chemin / vers / fichier

Heureusement, cet article peut vous aider à mieux comprendre les permissions de fichiers dans le système Unix et l’origine du nombre magique « 777 ».




Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *