Manuel de l'Utilisateur Expérimenté Solaris

Modification des droits d'accès (chmod)

Utilisez la commande chmod pour modifier les droits d'accès à un fichier ou à un répertoire. Pour pouvoir effectuer cette opération, vous devez être le propriétaire d'un fichier ou d'un répertoire, ou être superutilisateur. La commande chmod se présente sous la forme suivante :

chmod  droits_d'accès nom

droits_d'accès désigne les droits d'accès à modifer et nom, le nom du fichier ou du répertoire sur lequel portera la modification.

Les droits d'accès peuvent être indiqués sous différentes formes. La forme suivante est l'une des plus simples :

  1. Utilisez une ou plusieurs lettres pour indiquer le type d'utilisateur auquel les droits d'accès s'appliquent :

    • u (pour utilisateur)

  2. g (pour groupe)

  3. o (pour autres utilisateurs)

  4. a (pour toutes les catégories ci-dessus)

  5. Indiquez si les droits d'accès doivent être ajoutés (+) ou supprimés (-).

  6. Utilisez une ou plusieurs lettres pour indiquer les droits d'accès :

    • r (pour lire)

  7. w (pour écrire)

  8. x (pour exécuter)

Dans l'exemple suivant, le droit d'écriture est ajouté au répertoire carrots pour les utilisateurs appartenant au même groupe (ainsi, les attributs du droit d'accès sont g+w et name est le nom du répertoire carrots) :

$ ls -l carrots
drwxr-xr-x  3 user2           1024 Feb 10  11:15 carrots
$ chmod g+w carrots
$ ls -l carrots
drwxrwxr-x  3 user2           1024 Feb 10  11:15 carrots
$

Comme vous pouvez le voir, le tiret (-) du jeu de caractères correspondant au groupe d'utilisateurs a été remplacé par la lettre w suite à l'exécution de cette commande.

Pour éviter que les utilisateurs appartenant à un groupe différent du vôtre puissent lire et exécuter ce répertoire (les attributs du droit d'accès sont o-rx), vous devez entrer les commandes suivantes :

$ ls -l carrots
drwxrwxr-x  3 user2           1024 Feb 10 11:15 carrots
$ chmod o-rx carrots
$ ls -l carrots
drwxrwx---  3 user2           1024 Feb 10 11:15 carrots
$

Les lettres r (pour lire) et x (pour exécuter) du jeu de caractères correspondant aux autres utilisateurs ont été remplacées par un tiret (-).

Lorsque vous créez un nouveau fichier ou un nouveau répertoire, les droits d'accès sont affectés automatiquement par le système.

En règle générale, les paramètres d'affectation par défaut des nouveaux fichiers sont :

-rw-r--r--

ceux des nouveaux répertoires sont :

drwxr-xr-x

Par conséquent, pour que le nouveau fichier turnip soit exécutable par son propriétaire (user2), vous devez entrer les commandes suivantes :

$ ls -l turnip
-rw-r--r--  3 user2           1024 Feb 10  12:27 turnip
$ chmod u+x turnip
$ ls -l turnip
-rwxr--r--  3 user2           1024 Feb 10  12:27 turnip
$

Si vous souhaitez affecter simultanément les trois catégories d'utilisateurs, utilisez l'option a. Pour que le nouveau fichier garlic soit exécutable par l'ensemble des utilisateurs, vous devez entrer les commandes suivantes :

$ ls -l garlic
-rw-r--r--  3 user2           1024 Feb 10  11:31 garlic
$ chmod a+x garlic
$ ls -l garlic
-rwxr-xr-x  3 user2           1024 Feb 10  11:31 garlic
$

L'indicateur x apparaît alors dans les trois catégories.

Vous pouvez également modifier les attributs des droits d'accès à des groupes de fichiers ou à des répertoires, en utilisant le caractère générique *. Par exemple, pour changer les attributs des droits d'accès à l'ensemble des fichiers du répertoire courant veggies, afin que vous seul puissiez écrire dans ces fichiers, vous devez entrer les commandes suivantes :

$ pwd
/home/user2/veggies
$ ls -l
-rwxrwxrwx  3 user2          21032 Feb 12  10:31 beats
-rwxrwxrwx  2 user2             68 Feb 10  11:09 corn
-rwxrwxrwx  3 user2          12675 Feb 08  09:31 garlic
-rwxrwxrwx  1 user2           1024 Feb 14  16:38 onions
$ chmod go-w *
$ ls -l
-rwxr-xr-x  3 user2          21032 Feb 12  10:31 beats
-rwxr-xr-x  2 user2             68 Feb 10  11:09 corn
-rwxr-xr-x  3 user2          12675 Feb 08  09:31 garlic
-rwxr-xr-x  1 user2           1024 Feb 14  16:38 onions
$

Dans l'exemple ci-dessus, la commande pwd indique que le répertoire auquel vous appliquez la commande chmod est le répertoire courant.