zion - chmod
Nom
chmod, fchmod - Modifier les permissions d'accès à un fichier.
Résumé
#include <sys/types.h> #include <sys/stat.h> int chmod(const char * pathname , mode_t mode ); int fchmod(int fildes , mode_t mode );
Description
chmod change le mode d'accès du fichier pathname. fchmod change le mode d'accès du fichier associé au descripteur fildes. Le mode est spécifié par un OU binaire ( | ) entre les éléments suivants (les nombres sont en octal) :
|
Valeur renvoyée
chmod et fchmod renvoient 0 s'ils réussissent, ou -1 en cas d'échec, auquel cas errno contient le code d'erreur.
Erreurs
Suivant le type de système de fichiers, différentes erreurs peuvent être renvoyées. Les plus courantes pour chmod sont :
EPERM
L'UID effectif ne correspond pas au propriétaire du fichier, et n'est pas nul. |
EROFS
Le fichier se trouve sur un système de fichiers en lecture seule. |
EFAULT pathname
pointe en dehors de l'espace d'adressage accessible. |
ENAMETOOLONG pathname
est trop long. |
ENOENT
Le fichier n'existe pas. |
ENOMEM
Pas assez de mémoire pour le noyau. |
ENOTDIR
Un élément du chemin d'accès n'est pas un répertoire. |
EACCES
Le parcours d'un élément du chemin de recherche est interdit. |
ELOOP pathname
contient une référence circulaire (à travers un lien symbolique) |
EIO
Une erreur d'entrée / sortie bas-niveau s'est produite durant la modification de l'i-noeud. |
Les erreurs les plus courantes pour fchmod sont :
EBADF
Le descripteur de fichier fildes est invalide. |
EROFS
Voir plus haut. |
EPERM
Voir plus haut. |
EIO
Voir plus haut. |
Conformité
L'appel chmod est conforme a SVr4, SVID, POSIX, X/OPEN, 4.4BSD, SVr4 décrit les erreurs EINTR, ENOLINK et EMULTIHOP, mais pas ENOMEM. POSIX.1 ne documente ni les erreurs EFAULT, ENOMEM, ELOOP et EIO, ni les macros S_IREAD, S_IWRITE et S_IEXEC.
L'appel fchmod est conforme à 4.4BSD et SVr4. SVr4 décrit les erreurs supplémentaires EINTR et ENOLINK. POSIX réclame l'existence de la fonction fchmod si au moins une des deux constantes _POSIX_MAPPED_FILES et _POSIX_SHARED_MEMORY_OBJECTS est définie, et décrit les conditions d'erreur supplémentaires ENOSYS et EINVAL mais pas EIO.
POSIX et X/OPEN ne documentent pas le Sticky Bit.
Voir aussi
open (2), chown (2), stat (2)
Traduction
Christophe Blaess, 1996-2003.
Poster un commentaire