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