Informations sur le fichier
La variable st_mode
Le contenu de st_mode indique le type d'un fichier, Set-GID, sticky, les droits en accès pour le propriétaire/groupe/les utilisateur (il s'agit en fait de positions binaires qui indiquent les différents attributs d'un fichier). Cette variable pourra être interprétée via des constantes définies sous sys/stat.h.
Constante | Valeur | Désignation |
S_IFMT | 0170000 | masque du type de fichier |
S_IFSOCK | 0140000 | socket |
S_IFLNK | 0120000 | lien symbolique |
S_IFREG | 0100000 | fichier ordinaire |
S_IFBLK | 0060000 | périphérique blocs |
S_IFDIR | 0040000 | répertoire |
S_IFCHR | 0020000 | périphérique caractères |
S_IFIFO | 0010000 | fifo |
S_ISUID | 0004000 | bit Set-UID |
S_ISGID | 0002000 | bit Set-Gid (voir ci-dessous) |
S_ISVTX | 0001000 | bit sticky (voir ci-dessous) |
S_IRWXU | 00700 | lecture/écriture/exécution du propritaire |
S_IRUSR | 00400 | le propritaire a le droit de lecture |
S_IWUSR | 00200 | le propritaire a le droit d'écriture |
S_IXUSR | 00100 | le propritaire a le droit d'exécution |
S_IRWXG | 00070 | lecture/écriture/excution du groupe |
S_IRGRP | 00040 | le groupe a le droit de lecture |
S_IWGRP | 00020 | le groupe a le droit d'écriture |
S_IXGRP | 00010 | le groupe a le droit d'exécution |
S_IRWXO | 00007 | lecture/écriture/exécution des autres |
S_IROTH | 00004 | les autres ont le droit de lecture |
S_IWOTH | 00002 | les autres ont le droit d'écriture |
S_IXOTH | 00001 | les autres ont le droit d'exécution |
Le bit Set-GID
(S_ISGID) a plusieurs utilisations particulières : pour un répertoire,
il indique que la sémantique BSD doit être appliquée en
son sein, c'est à dire que les fichiers qui y sont créés
héritent leur GID du répertoire et non pas du GID effectif du
processus créateur, et les sous-répertoires auront automatiquement
le bit S_ISGID actif. Pour les fichiers qui n'ont pas d'autorisation d'exécution
pour le groupe (S_IXGRP non actif), ce bit indique qu'un verrouillage strict
est en vigueur sur ce fichier.
Le bit `sticky' (S_ISVTX) sur un répertoire indique que les fichiers qui s'y trouvent ne peuvent être renommés ou effacés que par leur propriétaire, par le propriétaire du répertoire ou par root.