Explication de la commande chmod et des autorisations de fichiers Linux
Vous avez donc trouvé votre version préférée de Linux, mais maintenant vous êtes confus parce que vous ne savez rien 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 rencontrez des problèmes d’autorisation de fichiers qui ne peuvent être résolus qu’avec de la magie en ligne de commande.
Quoi qu’il en soit, l’une des commandes Linux les plus élémentaires à apprendre est une commande petite mais puissante appelée RéviserMais avant d’expliquer ce que fait cette commande, nous devons d’abord comprendre comment Linux gère la sécurité des fichiers.
Principes de base des autorisations de fichiers Linux
Le système d’exploitation Linux est en fait un système de type Unix (comprenez Linux et Unix), et le système de type Unix gère les autorisations de fichiers comme suit :
chaque fichier a un propriétaire, qui détermine la « classe d’utilisateurs » du fichier.Chaque fichier possède également un grouper, qui détermine la « classe de groupe » du fichier.Tout utilisateur du système qui n’est pas le propriétaire et n’appartient pas au même groupe est identifié comme autre.
Tous les fichiers sur les systèmes de type Unix ont des autorisations attribuées aux trois classes, qui déterminent les opérations que ces classes peuvent effectuer sur un fichier donné.
Les trois opérations disponibles sur les systèmes de type Unix sont : lire (la possibilité d’ouvrir et d’afficher le contenu des fichiers), Écrire (la possibilité d’ouvrir et de modifier le contenu des fichiers), et mettre en œuvre (La possibilité d’exécuter un fichier en tant que programme exécutable).
Faire une vidéo du jour
En d’autres termes, les autorisations du fichier déterminent si :
- Le propriétaire peut lire, écrire et exécuter le fichier.
- Ce groupe peut lire, écrire et exécuter des fichiers.
- 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 s’appelle Symboles, qui est une chaîne de 10 caractères : un caractère pour le type de fichier, puis neuf caractères pour les autorisations de lecture (r), d’écriture (w) et d’exécution (x) du fichier, dans cet ordre propriétaire, groupe et autre. Si non autorisé, utilisez un tiret (-).
Par exemple:
-rwxr-xr–
Cela signifie qu’il s’agit d’un fichier normal et que le propriétaire dispose des autorisations de lecture, d’écriture et d’exécution ; des autorisations de lecture et d’exécution pour le groupe ; et uniquement des autorisations de lecture pour tous les autres.
Le deuxième format s’appelle signe dièse, qui est une chaîne de trois chiffres, chacun représentant l’utilisateur, le groupe et d’autres autorisations. Chaque nombre est compris entre 0 et 7, et la valeur de chaque nombre est obtenue en additionnant les permissions 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 des fichiers.
- +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 : Lecture
- 5 : lire et exécuter
- 6 : Lire et écrire
- 7 : Lire, écrire et exécuter
Ainsi, l’exemple ci-dessus (
-rwxr-xr–
) est 754 en notation numérique.
En un mot, il s’agit des autorisations de fichiers Linux.
Qu’est-ce que Chmod ?
Sur les systèmes de type Unix, Réviser est une commande au niveau du système qui signifie « modifier le mode » et vous permet de modifier manuellement les paramètres d’autorisation d’un fichier.
ne confondez pas chownqui 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 des fichiers à différents groupes. Celles-ci sont importantes, mais pas aussi courantes que chmod.
Que signifie Chmod 644 ?
Définir les autorisations du fichier sur 644 fait en sorte que seul le propriétaire peut accéder et modifier le fichier de son choix, les autres ne peuvent y accéder que sans modification et personne ne peut exécuter le fichier – pas même le propriétaire. Il s’agit de la configuration idéale pour les fichiers accessibles au public, car elle allie flexibilité et sécurité.
Que signifie Chmod 755 ?
Définir les autorisations du fichier sur 755 est fondamentalement identique à 644, sauf que tout le monde a des autorisations d’exécution. Ceci est principalement utilisé pour les répertoires accessibles au public, car une autorisation d’exécution est requise pour accéder au répertoire.
Que signifie Chmod 555 ?
Définir les autorisations du fichier sur 555 empêche toute personne autre que le superutilisateur du système de modifier le fichier (en savoir plus sur le superutilisateur Linux). Ce n’est pas aussi couramment utilisé que 644, mais il est toujours important de le savoir car un paramètre en lecture seule empêche les modifications accidentelles et/ou la falsification.
Que signifie Chmod 777 ?
Définir les autorisations du fichier sur 777 permet à quiconque de faire ce qu’il veut avec le fichier. Il s’agit d’un énorme risque de sécurité, en particulier sur les serveurs Web ! Littéralement, n’importe qui peut accéder au fichier, le modifier à volonté et l’exécuter sur le système. Vous pouvez imaginer les dommages potentiels si un utilisateur malhonnête l’obtient.
Comment utiliser Chmod sous Linux
La commande chmod a un format simple :
Réviser [permissions] [file]
Les autorisations peuvent être représentées numériquement, c’est le meilleur format lorsque vous souhaitez attribuer des autorisations spécifiques à toutes les classes :
chmod 644 exemple.txt
Les autorisations peuvent également être représentées par des symboles, ce qui est utile lorsque vous souhaitez uniquement modifier les autorisations pour une classe spécifique. 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, par exemple cet exemple 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 attribuez la même autorisation à plusieurs classes, vous pouvez les combiner :
chmod u=rwx,go=rw exemple.txt
Mais la beauté de l’utilisation de la notation symbolique entre en jeu lorsque vous souhaitez simplement ajouter ou supprimer des autorisations pour une action spécifique pour une classe spécifique.
Par exemple, ce Ajouter à Exécutez les autorisations pour le propriétaire du fichier :
chmod u+x exemple.txt
et ça retirer Autorisations d’écriture et d’exécution pour les autres utilisateurs :
chmod o-wx exemple.txt
Enfin, si vous souhaitez appliquer un ensemble spécifique d’autorisations à tous les fichiers et dossiers d’un répertoire spécifique (c’est-à-dire un chmod récursif), utilisez l’option -R et ciblez le répertoire :
chmod -R 755 exemple de répertoire
Bien que la commande chmod semble un peu folle au début, elle est en fait assez simple et complètement logique. Si vous comprenez ce qui précède, vous avez pratiquement maîtrisé chmod !
En savoir plus sur la maîtrise de Linux
Les commandes telles que chmod, chown et chgrp ne sont que la pointe de l’iceberg Linux. Si vous débutez avec le système d’exploitation, nous vous recommandons de consulter ces astuces pour les débutants Linux et ces commandes Linux que vous ne devriez jamais exécuter.
Mais plus important encore, vous pouvez également consulter notre guide complet du débutant sur Ubuntu et Linux, qui vous apprendra tout ce dont vous avez besoin pour démarrer et suffisamment familier pour vous sentir à l’aise.
A propos de l’auteur