Les droits d'accès aux fichiers
et leurs liens

© 1996-2001 Michel Luc
date de création : 09 Janvier 1997

Permission vous est accordée de faire des copies et de distribuer ces copies sous les termes de la licence GNU FDL.


Les droits d'accès aux fichiers Menu: le Shell et les commandes Index Linux Les processus

2-Les liens sur les fichiers.


Sous Linux un même fichier peut avoir plusieurs noms,
grâce aux liens et à l' éditeur de lien dynamique ld.so.


2.1-Les liens physiques

Le système identifie les fichiers (physiquement) par un identificateur unique qui s'appelle le numéro d' i-noeud.
Et plusieurs fichiers, de noms différents, ayant tous un lien avec un unique autre fichier, pointent tous sur le même i-noeud : Ce sera le lien physique.

L'i-noeud est en fait un numéro unique qui identifie le fichier :
Par exemple, pour le fichier /droopy/ma.conf si vous faites :
# ls -i /droopy/ma.conf
vous obtiendrez son numéro i-noeud.
Pour créer un autre lien, on utilise la commande ln :
# ln /droopy/ma.conf /droopy/conf
Vérification:
# ls -i /droopy/ma.conf /droopy/conf
Nous obtenons le même numéro

_Lancer ma.conf ou conf, sera identique, c'est le même fichier physique sur le disque.
Toutes les modifications effectuées sur l'un seront répercutées sur l'autre. Mais pour suprimer le fichier physique, il faudra suprimer tous les autres fichiers qui lui sont liés.

La commande ls -l indique le nombre de liens que comporte un fichier :C'est le chiffre venant après les permissions.


2.2-Les liens symboliques

Cette sorte de lien permet de donner un autre nom au fichier, mais n'utilise pas l'i-noeud physique du fichier.

Pour créer un lien symbolique, il suffit de passer l'option -s à la commande ln :
# ln -s /droopy/ma.conf /droopy/config
Cela va créer un fichier /droopy/config avec un autre i-noeud :
Vérifiez avec :
# ls -i /droopy/ma.conf /droopy/config
Nous avons dans ce cas 2 numéros différents.
La commande ls -l indiquera le lien symbolique d'un fichier avec le premier caractère l et en fin de ligne :
# ls -l /droopy
Indique que config pointe ( ­ > ) bien sur ma.conf.

Avec le lien symbolique, les permissions de /droopy/config seront les mêmes que pour /droopy/ma.conf ,
mais la commande ls -l  affichera lrwxrwxrwx pour /droopy/config.
Il est donc facile d'identifier le lien symbolique d'un fichier avec la commande ls -l, alors qu'il n'en va pas de même pour un lien physique.

Une application de ces liens symboliques, très utile, est par exemple celle utilisée pour tester différentes versions du noyau :
La compilation du du noyau utilisera le répertoire /usr/src/linux, mais vous disposez de 3 versions différentes des sources :
2.0.38, 2.2.5 et 2.2.10-smp, pour compiler la version 2.2.5, il suffit de réaliser le lien :
# ln -s /usr/src/2.2.5  /usr/src/linux
et lorsque que vous vous logerez sous /usr/src/linux, en entrant la commande cd /usr/src/linux, vous serez en fait sous /usr/src/2.2.5


Les droits d'accès aux fichiers Haut de page Les processus
Copyleft  Michel Luc cern91@tuxfamily.org Document sous licence FDL