Bonjour pristella,
La commande chmod (CHangeMOD permet de definir les droits d'accés d'un fichier.
-v c'est une option qui permet d'afficher dans le terminal ce que fait la commande
-R c'est pour recursif (descendre dans l'arborescence de répertoire)
Les droits d'un fichier sous Linux se presentent de la façon suivante :
-rwxrwxrwx (dans ce cas les en ReadWriteeXe sont fixés pour tout le monde)
tous = Propriétaire Groupe LesAutres
all= Owner Group Other
Avec chmod on peut accorder des droits de 2 façons :
1. en utilisant les lettres r, w, x qui designent les droits en lecture, écriture et en exécution.
Pour designer les utilisateurs on a les lettres u pour le propriétaire, g pour group et o pour les autres et a pour tous.
L'opération se fait avec + pour ajouter des droits et - pour enlever et = pour fixer un accés exact
Ex: ajoute les droits en écriture et exécution de fichier pour les autres
chmod o+wx fichier
Une petite schéma de construction pour chmod
Utilisateur Opérateur Type accès
u + r
g - w
o = x
a
2. en utilisant la notation octale
Propriétaire
lecture (r) -
400
écriture(w) -
200
exécution(x) -
100
Groupe
lecture (r) -
40
écriture(w) -
20
exécution(x) -
10
Autres
lecture (r) -
4
écriture(w) -
2
exécution(x) -
1
Par exemple si on veut établir pour un fichier les droit suivantes
-
propriétaire
lecture + ecriture + exécution = 400 + 200 +100 =
700
-
groupe
lecture + exécution = 40 + 10 =
50
-
les autres
lecture + exécution = 4 + 1 =
5
En total ça donne 700 + 50 + 5 =
755
Donc je vais écrire
chmod -v 0755 fichier
ou
chmod 0755
dans ce cas je ne vois pas ce que fait la commande - v pour verbose
ou
chmod 755 fichier
Voici un petit assistant pour calculer les droits en octal
http://fr.selfhtml.org/petitsassistants/chmod.htm
Le sticky bit
Le sticky bit c'est un droit qui réagit de la façon suivante
- pour fichier
exécutable : il reste en mémoire, son chargement et rapide
- pour
répertoire : un fichier ne peut être détruit que par son propriétaire (comme le cas/tmp tous les utilisateurs ont accès c'est une bonne politique de mettre le sticky bit)
En octal on le répresenté par 1000 d'ou
chmod -vR 1777 /tmp
Donc 1000 + 700 + 70 + 7 =
1777
En littéral sticky bit correspond à la lettre
t
La commande
ls -l sur un répertoire qui a positionné le sticky bit à la place de x on verra un t
Je m'arrête ici, mais sache qu'il ya aussi les droits d'endossement (
SUID = 4000 et
SGID = 2000)
Il existe aussi les attributs des fichiers ( voir les commandes
lsattr et
chattr)
jipicy a écrit un bon tuto dans la base de connaissance
http://www.commentcamarche.net/faq/sujet-1345-linux-gestion-des-attributs-de-fich...
Et encore les
ACLs POSIX (voir les commandes
getfacl et
setfacl)
lami20j