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 |
où 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 :
Utilisez une ou plusieurs lettres pour indiquer le type d'utilisateur auquel les droits d'accès s'appliquent :
u (pour utilisateur)
g (pour groupe)
o (pour autres utilisateurs)
a (pour toutes les catégories ci-dessus)
Indiquez si les droits d'accès doivent être ajoutés (+) ou supprimés (-).
Utilisez une ou plusieurs lettres pour indiquer les droits d'accès :
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 :
Dans l'exemple ci-dessus, la commande pwd indique que le répertoire auquel vous appliquez la commande chmod est le répertoire courant.