Publicité
Vous avez donc trouvé une saveur de Linux que vous aimez, mais maintenant vous êtes confus parce que vous n'avez pas la moindre idée des commandes de terminal et des autorisations de fichiers Linux?
Ou peut-être que vous avez un site Web hébergé sur un serveur Linux et que vous avez rencontré des problèmes d'autorisation de fichier qui ne peuvent être résolus qu'avec de la magie en ligne de commande.
Quoi qu'il en soit, l'un des les commandes Linux les plus essentielles à apprendre Un A-Z de Linux - 40 commandes essentielles que vous devez savoirLinux est la troisième roue souvent ignorée de Windows et Mac. Oui, au cours de la dernière décennie, le système d'exploitation open source a gagné beaucoup de traction, mais il est encore loin d'être envisagé ... Lire la suite est une petite mais puissante commande 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 fait des systèmes de type Unix (comprendre Linux vs Unix), et les systèmes de type Unix approchent les autorisations de fichiers comme ceci:
Chaque fichier a un propriétaire, qui détermine la "classe d'utilisateurs" du fichier. Chaque fichier a également un groupe, qui détermine la "classe de groupe" du fichier. Tout utilisateur du système qui n'est pas propriétaire et n'appartient pas au même groupe est déterminé comme étant autres.
Tous les fichiers sur les systèmes de type Unix ont des autorisations attribuées aux trois classes, et celles-ci déterminent quelles actions peuvent être prises par lesdites classes pour le fichier donné.
Les trois actions disponibles sur un système de type Unix sont: lis (la possibilité d'ouvrir et de visualiser le contenu du fichier), écrire (la 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 oui ou non:
- Le propriétaire peut lire, écrire et exécuter le fichier.
- Le groupe peut lire, écrire et exécuter le fichier.
- N'importe qui d'autre peut lire, écrire et exécuter le fichier.
Les autorisations de fichiers Linux peuvent être affichées dans deux formats.
Le premier format est appelé notation symbolique, qui est une chaîne de 10 caractères: un caractère qui représente le type de fichier, puis neuf caractères qui représentent les autorisations de lecture (r), d’écriture (w) et d’exécution (x) du fichier par ordre de propriétaire, de groupe et autres. S'il n'est pas autorisé, le symbole de tiret (-) est utilisé.
Par exemple:
-rwxr-xr--
Cela signifie qu'il s'agit d'un fichier standard avec des autorisations de lecture, d'écriture et d'exécution pour le propriétaire; lire et exécuter des autorisations pour le groupe; et lire uniquement les autorisations pour tout le monde.
Le deuxième format est appelé notation numérique, qui est une chaîne de trois chiffres représentant chacun l'utilisateur, le groupe et d'autres autorisations, respectivement. Chaque chiffre peut aller de 0 à 7, et la valeur de chaque chiffre est obtenue en additionnant les autorisations de la classe:
- 0 signifie qu'aucune autorisation n'est 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 numérique finit par être:
- 0: Aucune autorisation
- 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
Ainsi, l'exemple ci-dessus (-rwxr-xr--
) serait 754 en notation numérique.
Ce sont les autorisations de fichiers Linux en bref.
Qu'est-ce que Chmod?
Sur les systèmes de type Unix, chmod est une commande au niveau du système qui signifie «mode de changement» et vous permet de modifier manuellement les paramètres d'autorisation d'un fichier.
À ne pas confondre avec chown, qui est une autre commande au niveau du 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 signifie «changer de groupe» et attribue un fichier à un autre groupe. Ce sont importants à savoir, mais pas aussi couramment utilisés que chmod.
Que signifie Chmod 644?
Si vous définissez les autorisations d'un fichier sur 644, seul le propriétaire peut accéder au fichier et le modifier, quelle que tout le monde puisse accéder sans modifier et que personne ne peut exécuter le fichier, pas même le propriétaire. Il s'agit du paramètre idéal pour les fichiers accessibles au public, car il équilibre flexibilité et sécurité.
Que signifie Chmod 755?
La définition des 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 se transformer en répertoire.
Que signifie Chmod 555?
La définition des autorisations d'un fichier sur 555 fait en sorte que le fichier ne peut pas être modifié du tout par quiconque, sauf le superutilisateur du système (en savoir plus sur le superutilisateur Linux Qu'est-ce que SU et pourquoi est-il important d'utiliser Linux efficacement?Le compte d'utilisateur Linux SU ou root est un outil puissant qui peut être utile lorsqu'il est utilisé correctement ou dévastateur s'il est utilisé de façon imprudente. Voyons pourquoi vous devriez être responsable lorsque vous utilisez SU. Lire la suite ). Ce n'est pas aussi couramment utilisé que le 644, mais il est toujours important de le savoir car le paramètre en lecture seule empêche les modifications accidentelles et / ou la falsification.
Que signifie Chmod 777?
La définition des autorisations d'un fichier sur 777 permet à chacun de faire ce qu'il veut avec le fichier. Il s'agit d'un énorme risque pour la sécurité, en particulier sur les serveurs Web! Littéralement, n'importe qui peut accéder au fichier, le modifier comme il le souhaite et l'exécuter sur le système. Vous pouvez imaginer les dommages potentiels si un utilisateur voyou mettait la main dessus.
Comment utiliser Chmod sur Linux
La commande chmod a un format simple:
chmod [autorisations] [fichier]
Les autorisations peuvent être données en notation numérique, qui est 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 example.txt. chmod g = rw example.txt. chmod o = rw example.txt
Vous pouvez modifier les autorisations pour plusieurs classes, comme cet exemple qui définit le propriétaire pour lire / écrire / exécuter mais le groupe et les autres pour lire / exécuter:
chmod u = rwx, g = rw, o = rw example.txt
Lorsque vous attribuez les mêmes autorisations à plusieurs classes, vous pouvez les combiner:
chmod u = rwx, go = rw example.txt
Mais la beauté de l'utilisation de la notation symbolique brille lorsque vous souhaitez uniquement ajouter ou supprimer l'autorisation pour une action particulière pour une classe particulière.
Par exemple, cette 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 les autres utilisateurs:
chmod o-wx example.txt
Enfin, si vous souhaitez appliquer un ensemble particulier d'autorisations à 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 répertoire_exemple
Bien que la commande chmod semble un peu folle à première vue, elle est en fait assez simple et entièrement logique. Si vous comprenez ce qui précède, vous maîtrisez le chmod!
En savoir plus sur la maîtrise de Linux
Les commandes comme chmod, chown et chgrp ne sont que la pointe de l'iceberg Linux. Si vous êtes nouveau sur le système d'exploitation, nous vous recommandons de vérifier ces astuces pour les débutants Linux ainsi que ceux-ci Commandes Linux que vous ne devriez jamais exécuter.
Mais surtout, vous feriez mieux en consultant notre guide complet pour débutant sur Ubuntu et Linux Ubuntu: Guide du débutantCurieux d'Ubuntu, mais vous ne savez pas par où commencer? Tout ce dont vous pourriez avoir besoin pour commencer avec la dernière version d'Ubuntu est ici, écrit en anglais simple et facile à comprendre. Lire la suite , qui vous apprendra tout ce que vous devez savoir pour commencer et suffisamment familiarisé pour vous sentir à l'aise.
Joel Lee a un B.S. en informatique et plus de six ans d'expérience en rédaction professionnelle. Il est le rédacteur en chef de MakeUseOf.