2.2. Manipulation des attributs de fichiers

La série de commandes présentée ici est utilisée pour changer le propriétaire ou groupe propriétaire d'un fichier ou ses droits d'accès. Nous avons vu les différents droits d'accès dans le chapitre « Basic Unix concepts  » du Guide de l'utilisateur.

2.2.1. chown, chgrp : changer l'utilisateur et le groupe propriétaires d'un ou plusieurs fichiers (CHange OWNer, changer de propriétaire; CHange GRouP) changer de groupe

La syntaxe de la commande chown est la suivante :

chown [options] <utilisateur[.groupe]> <fichier|rép.> [fichier|rép...]

Entre autres options, on trouve :

  1. -R Récursif; changer le propriétaire de tous les fichiers et sous-répertoires d'un répertoire donné.

  2. -v Mode verbeux; décrit toutes les actions effectuées par chown; rapporte quels fichiers ont changé de propriétaire à la suite de la commande et lesquels n'ont pas changé.

  3. -c Comme -v, mais ne rapporte que les fichiers pour lesquels un changement a eu lieu.

Quelques exemples :

  1. chown nobody /shared/book.tex Changer le propriétaire du fichier /shared/book.tex en nobody.

  2. chown -Rc jean.musique *.mid concerts/ Donner la propriété de tous les fichiers dans le répertoire courant se terminant par .mid et de tous les fichiers et sous-répertoires du répertoire concerts/ à jean et au groupe musique, en ne rapportant que les fichiers affectés par la commande.

La commande chgrp ne vous laisse changer que le groupe propriétaire d'un fichier ou d'un groupe de fichiers; sa syntaxe est très semblable à celle de la commande chown :

chgrp [options] <groupe> <fichier|rép.> [fichier|rép...]

Les options de cette commande sont les mêmes que pour chown, et elle est utilisée de façon très similaire. Ainsi, la commande :

chgrp disk /dev/hd*

attribue au groupe disk tous les fichiers du répertoire /dev dont le nom commence par hd.

2.2.2. chmod : changer les permissions sur des fichiers et des répertoires (CHange MODe, changer le mode)

La commande chmod a une syntaxe bien particulière. La syntaxe générale est :

chmod [options] <changement de mode> <fichier|rép.> [fichier|rép...]

mais ce qui la distingue, ce sont les différentes formes que peut prendre le changement de mode. Il peut être spécifié de deux façons :

Les options principales sont très similaires à celles de chown ou chgrp :

  1. -R Changer les droits d'accès récursivement.

  2. -v Mode verbeux, décrire les actions effectuées pour chaque fichier.

  3. -c Comme -v mais ne rapporte que les fichiers dont les droits d'accès ont changé.

Exemples :

  1. chmod -R o-w /shared/docs Enlever de façon récursive le droit d'accès en écriture aux « autres  » sur tous les fichiers et sous-répertoires du répertoire /shared/docs/.

  2. chmod -R og-w,o-x prive/ Enlever de façon récursive le droit d'accès en écriture pour le groupe et les autres sur tout le répertoire prive/, et retire le droit d'accès en exécution pour les autres.

  3. chmod -c 644 divers/fichier* Changer les droits d'accès de tous les fichiers du répertoire divers/ dont les noms commencent par fichiers en rw-r--r-- (droit d'accès en lecture pour tout le monde et droit d'accès en écriture pour le propriétaire du fichier seulement), et ne rapporter que les fichiers affectés par l'opération.