CHMOD(1) Manuel de Référence d'OpenBSD CHMOD(1)
NOM
chmod - modifie les modes d'accès d'un fichier
RÉSUMÉ
chmod [-R [-H | -L | -P]] mode fichier …
DESCRIPTION
L'utilitaire chmod modifie les bits de mode des fichiers indiqués selon ce qui a été spécifié à l'opérande mode. Le mode d'un fichier détermine ses permissions, entre autres attributs.
Les options sont les suivantes :
- -H
Si l'option -R est également spécifiée, les liens symboliques de la ligne de commande sont parcourus. (Les liens symboliques rencontrés pendant le parcours de l'arborescence ne sont pas parcourus.)
- -L
Si l'option -R est également spécifiée, tous les liens symboliques sont parcourus.
- -P
Si l'option -R est également spécifiée, aucun lien symbolique n'est parcouru.
- -R
Parcourt récursivement les répertoires indiqués en argument. Modifie les modes des fichiers dans les répertoires ainsi que dans les sous-répertoires, au lieu de s'arrêter au premier niveau de répertoire.
Les liens symboliques ne possèdent pas de mode ; ainsi, à moins qu'une option -H ou -L soit précisée, chmod sur un lien symbolique réussit toujours et n'a aucun effet. Les options -H, -L et -P sont ignorées à moins que l'option -R ne soit spécifiée. De plus, ces options prévalent les unes sur les autres de sorte que la dernière option spécifiée décide de l'action de la commande.
Seul le propriétaire du fichier et le super-utilisateur ont le droit de modifier les modes d'un fichier.
L'utilitaire chmod retourne 0 en cas de réussite, ou >0 si une erreur s'est produite.
Modes absolus
Les modes absolus sont spécifiés selon le format suivant :
chmod nnnn fichier […]
Un mode absolu est un nombre octal (spécifié comme nnnn, où n est un chiffre entre 0 et 7) obtenu en appliquant un OU à n'importe quelle valeur parmi les suivantes :
- 0400 Permet la lecture par le propriétaire.
- 0200 Permet l'écriture par le propriétaire.
- 0100 Permet l'exécution (ou le parcours dans les répertoires) par le propriétaire.
- 0700 Permet la lecture, l'écriture et l'exécution/parcours par le propriétaire.
- 0040 Permet la lecture par le groupe propriétaire du fichier.
- 0020 Permet l'écriture par le groupe propriétaire du fichier.
- 0010 Permet l'exécution (ou le parcours dans les répertoires) par le groupe propriétaire du fichier.
- 0070 Permet la lecture, l'écriture et l'exécution/parcours par le groupe propriétaire du fichier.
- 0004 Permet la lecture par les autres utilisateurs.
- 0002 Permet l'écriture par les autres utilisateurs.
- 0001 Permet l'exécution (ou le parcours dans les répertoires) par les autres utilisateurs.
- 0007 Permet la lecture, l'écriture et l'exécution/recherche par les autres utilisateurs.
En complément des modes d'autorisation de fichiers, les bits de mode suivants sont possibles :
- 4000 Utilise l'ID du propriétaire lors de l'exécution.
- 2000 Utilise l'ID du groupe propriétaire du fichier lors de l'exécution.
Le bit d'exécution associé à un répertoire est souvent considéré comme le bit de “parcours”. Afin d'accéder à un fichier, un utilisateur doit avoir l'autorisation de parcourir chacun des répertoires menant à celui-ci dans l'arborescence du système de fichiers. Par exemple, pour accéder au fichier /bin/ls, l'autorisation d'exécution est réclamée sur /, /bin, et bien sûr pour l'exécutable ls lui-même.
Modes symboliques
Les modes symboliques sont spécifiés selon le format suivant :
chmod <[qui]op[perm]>,[[qui]op[perm]],[…] fichier […]
Les symboles qui désignent la catégorie d'utilisateur pour laquelle on modifie ou assigne des permissions :
- u Permissions de l'utilisateur (propriétaire).
- g Permissions du groupe.
- o Permissions des autres utilisateurs.
- a Toutes les catégories citées ci-dessus.
Il ne faut pas prendre le symbole “o” comme l'abréviation de “owner” – propriétaire, mais comme l'abréviation de “others” – les autres. C'est le bit utilisateur, “u”, qui désigne se réfère au propriétaire du fichier.
Les symboles op représentent les opérations à réaliser, comme suit :
- + Si aucune valeur n'est fournie pour perm, l'opération “+” n'a aucun effet. Si aucune valeur n'est fournie pour qui, chacun des bits d'autorisation définis dans perm est levé si le bit correspondant dans le masque de création du mode de fichiers est absent. Dans les cas contraires, les bits de mode définis par les valeurs qui et perm sont levés.
- - Si aucune valeur n'est fournie pour perm, l'opération “-” n'a aucun effet. Si aucune valeur n'est fournie pour qui, chacun des bits d'autorisation définis dans perm est effacé si le bit correspondant dans le masque de création du mode de fichiers est absent. Dans les cas contraires, les bits de mode définis par les valeurs qui et perm sont effacés.
- = Les bits de mode spécifiés par la valeur qui sont effacés, ou, si qui n'est pas défini, les bits de mode des catégories utilisateur, groupe et autres sont effacés. Si aucune valeur n'est fournie par qui, chacun des bits d'autorisation définis dans perm est levé si le bit correspondant dans le masque de création du mode de fichiers est absent. Dans les cas contraires, les bits de mode définis par les valeurs qui et perm sont levés.
Le paramètre perm (symbole d'autorisation) représente des parties des bits de mode, selon ce qui suit :
- r Bits de lecture.
- s set-user-ID and set-group-ID sur les bits d'exécution.
- t Sticky bit.
- w Bits d'écriture.
- x Bits d'exécution/parcours.
- X Bits d'exécution/parcours si le fichier est un répertoire ou si un quelconque bit d'exécution/parcours fait partie du mode original (inchangé). Les opérations avec le symbole “X” dans perm ne sont significatives que si elles sont associées au symbole “+”, et sont ignorées dans les autres cas.
- u Bits de permission de l'utilisateur (propriétaire) dans le mode du fichier original.
- g Bits de permission du groupe dans le mode du fichier original.
- o Bits de permission des autres autres utilisateurs dans le mode du fichier original.
Chaque clause (fournie sur la ligne de commande sous la forme d'une liste d'éléments séparés par des virgules) spécifie une ou plusieurs opérations à appliquer sur les bits de mode, et chaque opération est réalisée dans l'ordre spécifié.
Les opérations sur les autorisations des autres utilisateurs (indiquées par le symbole “o”), en association avec les symboles “s” ou “t” dans perm, sont ignorées.
EXEMPLES
Rendre le fichier accessible en lecture pour tous et en écriture pour le propriétaire uniquement :
$ chmod 644 fichier
Retirer l'autorisation d'écriture au groupe et aux autres utilisateurs :
$ chmod go-w fichier
Remettre les permissions de lecture et d'écriture à leur valeur par défaut habituelle, mais conserve les permissions d'exécution déjà en place :
$ chmod =rw,+X fichier
Rendre un répertoire ou un fichier accessible en parcours/exécution pour tous s'il est déjà parcourable/exécutable par un utilisateur :
$ chmod +X fichier
Toutes ces commandes rendront un fichier accessible en lecture/exécution pour tous et en écriture pour le propriétaire uniquement :
$ chmod 755 fichier $ chmod u=rwx,go=rx fichier $ chmod u=rwx,go=u-w fichier
Retirer tous les bits de mode au groupe et aux autres utilisateurs :
$ chmod go= fichier
Rendre les bits du groupe identiques à ceux de l'utilisateur (propriétaire), mais retirer le bit d'écriture au groupe :
$ chmod g=u-w fichier
VOIR AUSSI
chflags(1), chgrp(1), find(1), install(1), chmod(2), stat(2), umask(2), fts(3), setmode(3), symlink(7), chown(8), sticky(8)
STANDARDS
L'utilitaire chmod est conforme à la spécification IEEE Std 1003.1-2004 (“POSIX”).
Les drapeaux [-HLP] sont des extensions à cette spécification.
HISTORIQUE
Une commande chmod est apparue dans AT&T UNIX Version 1.
BUGS
Il n'y a aucune option perm pour les bits dangereux.
OpenBSD 4.4 31 mai 2007 3