Travaux Dirigés de aas
3. Les droits en Unix
Les droits sont un trio de trios de bits : lecture (4), ecritrure (2) et
exécution (1) pour le propriétarie, le groupe et les autres, d’où au total une
spécification par 3 chiffres en octal : 751 est une entrée totalement
accessible au propriétaire, en lecture et exécution pour le groupe et
seulement en exécution pour les autres. Pour avoir automatiquement ce
positionnement de droit, la session a du appeler la commande umask avec
026 comme argument.
Il est important de comprendre que :
-
les autres désignent
ceux qui ne sont ni le propriétaire ni les membres du groupe,
et non tous les utilisateurs ;
-
le groupe d’une entrée ne contient pas nécessairement son propriétaire ;
-
un utilisateur peut appartenir à plusieurs groupes : le GID dans
/etc/passwd est son groupe principal, mais le fichier
/etc/group indique,
ligne par ligne, l’intitulé de chaque groupe (en début de ligne, et terminé
par un deux-points) suivi des login de ses membres (séparés par des
virgules) sans restriction sur le nombre d’occurrences d’un login.
-
lorsqu’une entrée est créée dans un répertoire, son groupe est, selon les
systèmes Unix utilisés, soit identique à celui du répertoire, soit le
GID de l’utilisateur ; on ne considérera que le premier cas dans l’exercice qui suit.
Le trio de trios de bits est en fait un quatuor, car complété par :
-
le Set User ID Bit, qui donne à l’utilisateur d’un exécutable les droits du propriétaire de cet exécutable ;
-
le Set Group ID Bit, qui donne à l’utilisateur d’un exécutable
les droits du groupe de cet exécutable (et pour un répertoire, stipule que
les entrées créés dans ce répertoire auront meme groupe que le répertoire
si le processus créateur l’est aussi) ;
-
le Sticky bit, tombé en désuétude pour les fichiers (il forçait sa
résidence en mémoire) et pour les répertoires limitant les écritures aux
propriétaires de ses entrées (cf tmp).