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

chmod - change le mode d'accès aux fichiers

De plus en plus, on constate que certains constructeurs de sites débutants, friands de scripts (perl / cgi, php, etc.) ne savent pas ce qu'est chmod et comment l'utiliser. Dans ce court tutoriel, vous apprendrez ce qu'est chmod, comment il est exposé et de quoi il s'agit.

Il est parfois très important d'attribuer des droits d'accès à certains fichiers et dossiers sur le serveur Web, que ce soit pour des raisons de sécurité ou simplement pour le bon fonctionnement du script. Cette action s'appelle chmod ( ch ange file mod e), ou en russe: changer le mode d'accès aux fichiers. Ce nom provient de la commande Unix - chmod, qui modifie les permissions des fichiers. Au fil du temps, "chmod" est devenu synonyme du mot "permission" ("permission").

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

Lors de la création d'un fichier, l'utilisateur obtient automatiquement les droits les plus étendus pour faire n'importe quoi avec ce fichier, son groupe a légèrement moins de droits, et tous les autres sont complètement insignifiants. Dans Unix, il n'y a que trois droits de base - lire un fichier ou parcourir le répertoire (" R ead"), modifier un fichier ou un dossier, y écrire quelque chose, ou même le supprimer (" W rite"). Le dernier droit est le droit d'exécuter le fichier ("e X ecute").

Le mode chmod peut être noté en format numérique ou caractère. Par exemple: 755, rwxrxrx, 644, etc.

Comme vous l'avez déjà compris, les symboles r , w et x indiquent respectivement lire , écrire et exécuter . Vous pouvez définir des autorisations sur les fichiers de n'importe quelle 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 à l'alignement de la "coche". La première coche dans les champs "Propriétaire": lire, écrire, exécuter (rwx); Puis allez dans les champs "Groups": read, execute (rx); et enfin les champs "Restants": lire, exécuter (rx). Par conséquent, nous avons obtenu les droits rwxrxrx sur le fichier (à son tour, les lettres et les champs). Autrement dit, 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! Maintenant, vous devez être conscient de l'importance de définir les droits sur les fichiers et essayer d'assurer une sécurité maximale de vos scripts et données sur le serveur avec cet outil.


Notez le numéro 755 dans le champ Manuel. Il s'avère que chaque droit a un certain code numérique et peut être exposé 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'effectuer;
  • 40 - le groupe a le droit de lire;
  • 20 - le groupe a le droit d'enregistrer;
  • 10 - le groupe a le droit à la performance;
  • 4 - les autres ont le droit de lire;
  • 2 - les autres ont le droit d'enregistrer;
  • 1 - le reste a le droit d'être exécuté.
La somme de ces éléments donne le chmod désiré. Par exemple, nous voulons que le propriétaire fasse tout, et le groupe et le reste - il suffit de lire le fichier. Plier: 400 + 200 + 100 + 40 + 4 = 744. C'est-à-dire que nous avons besoin de chmod 744. Il ne nous reste plus qu'à additionner les nombres correspondant aux droits d'accès que nous voulons placer et à les installer.

Exemples:

400 + 40 + 4 = 444 - tous ont le droit de lire seulement.

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

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 l'ouvrez dans le navigateur, vous ne pouvez 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. Il est nécessaire que l'utilisateur puisse faire des entrées dans les livres d'or, les forums, etc.

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

Je vais vous donner une table encore plus pratique, à mon avis, pour calculer le chmod:

Valeurs Propriétaire Groupe Public (Autre)
Lire = 4 X X X
Ecrire = 2 X
Exécuter = 1 X X X
Montant: (4 + 2 + 1) = 7 (4 + 1) = 5 (4 + 1) = 5

Et à la fin, je vais décrire brièvement comment ces permis sont établis. Ceci est fait en utilisant n'importe quel client ftp:

  • Dans Windows Commander, ils changent via les éléments de menu "Fichier"> "Modifier les attributs". Cela modifie les autorisations sur le (s) fichier (s) et / ou dossier (s) sélectionné (s).
  • 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] [x] - 755
  • Dans CuteFTP, les autorisations sont modifiées à l'aide de l'élément "Modifier les attributs de fichier" du menu qui apparaît lorsque le bouton droit de la souris est cliqué sur le nom du fichier.