Explication de la commande Chmod et des autorisations de fichier Linux

Explication de la commande Chmod et des autorisations de fichier Linux

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 avez-vous un site Web hébergé sur un serveur Linux et vous avez rencontré des problèmes d'autorisation de fichiers qui ne peuvent être résolus qu'avec de la magie de ligne de commande.





Quoi qu'il en soit, l'un des les commandes Linux les plus essentielles à apprendre 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 fait des systèmes de type Unix ( comprendre Linux vs Unix ), et les systèmes de type Unix abordent les autorisations de fichiers comme suit :

Chaque fichier a un propriétaire , qui détermine la 'classe d'utilisateurs' du fichier. Chaque fichier a é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 considéré comme autres .



Tous les fichiers sur les systèmes de type Unix ont des autorisations attribuées aux trois classes, et 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 : lire (la possibilité d'ouvrir et de visualiser le contenu du fichier), écrivez (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 s'appelle 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 dans l'ordre du propriétaire, du groupe et autres. S'il n'est pas autorisé, le symbole tiret (-) est utilisé.

Par exemple:

-rwxr-xr--

Cela signifie qu'il s'agit d'un fichier normal 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 ne lire que 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 respectivement l'utilisateur, le groupe et d'autres autorisations. 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: Ecrire
  • 3: Ecrire et exécuter
  • 4: Lire
  • 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.

Ce sont les autorisations de fichiers Linux en un mot.

Qu'est-ce que Chmod ?

Sur les systèmes de type Unix, chmod est une commande au niveau du système qui signifie « changer le mode » et vous permet de modifier manuellement les paramètres d'autorisation d'un fichier.

où est le générateur de code facebook

A 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 groupe différent. Ceux-ci sont importants à connaître, mais pas aussi couramment utilisés que chmod.

Que signifie Chmod 644 ?

En définissant les autorisations d'un fichier sur 644, seul le propriétaire peut accéder au fichier et le modifier comme il le souhaite, tandis que tout le monde peut uniquement 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 concilie flexibilité et sécurité.

exception de thread système Windows 10 bsod non gérée

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 dans un répertoire.

Que signifie Chmod 555 ?

La définition des autorisations d'un fichier sur 555 fait en sorte que le fichier ne peut être modifié du tout par personne, à l'exception du superutilisateur du système (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 le paramètre en lecture seule empêche les modifications accidentelles et/ou les falsifications.

Que signifie Chmod 777 ?

La définition des autorisations d'un fichier sur 777 permet à tout le monde de faire ce qu'il veut avec le fichier. C'est un énorme risque de sécurité, en particulier sur les serveurs Web ! Littéralement, n'importe qui peut accéder au fichier, le modifier à sa guise et l'exécuter sur le système. Vous pouvez imaginer les dommages potentiels si un utilisateur malveillant mettait la main dessus.

Comment utiliser Chmod sur Linux

La commande chmod a un format simple :

chmod [permissions] [file]

Les autorisations peuvent être données en notation numérique, qui est le meilleur format à utiliser lorsque vous souhaitez attribuer des autorisations spécifiques pour 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 en lecture/écriture/exécution mais le groupe et les autres en lecture/exécution :

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, ce 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 example_directory

Bien que la commande chmod semble un peu folle à première vue, elle est en fait assez simple et tout à fait logique. Si vous comprenez ce qui précède, vous maîtrisez essentiellement chmod !

En savoir plus sur la maîtrise de Linux

Des commandes comme 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 ainsi que ces commandes Linux que vous ne devriez jamais exécuter.

Mais surtout, vous feriez mieux de consulter notre guide complet du débutant sur Ubuntu et Linux , qui vous apprendra tout ce que vous devez savoir pour commencer et suffisamment familiarisé pour vous sentir à l'aise.

Partager Partager Tweeter E-mail 5 astuces pour booster vos machines Linux VirtualBox

Vous en avez assez des mauvaises performances offertes par les machines virtuelles ? Voici ce que vous devez faire pour améliorer les performances de votre VirtualBox.

Lire la suite
Rubriques connexes
  • Linux
  • Commandes Linux
A propos de l'auteur Joël Lee(1524 articles publiés)

Joel Lee est le rédacteur en chef de MakeUseOf depuis 2018. Il est titulaire d'un B.S. en informatique et plus de neuf ans d'expérience professionnelle en rédaction et en édition.

Plus de Joel Lee

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner