Manuel de l'Utilisateur Expérimenté Solaris

Définition de droits d'accès absolus

Jusqu'ici, les explications relatives au droit d'accès se sont limitées à l'utilisation de la commande chmod en vue de modifier les attributs de droits d'accès relativement à leurs valeurs par défaut. L'utilisation de la commande chmod sous une forme différente, par application de codes numériques indiquant les droits d'accès, vous permet de définir de manière absolue un droit d'accès à un fichier ou à un répertoire.

La syntaxe correspondante de la commande chmod est la suivante :

chmod code_ numérique nom

code_numérique désigne le code numérique et nom le nom du fichier ou du répertoire pour lequel le droit d'accès est modifié.

Le code numérique complet est composé de trois chiffres, utilisés pour chacune des trois catégories prédéfinies : utilisateur, groupe et autres. Par exemple, la commande suivante définit un droit de lecture, d'écriture et d'exécution absolu pour les catégories utilisateur et groupe, et uniquement un droit d'exécution pour la catégorie autres :

$ chmod 771 garlic

Le Tableau 3-1 montre comment le code 771 est utilisé pour représenter les droits d'accès au fichier garlic.

Tableau 3-1 Droits d'accès au fichier garlic

Droits d'accès 

Utilisateur 

Groupe 

Autres 

Lire 

Ecrire 

Exécuter 

Total 

Chaque colonne du tableau 3-1 représente l'une des catégories prédéfinies : utilisateur, groupe et autres. Pour définir un droit de lecture, insérez le chiffre 4 dans la colonne prévue à cet effet. Pour définir un droit d'écriture, insérez 2. Pour définir un droit d'exécution, insérez 1. Le total des trois colonnes figurant dans la dernière rangée du tableau représente le code numérique complet.

L'écran suivant, dans lequel la commande ls -l indique les résultats obtenus, constitue un autre exemple de définition d'un droit d'accès absolu :

$ ls -l onion
-rw-r--r--  3 user2           1024 Feb 10  11:46 onion
$ chmod 755 onion
$ ls -l onion
-rwxr-xr-x  3 user2           1024 Feb 10  11:48 onion
$

Pour le fichier onion, les droits d'accès sont définis de telle manière que l'utilisateur puisse lire, écrire, et exécuter ce fichier ; les membres de la catégorie groupe peuvent le lire et l'exécuter, de même que les membres de la catégorie autres. Le code numérique utilisé pour définir les droits d'accès au fichier onion est défini dans le Tableau 3-2.

Tableau 3-2 Droits d'accès au fichier onion

Droits d'accès 

Utilisateur 

Groupe 

Autres 

Lire 

Ecrire 

Exécuter 

Total 

Pour attribuer un droit de lecture, d'écriture et d'exécution du fichier cabbage aux trois catégories du tableau ci-dessus, vous devez bien entendu entrer les commandes suivantes :

$ ls -l cabbage
-rw-r--r--  3 user2           1024 Feb 10  11:51 cabbage
$ chmod 777 cabbage
$ ls -l cabbage
-rwxrwxrwx  3 user2           1024 Feb 10  11:53 cabbage
$

Cet exemple est décomposé dans le Tableau 3-3.

Tableau 3-3 Droits d'accès au fichier cabbage

Droits d'accès 

Utilisateur 

Groupe 

Autres 

Lire 

Ecrire 

Exécuter 

Total 

Le code numérique 777 représente le niveau maximal de droits d'accès que vous pouvez définir.

Comme pour changer un droit d'accès relatif, vous pouvez utiliser le caractère générique * afin de définir un droit d'accès absolu à l'ensemble des fichiers du répertoire courant. Imaginons que vous souhaitiez définir un droit d'accès absolu à l'ensemble des fichiers du répertoire courant veggies : si vous entrez les commandes suivantes, vous aurez un droit de lecture, d'écriture, et d'exécution, votre groupe aura un droit de lecture et d'exécution, et tous les autres utilisateurs auront uniquement un droit d'exécution.

$ 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 751 *
$ ls -l
-rwxr-x--x  3 user2          21032 Feb 12  10:31 beats
-rwxr-x--x  2 user2             68 Feb 10  11:09 corn
-rwxr-x--x  3 user2          12675 Feb 08  09:31 garlic
-rwxr-x--x  1 user2           1024 Feb 14  16:38 onions
$

Dans l'exemple ci-dessus, la commande pwd indique que le répertoire sur lequel vous effectuez cette procédure est le répertoire courant. La commande ls -l est affichée uniquement pour illustrer le changement des droits d'accès. Lors de la définition des droits d'accès absolus, il n'est pas nécessaire de connaître les types des droits d'accès en vigueur dans le système.

Pour plus d'informations sur la commande chmod(1), consultez les man Pages(1): User Commands.