Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format
PDF et la grise au format ODT →
Ceci est une ancienne révision du document !
Je propose d'aborder les concepts de droits unix et de type de fichier en prenant exemple sur la sortie de la commande : [code=user] ls -l [/code] Ceci permettra d'aborder les droits sur les fichiers, les notions de propriétaires et de groupe et les divers type de fichiers qui existent sur un système de fichier linux (ext2/ext3/ext4/btrfs). Certaines de ces notions sont aussi vraies pour d'autres systèmes de fichiers unix, bien sûr ;)
Faisons :
ls -l ~/.bashrc
-rw-r--r-- 1 enicar enicar 1436 avril 23 2014 /home/enicar/.bashrc
Donc nous allons décoder tout cela, en exposant quelques notions, puis nous reviendrons sur des exemples pratiques. Nous avons, de la gauche vers la droite :
champ | signification |
---|---|
-rw-r–r– | Type de fichier, et permissions (c'est à dire droits) |
1 | Le nombre de liens |
enicar | Le propriétaire du fichier |
enicar | Le groupe à qui appartient le fichier |
1436 | La taille du fichier en octects |
avril 23 2014 | La date de dernière modification |
/home/enicar/.bashrc | Le nom du fichier |
Détaillons tout cela un peu plus.
Détaillons, le champ :
-rw-r--r--
Il est composé de 4 sous champs. De la gauche vers la droite :
Dans un système de fichier de type unix, il existe plusieurs types de fichiers. La commande « ls -l » utilise un caractère pour nous informer sur ce type :
Code | Type de fichier |
---|---|
- | Fichier normal |
d | Répertoire (directory) |
l | Lien symbolique (symbolic link) |
p | Tube nommé (pipe) |
s | Socket unix |
b | Périphérique avec accès de type bloc |
c | Périphérique avec accès de type caractère |
Signification pour les trois champs des lettres « rwx » sont :
Code | Signification |
---|---|
r | Accès en lecture autorisé |
w | Accès en écriture autorisé |
x | Droits d'exécution ou droit de faire un « cd » |
- | Aucun droit |
Les droits sont toujours dans le même ordre : lecture, écriture, exécution. Quelques exemples éclaircirons les choses :
Code | Signification |
---|---|
rwx | Les droits en lecture, en écriture et en exécution sont positionnés |
— | Aucun droit |
r– | Droit en lecture uniquement |
r-x | Droit en lecture et en exécution |
À la place du x dans le champ rwx du propriétaire ou du groupe nous pouvons avoir :
Code | signification |
---|---|
S | Le bit setuid ou setgid est positionné, mais pas le droit en exécution |
s | Le bit setuid ou setgid est positionné ainsi que le droit en exécution |
Par exemple :
ls -l bin/su
-rwsr-xr-x 1 root root 38868 nov. 19 22:03 /bin/su
Ici, nous voyons que la commande « su » a son bit setuid positionné. Je reviendrais plus tard sur la signification et l'usage des setuid et setgid.
Pour terminer avec les droits, le champ « rwx » des autres (c'est à dire ceux qui ne sont ni le propriétaire, ni le groupe) peut prendre deux autres formes. À la place du x nous p
code | Signification pour les répertoires |
---|---|
T | Dans ce répertoire seul les propriétaires des fichiers peuvent supprimer ces fichiers. Le bit en exécution pour les autres n'est pas positionné |
t | Même chose que précédemment, mais le bit en exécution pour les autres est positionné |