Liste des valeurs utilisées pour les droits d'accès
Ces valeurs sont utilisées essentiellement avec un champ nommé st_mode dans les fonctions accédant au système de fichiers (voir informations sur le fichier). Ce champ va permettre de vérifier que la personne ayant lancé le programme a bien les droits d'accès pour le fichier ou répertoire. Il sera possible de concaténer les différentes valeurs dans st_mode en utilisant le | (le ou logique). Evidemment, si une des valeurs dans st_mode est positionnée (donc la personne est autorisée) sur le fichier/répertoire testé, la fonction pourra accéder au fichier ou répertoire.
Puisqu'il s'agit des droits d'accès, on retrouvera les droits du propriétaire (encore appelé utilisateur)
Valeurs | Désignation pour le propriétaire |
S_IRUSR | accessible en lecture |
S_IWUSR | accessible en écriture |
S_IXUSR | accessible en exécution |
S_IRWXU | accessible en rwx |
De même pour le groupe dans lequel se trouve l'utilisateur:
Valeurs | Désignation pour le groupe |
S_IRGRP | accessible en lecture |
S_IWGRP | accessible en écriture |
S_IXGRP | accessible en exécution |
S_IRWXG | accessible en rwx |
Enfin, pour tous les autres utilisateurs
Valeurs | Désignation pour les autres |
S_IROTH | accessible en lecture |
S_IWOTH | accessible en écriture |
S_IXOTH | accessible en exécution |
S_IRWXO | accessible en rwx |
A ces droits viennent s'ajouter:
Valeurs | Désignation |
S_ISUID | Si fichier exécutable, le programme sera lancé avec les droits du propriétaire du fichier et non les droits de celui qui le lance |
S_ISGID | Si fichier exécutable, le programme sera lancé avec les droits du groupe propriétaire du fichier et non les droits de celui qui le lance Si répertoire, les fichiers créés dans ce répertoires auront comme groupe propriétaire, le groupe propriétaire du répertoire |
S_ISVTX | Si fichier exécutable, le processus resultant restera en mémoire Si répertoire, les fichiers ne peuvent être effacés que par le propriétaire |