2006 - aujourd'hui (MCF) > Résumé des liens et droits d'accès

Les liens

  • Les liens symboliques et leur montage
    • Il existe un autre système de liens dits liens symboliques, obtenus par la commande ln -s. Le résultat obtenu est l'équivalent du raccourci sous windows.
    • Un lien symbolique est un nouveau fichier qui contient l'adresse à laquelle renvoie ce fichier (cela peut être un répertoire).
    • La grosse différence avec le lien physique, c'est qu'il est possible d'effacer le fichier (c'est-à-dire, effacer tous ses liens physiques) sans toucher aux liens symboliques (qui deviennent alors en quelque sorte orphelins : on parle de liens brisés). D'un maniement plus souple que les liens physiques, les liens symboliques peuvent également amener à une forêt inextricable de références : n'en abusez donc pas.
  • Exemples
    [desar@riesling fichiers]$ ln -s bonjour coucou
    [desar@riesling fichiers]$ ls -li
    total 4
    213235 -rw-r--r-- 1 desar institut 10 mar 20 15:57 bonjour
    213237 -rw-r--r-- 2 desar institut 10 mar 20 15:58 bonsoir_n
    213236 drwxr-xr-x 2 desar institut 1024 mar 20 16:18 essais
    213240 lrwxrwxrwx 1 desar institut 7 mar 20 16:23 coucou -> bonjour
    213238 -rw-r--r-- 1 desar institut 10 mar 20 16:18 salut
  • Les liens physiques
    • Les liens physiques sont une façon de créer plusieurs références au même objet. Une fois créées, ces références sont rigoureusement équivalentes.
    • Ces liens ne sont applicables qu'aux fichiers (non aux répertoires).
    • Un lien physique est un accès direct aux données du fichier sur disque.
    • Accéder au lien, c'est accéder directement au fichier.
    • En pratique, lorsque vous effacez un fichier avec rm, vous indiquez un nom de fichier, donc un lien. Mais l'espace occupé par le fichier n'est effectivement libéré que lorsque le dernier lien physique qui y fait référence est effacé : rm ne supprime donc pas le fichier, seulement un lien qui lui est attaché. Ceci est une façon de protéger des fichiers contre l'effacement, mais rend l'utilisation des liens physiques délicates : il est facile d'engendrer un véritable capharnaüm dans l'arborescence...
  • Exemples

    Lie le fichier bonsoir sur adieu : ce sont deux accès distincts à la même information.

    [desar@riesling fichiers]$ ln bonsoir adieu
    [desar@riesling fichiers]$ cat adieu
    Bonsoir !

    Crée un lien bonsoir dans le répertoire essais.

    [desar@riesling fichiers]$ ln bonsoir essais

    Renomme bonsoir en bonsoir_n.

    [desar@riesling fichiers]$ mv bonsoir bonsoir_n

    état du système de fichiers :

    [desar@riesling fichiers]$ ls -liR
    total 5
    213237 -rw-r--r-- 3 desar institut 10 mar 20 15:58 adieu
    213235 -rw-r--r-- 1 desar institut 10 mar 20 15:57 bonjour
    213237 -rw-r--r-- 3 desar institut 10 mar 20 15:58 bonsoir_n
    213236 drwxr-xr-x 2 desar institut 1024 mar 20 16:18 essais
    213238 -rw-r--r-- 1 desar institut 10 mar 20 16:18 salut

    essais:
    total 2
    213239 -rw-r--r-- 1 desar institut 12 mar 20 15:58 bientot
    213237 -rw-r--r-- 3 desar institut 10 mar 20 15:58 bonsoir


Les droits d'accès

  • Définition des droits d'utilisateur
    • Avec UNIX les fichiers / répertoires bénéficient d'une protection en lecture, écriture et exécution, c'est à dire vous pouvez choisir si vous voulez que vos fichiers / répertoires soient lisibles et/ou modifiables par d'autres, vous pouvez empêcher que d'autres utilisateurs lancent vos exécutables. C'est le principe des droits d'accès.
    • Cas d'un fichier classique
      • Nous avons vu qu'en tapant "ls -l" le premier champ correspondait au droit d'accès, on avait une sortie de ce type :
        -rwxrw-r-- 1 olivier users 34568 Dec 3 14:34 mon-fichier
      • La signification des lettres rwx et la suivante :
        • r (read) on peut lire le fichier
        • w (write) on peut modifier le fichier
        • x (exécutable) on peut exécuter le fichier (c'est donc un exécutable) - aucun droit autorisé
      • Le champ -rwxrw-r-- regroupe les droits du propriétaire du fichier, du groupe auquel appartient le propriétaire et les autres utilisateurs.
        permissions

      • On a affaire à un fichier classique (c'est à dire ni un répertoire, ni un fichier spécial) rwx droits sur le fichier du propriétaire rw- droits sur le fichier du groupe auquel appartient le propriétaire (users) r-- droits sur le fichier des autres utilisateurs (ceux n'appartenant au groupe users). Par exemple pour notre fichier :
        • le propriétaire olivier a des droits en écriture, lecture et exécution,
        • le groupe a un droit en lecture et écriture mais aucun droit en exécution,
        • les autres utilisateurs ont uniquement le droit en lecture du fichier.
      • Pour info le 1 après les droits signifie que le fichier mon-fichier n'a aucun lien qui pointe vers lui, si on avait eu 2, cela signifiait que quelque part dans l'arborescence, il y a un lien qui pointe vers lui, ce nombre s'incrémentant avec le nombre de lien.
      • Une bonne protection d'un fichier est réalisee en lui donnant la permission suivante : -rw-------
        masque

    • Cas d'un répertoire
      • Pour un répertoire le x n'est pas un droit en exécution, mais un droit de traverver le répertoire.
      • En tapant ls -l sur un répertoire, vous obtenez :
        drwxr-x--- 1 olivier users 13242 Dec 2 13:14 mon-répertoire
        • d signifie qu'on a affaire à un répertoire
        • rwx sont les droits du propriétaire olivier qui est autorisé en lecture, écriture et droit d'accès au répertoire
        • r-x droits du groupe users, autorisé en lecture, droit d'accès au répertoire, pas de droit en écriture
        • --- droits des autres utilisateurs, aucun droit dans le cas présent.
  • Exemples
    • chmod 755 paintball donnera -rwx r-x r-x
    • chmod 600 afro donnera -rw- --- ---
      Puis
    • chmod g+r afro donnera -rw- r-- ---
    • chmod ug+x afro donnera -rwx r-x ---
    • chmod a=r afro donnera -rwx r-x r--
      etc.
    • On se retrouve dans le répertoire soirées, et il y a comme fichier théâtre, boîte et farniente
    • On veut lire, modifier mais supprimer le fichier théâtre dans le répertoire soirées :
      • chmod u+rxw théâtre
    • On veut lire, modifier mais pas supprimer le fichier théâtre dans le répertoire soirées :
      • chmod u-w ../soirées/
    • On veut lire, supprimer mais pas modifier le fichier théâtre dans le répertoire soirées :
      • chmod u-w théâtre
      • chmod u+w ../soirées/
    • On veut lire, mais ni supprimer ni modifier le fichier théâtre dans le répertoire soirées :
      • chmod u-w théâtre
      • chmod u-w ../soirées/