Commande chmod
Modification de caractéristiques
d'un noeud chmod chown chgrp
chown [ argument ]
, le paramètre argument est de la forme [qui] [opération]
[droit]
Les options :
-c, --changes utiliser le mode bavard mais rapporter seulement
les modifications lorsqu'elles surviennent
-f, --silent, --quiet supprimer la plupart des messages
d'erreur
-v, --verbose produire un diagnostic pour chaque fichier
traité
--reference=FICHIER utiliser les modes d'accès du
FICHIER de référence
au lieu de valeurs
-R, --recursive modifier récursivement fichiers et
répertoires
--help afficher l'aide-mémoire
--version afficher le nom et la version du logiciel
Chaque MODE se compose d'un ou plusieurs lettres de ugoa,
un des symbols +-= et
d'une ou plusieurs lettres rwxXstugo.
Rapporter toutes anomalies à <bug-coreutils@gnu.org>.
[qui] est une combinaison des lettres
:
- u pour le propriétaire ,
- g les membres
du groupe du propriétaire,
- o tous les
autres noté o (other),
- a pour tous ( valeur par défaut);
[ ajouter / enlever ]
+ pour autoriser,
- pour interdire
= pour donner certaines permissions et supprimer les autres;
[ droit ] est une combinaison de lettres
r pour lire
w pour écrire
x pour exécuter
s pour "set-uid"
ou le "set-gid" bit,
l pour la deamde
de verrouillage
Exemples :
Exemple de contenu d'un répertoire avec les différentes
permissions; le premier caractère différencie
les fichiers (-)
et les répertoires (d comme 'directory') :
des fichiers : premier caractère un --rw-r--r-- 1 cr cr 51908 aoû 7 01:49 java-xml.php
-rw-r--r-- 1 cr
cr 7384 aoû 15 23:28 liberty.txt
-rw------- 1 cr cr 766 aoû 17 00:17 mbox
Pour répertoire la première lettre
est un d ( d comme directory )
drwx------ 2
cr cr 1024 aoû 2 23:43 nsmail/
Pour un lien la première lettre est un l ( l comme lien )
lrwxrwxrwx 1
cr cr 21 aoû 16 21:53 java -> /usr/local/progs/java/
Modification des protections
A
la création d'un fichier, celui-ci se voit attribuer
des permissions standard qui peuvent être par exemple
:
-rw-r--r-- Dans ce cas, le propriétaire peut tout
faire sauf exécuter, les membres de son groupe et
tous les autres ne peuvent
que lire le fichier. Pour changer less permissions on dispose
de la commande chmod (change mode), qui s'écrit de la façon
suivante :
chmod [qui]+[opérations] [nom de fichier] pour ajouter une ou plusieurs permissions,
chmod [qui]-[opérations] [nom de fichier] pour supprimer une ou plusieurs permissions.
Exemples : chmod go+w fichier
autorise le groupe et les autres à écrire
dans fichier.
[cr@localhost /cr]# ls
-l fichier.txt
-rw-rw-rw- 1 cr cr 1445 aoû 17 10:13 fichier.txt
[cr@localhost /cr]# chmod
go-rw fichier.txt
[cr@localhost /cr]# ls -l fichier.txt
-rw------- 1 cr cr 1445 aoû 17 10:13 fichier.txt
[cr@localhost linux]$ chmod 000 fichier
[cr@localhost linux]$ ls -l fichier
---------- 1 cr cr 312 fév 11 15:36 fichier
[cr@localhost linux]$ chmod 111 fichier
[cr@localhost linux]$ ls -l fichier
---x--x--x 1 cr cr 312 fév 11 15:36 fichier*
[cr@localhost linux]$ chmod 222
fichier
[cr@localhost linux]$ ls -l fichier
--w--w--w- 1 cr cr 312 fév 11 15:36 fichier
On peut pas afficher le fichier
!
[cr@localhost linux]$ cat fichier
cat: fichier: Permission denied
[cr@localhost linux]$
Mais on peut écrire à
la suite à l'aide d'un pipe !
[cr@localhost linux]$ ls -l u*>>
fichier
[cr@localhost linux]$ chmod 644
fichier
[cr@localhost linux]$ cat fichier
umask000.txt
umask022.txt
umask111.txt
umask.txt
-rw-rw-rw- 1 cr cr 176 fév 11 14:59 umask000.txt
-rw-r--r-- 1 cr cr 202 fév 11 15:00 umask022.txt
-rw-rw-rw- 1 cr cr 189 fév 11 15:00 umask111.txt
-rw-rw-r-- 1 cr cr 1175 fév 11 15:02 umask.txt
[cr@localhost linux]$
[cr@localhost linux]$ chmod 333
fichier
[cr@localhost linux]$ ls -l fichier
--wx-wx-wx 1 cr cr 312 fév
11 15:36 fichier*
[cr@localhost linux]$ chmod 444
fichier
[cr@localhost linux]$ ls -l fichier
-r--r--r-- 1 cr cr 312 fév
11 15:36 fichier
[cr@localhost linux]$ chmod 555
fichier
[cr@localhost linux]$ ls -l fichier
-r-xr-xr-x 1 cr cr 312 fév
11 15:36 fichier*
[cr@localhost linux]$ chmod 666
fichier
[cr@localhost linux]$ ls -l fichier
-rw-rw-rw- 1 cr cr 312 fév
11 15:36 fichier
[cr@localhost linux]$ chmod 777
fichier
[cr@localhost linux]$ ls -l fichier
-rwxrwxrwx 1 cr cr 312 fév
11 15:36 fichier*
Le propriétaire peur lire et
écrire (rw) les membre du groupe lire (r) et les
autre lire(r)
[cr@localhost linux]$ chmod 644
fichier
[cr@localhost linux]$ ls -l fichier
-rw-r--r-- 1 cr cr 312 fév
11 15:36 fichier
Remarques :
Les permissions peuvent aussi être codées
en donnant la valeur octale des groupes de 3 bits rwx,
obtenue en donnant 4 à r, 2 à w, 1 à
x, et 0 à -.Par exemple, chmod 600 fich a pour
effet de fixer les permissions à rw----- (4+2+0
0+0+0 0+0+0);
chmod 777 fich, à rwxrwxrwx (4+2+1 4+2+1 4+2+1);chmod
644 fich, à rw-r--r-(4+2+0 4+0+0 4+0+0).
Valeur |
Autorisation |
Définition |
7
6
5
4
3
2
1
0 |
rwx
rw-
r-x
r--
-wx
-w-
--x
--- |
Lecture, écriture, exécution
Lecture, écriture
Lecture, exécution
Lecture seulement
Écriture et exécution
Écriture seulement
Exécution seulement
Pas d'autorisation |
Exemples :
[cr@localhost /cr]# ls -l fichier*
-rw------- 1 cr cr 1445 aoû 17 10:13 fichier.txt
[cr@localhost /cr]# chmod
644 fichier.txt
[cr@localhost /cr]# ls
-l fichier*
-rw-r--r-- 1 cr cr 1445 aoû 17 10:13 fichier.txt
[cr@localhost /cr]# chmod 655
fichier.txt
[cr@localhost /cr]# ls
-l fichier*
-rw-r-xr-x 1 cr cr 1445 aoû 17 10:13 fichier.txt*
[cr@localhost /cr]# chmod
644 fichier.txt
[cr@localhost /cr]# ls
-l fichier*
-rw-r--r-- 1 cr cr 1445 aoû 17 10:13 fichier.txt
[cr@localhost /cr]# chmod
666 fichier.txt
[cr@localhost /cr]# ls
-l fichier*
-rw-rw-rw- 1 cr cr 1445 aoû 17 10:13 fichier.txt
[cr@localhost /cr]#
Attention : Un
fichier aura beau être protégé en lecture,
écriture et exécution, il pourra quand même
être détruit
si le répertoire dans lequel il se trouve n'est pas
protégé en écriture.
|