Explication de la commande Chmod et des autorisations de fichiers Linux
Vous avez donc trouvé une sorte de Linux que vous aimez, mais vous êtes maintenant dérouté parce que vous n'avez pas la moindre idée sur les commandes de terminal et les autorisations de fichiers Linux?
Ou peut-être avez-vous un site Web hébergé sur un serveur Linux et vous rencontrez des problèmes d'autorisation de fichiers qui ne peuvent être résolus qu'avec une magie de ligne de commande.
Quoi qu’il en soit, l’une des commandes les plus essentielles de Linux pour apprendre un A à Z de Linux - 40 commandes essentielles à connaître Un à Z de Linux - 40 commandes essentielles à connaître - Linux est la troisième roue souvent ignorée de Windows et de Mac. Oui, au cours des dix dernières années, le système d'exploitation open source a gagné du terrain, mais il est encore loin d'être pris en compte… Lire la suite est une commande petite mais puissante appelée chmod. Mais avant d’expliquer ce que fait la commande, nous devons d’abord comprendre un peu comment Linux gère la sécurité des fichiers..
Les bases des autorisations de fichiers Linux
Les systèmes d'exploitation Linux sont en réalité des systèmes de type Unix (comprenant Linux vs Unix), et les systèmes de type Unix s'approchent des autorisations de fichier de la manière suivante:
Chaque fichier a un propriétaire, qui détermine le fichier “classe d'utilisateurs.” Chaque fichier a aussi un groupe, qui détermine le fichier “classe de groupe.” Tout utilisateur du système qui n'est pas le propriétaire et n'appartient pas au même groupe est considéré comme étant autres.
Tous les fichiers sur des systèmes de type Unix ont des autorisations attribuées aux trois classes. Celles-ci déterminent les actions pouvant être entreprises par lesdites classes pour le fichier donné..
Les trois actions disponibles sur un système de type Unix sont les suivantes: lis (la possibilité d'ouvrir et d'afficher le contenu du fichier), écrire (possibilité d'ouvrir et de modifier le contenu d'un fichier), et exécuter (la possibilité d'exécuter le fichier en tant que programme exécutable).
En d'autres termes, les autorisations d'un fichier déterminent si:
- Le propriétaire peut lire, écrire et exécuter le fichier..
- Le groupe peut lire, écrire et exécuter le fichier..
- Tout le monde peut lire, écrire et exécuter le fichier..
Les autorisations de fichiers Linux peuvent être affichées dans deux formats.
Le premier format s'appelle notation symbolique, qui est une chaîne de 10 caractères: un caractère représentant le type de fichier, puis neuf caractères représentant les autorisations read (r), write (w) et execute (x) du fichier, dans l'ordre du propriétaire, du groupe et des autres. Si non autorisé, le symbole tiret (-) est utilisé.
Par exemple:
-rwxr-xr--
Cela signifie que c'est un fichier standard avec des autorisations de lecture, d'écriture et d'exécution pour le propriétaire; lire et exécuter les autorisations pour le groupe; et seulement lire les autorisations pour tout le monde.
Le deuxième format s'appelle notation numérique, qui est une chaîne de trois chiffres représentant chacun les autorisations d'utilisateur, de groupe et autres. Chaque chiffre peut aller de 0 à 7, et la valeur de chaque chiffre est obtenue en faisant la somme des autorisations de la classe:
- 0 signifie aucune autorisation autorisée.
- +1 si la classe peut exécuter le fichier.
- +2 si la classe peut écrire dans le fichier.
- +4 si la classe peut lire le fichier.
En d'autres termes, la signification de chaque valeur de chiffre finit par être:
- 0: pas de permission
- 1: exécuter
- 2: écrire
- 3: écrire et exécuter
- 4: lu
- 5: Lire et exécuter
- 6: lire et écrire
- 7: Lire, écrire et exécuter
Donc, l'exemple ci-dessus (-rwxr-xr--
) serait 754 en notation numérique.
Voilà les autorisations de fichiers Linux en un mot.
Qu'est-ce que Chmod??
Sur les systèmes de type Unix, chmod est une commande système qui signifie “changer de mode” et vous permet de modifier manuellement les paramètres d'autorisation d'un fichier.
Ne pas confondre avec chown, qui est une autre commande de niveau système sur les systèmes de type Unix qui signifie “changer de propriétaire” et vous permet d'attribuer la propriété d'un fichier à un autre utilisateur, ou chgrp, Qui veut dire “changer de groupe” et affecte un fichier à un groupe différent. Celles-ci sont importantes à connaître, mais pas aussi couramment utilisées que chmod.
Que signifie Chmod 644?
Définir les autorisations d'un fichier sur 644 fait en sorte que seul le propriétaire puisse accéder au fichier et le modifier comme bon lui semble, tandis que tout le monde ne peut y accéder que sans modification, et personne ne peut exécuter le fichier, pas même le propriétaire. C'est le paramètre idéal pour les fichiers accessibles au public, car il équilibre la flexibilité avec la sécurité..
Que signifie Chmod 755?
Définir les autorisations d'un fichier sur 755 est fondamentalement la même chose que 644, sauf que tout le monde a également des autorisations d'exécution. Ceci est principalement utilisé pour les répertoires accessibles au public car l’autorisation d’exécution est nécessaire pour passer à un répertoire..
Que signifie Chmod 555?
Définir les autorisations d'un fichier sur 555 fait en sorte que le fichier ne puisse pas être modifié du tout par quiconque à l'exception du superutilisateur du système (en savoir plus sur le superutilisateur Linux. Qu'est-ce que SU et pourquoi est-il important d'utiliser efficacement Linux? Qu'est-ce que SU et pourquoi Important pour utiliser efficacement Linux: Le compte utilisateur Linux ou racine est un outil puissant qui peut être utile s’il est utilisé correctement ou dévastateur s’il est utilisé avec imprudence. Voyons pourquoi vous devriez être responsable lorsque vous utilisez SU. Lire la suite). Ce n'est pas aussi commun que 644, mais il est toujours important de savoir, car le paramètre en lecture seule empêche les modifications accidentelles et / ou la falsification.
Que signifie Chmod 777?
Définir les autorisations d'un fichier sur 777 permet à tout le monde de faire ce qu'il veut avec le fichier.. C'est un risque de sécurité énorme, en particulier sur les serveurs Web! Tout le monde peut accéder au fichier, le modifier à sa guise et l'exécuter sur le système. Vous pouvez imaginer les dégâts potentiels si un utilisateur malhonnête le mettait la main dessus.
Comment utiliser Chmod sur Linux
La commande chmod a un format simple:
chmod [permissions] [fichier]
Les autorisations peuvent être attribuées sous forme numérique, ce qui constitue le meilleur format à utiliser lorsque vous souhaitez attribuer des autorisations spécifiques à toutes les classes:
chmod 644 example.txt
Les autorisations peuvent également être données en notation symbolique, ce qui est utile lorsque vous souhaitez uniquement modifier les autorisations d'une classe particulière. Par exemple:
chmod u = rwx exemple.txt chmod g = rw exemple.txt chmod o = rw exemple.txt
Vous pouvez modifier les autorisations pour plusieurs classes, comme cet exemple, qui définit le propriétaire en lecture / écriture / exécution, mais le groupe et les autres en lecture / exécution:
chmod u = rwx, g = rw, o = rw exemple.txt
Lorsque vous affectez les mêmes autorisations à plusieurs classes, vous pouvez les combiner:
chmod u = rwx, go = rw exemple.txt
Mais la beauté d'utiliser la notation symbolique brille quand vous voulez seulement ajouter ou supprimer l'autorisation pour une action particulière pour une classe particulière.
Par exemple, cela ajoute l'autorisation d'exécution pour le propriétaire du fichier:
chmod u + x example.txt
Et ça supprime les autorisations d'écriture et d'exécution pour d'autres utilisateurs:
chmod o-wx example.txt
Enfin, si vous souhaitez appliquer un ensemble d'autorisations particulier à tous les fichiers et dossiers d'un répertoire particulier (c'est-à-dire un chmod récursif), utilisez l'option -R et ciblez un répertoire:
chmod -R 755 exemple_directory
Bien que la commande chmod paraisse un peu folle au premier abord, elle est en fait assez simple et parfaitement logique. Si vous comprenez ce qui précède, vous maîtrisez essentiellement chmod!
En savoir plus sur la maîtrise de Linux
Les commandes telles que chmod, chown et chgrp ne sont que la partie visible de l'iceberg de Linux. Si vous êtes nouveau dans le système d’exploitation, nous vous recommandons d’examiner ces astuces pratiques pour les débutants Linux ainsi que ces commandes Linux que vous ne devriez jamais exécuter..
Mais surtout, vous feriez mieux de consulter notre guide complet pour débutants sous Ubuntu et Linux Ubuntu: un guide pour débutant Ubuntu: un guide pour débutant Vous êtes curieux de connaître Ubuntu, mais vous ne savez pas par où commencer? Tout ce dont vous pourriez avoir besoin pour vous familiariser avec la dernière version d’Ubuntu se trouve ici, écrit en anglais simple et facile à comprendre. Lire la suite, qui vous apprendra tout ce que vous devez savoir pour démarrer et vous familiariser avec suffisamment pour vous sentir à l'aise.
Explorez plus sur: Commandes Linux.