This page has been robot translated, sorry for typos if any. Original content here.

chmod - change le mode d'accès au fichier

On découvre de plus en plus que certains constructeurs de sites novices, férus de scripts (en perl / cgi, php, etc.) ne savent pas ce que chmod est et comment l’utiliser. Dans ce petit guide, vous apprendrez ce qu'est chmod, comment il est exposé et pourquoi vous en avez besoin.

Il est parfois très important d'attribuer des droits d'accès à certains fichiers et dossiers situés sur un serveur Web, que ce soit pour des raisons de sécurité ou simplement pour que le script fonctionne correctement. Cette action s'appelle chmod ( ch file file mod e) ou en russe: change le mode d'accès au fichier. Ce nom provient de la commande Unix - chmod, qui modifie les autorisations de fichiers. Au fil du temps, «chmod» est devenu synonyme du mot «permission».

Il y a trois groupes d'utilisateurs dont les droits nous intéresseront: le propriétaire du fichier, le groupe et les autres utilisateurs.

En créant un fichier, l'utilisateur obtient automatiquement les droits les plus étendus pour exécuter quoi que ce soit avec ce fichier, son groupe dispose de droits légèrement inférieurs et tout le reste est complètement négligeable. Unix ne dispose que de trois droits fondamentaux: lire un fichier ou parcourir un répertoire («Lecture»), modifier un fichier ou un dossier, y écrire quelque chose ou le supprimer («Livre»). La dernière à droite est le droit d'exécuter le fichier (“e X ecute”).

Le mode chmod peut être indiqué sous forme numérique ou caractère. Par exemple: 755, rwxrxrx, 644, etc.

Comme vous l'avez déjà compris, les caractères r , w et x désignent, respectivement, lire , écrire et exécuter . Vous pouvez définir les autorisations de fichier de cette manière via n'importe quel client FTP, par exemple CuteFTP. Voici à quoi ressemble la fenêtre d’installation de chmod dans ce programme:

Chmod dans CuteFTP


Faites attention à la disposition des "ticks". Les premières sont les cases à cocher dans les champs Propriétaire: lire, écrire, exécuter (rwx); alors les champs «Groupes» vont: lire, exécuter (rx); et enfin les champs “Rest”: read, execute (rx). En conséquence, nous avons obtenu les droits rwxrxrx sur le fichier (lettres et champs à leur tour). En d’autres termes, le propriétaire peut lire, écrire et exécuter le fichier; “Groupe” et “autres” ont le droit de lire et d'exécuter le fichier, mais pas d'écrire! Vous devez maintenant prendre conscience de l’importance de la définition des autorisations de fichiers et essayer d’assurer la sécurité maximale de vos scripts et de vos données sur le serveur à l’aide de cet outil.


Notez le nombre 755 dans le champ Manuel. Il s'avère que chaque droit a un code numérique spécifique et peut être réglé manuellement:

  • 400 - le propriétaire a le droit de lire;
  • 200 - le propriétaire a le droit d’enregistrer;
  • 100 - le propriétaire a le droit d'accomplir;
  • 40 - le groupe a le droit de lire;
  • 20 - le groupe a le droit d'enregistrer;
  • 10 - le groupe a le droit de se réaliser;
  • 4 - les autres ont le droit de lire;
  • 2 - les autres ont le droit d’enregistrer;
  • 1 - les autres ont le droit de se réaliser.
La somme de ces points donne le chmod désiré. Par exemple, nous voulons que le propriétaire puisse tout faire, et le groupe et le reste ne peuvent que lire le fichier. Ajouter: 400 + 200 + 100 + 40 + 4 = 744. C'est-à-dire que nous avons besoin de chmod 744. Nous devons maintenant résumer les nombres correspondant aux droits d'accès que nous voulons attribuer au fichier et les installer.

Exemples:

400 + 40 + 4 = 444 - tout le monde a le droit de lire seulement.

400 + 100 + 10 + 1 = 611 - le propriétaire peut lire et exécuter, le reste ne peut qu'exécuter.

400 + 200 + 40 + 4 = 644 - signifie que vous autorisez tout le monde à le lire, mais seul le propriétaire du fichier peut écrire dans ce fichier. Même si vous possédez le fichier et que vous l'ouvrez dans un navigateur, vous ne pourrez rien y écrire, car l'accès via le navigateur fait de vous un utilisateur anonyme.

400 + 200 + 40 + 20 + 4 + 2 = 666 - signifie que tout le monde peut lire et écrire ce fichier. Cela est nécessaire pour que les utilisateurs puissent faire des entrées dans les livres d'or, forums, etc.

400 + 200 + 100 + 40 + 10 + 4 + 1 = 755 - l’équipe classique de cgi-script. Un script CGI est un fichier exécutable auquel tout le monde devrait avoir accès en lecture et en exécution. Seul le propriétaire de ce fichier peut le modifier ou le supprimer.

Je vais donner un tableau encore plus pratique, à mon avis, chmod:

Valeurs Propriétaire Groupe Public (le reste)
Lire = 4 X X X
Ecrire = 2 X
Execute = 1 X X X
Montant: (4 + 2 + 1) = 7 (4 + 1) = 5 (4 + 1) = 5

Et en conclusion, je vais expliquer brièvement comment ces autorisations sont définies. Ceci est fait en utilisant n'importe quel client ftp:

  • Dans Windows Commander, ils sont modifiés via les éléments de menu Fichier> Modifier les attributs. Dans le même temps, les autorisations sur le ou les fichiers et / ou dossiers sélectionnés sont modifiées.
  • Dans FAR Manager, les autorisations des fichiers sélectionnés sont modifiées en appuyant sur Ctrl + A:
    [x] [x] [] [x] [x] [] [x] [x] [] - 666
    [x] [x] [x] [x] [] [x] [x] [] [x] - 755
  • Dans CuteFTP, les autorisations sont modifiées à l'aide de l'élément de menu «Modifier les attributs de fichier» qui apparaît lorsque vous cliquez avec le bouton droit sur le nom du fichier.