Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
NOM
chmod, fchmod - Modifier les permissions d'acces a un fichier
SYNOPSIS
#include <sys/stat.h>
int chmod(const char *path, mode_t mode);
int fchmod(int fd, mode_t mode);
Exigences de macros de test de fonctionnalites pour la glibc (consultez
feature_test_macros(7)) :
fchmod() :
Depuis la glibc 2.12 :
_POSIX_C_SOURCE >= 200809L || _BSD_SOURCE ||
_XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
Avant la glibc 2.12 :
_BSD_SOURCE || _XOPEN_SOURCE >= 500 ||
_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
DESCRIPTION
Ces appels systeme modifient les permissions d'un fichier. Ils
different seulement dans la facon dont le fichier est specifie :
* chmod() modifie les permissions du fichier indique dont le nom est
fourni dans path, qui est dereference s'il s'agit d'un lien
symbolique.
* fchmod() modifie les permissions du fichier reference par le
descripteur de fichier ouvert fd.
Les nouvelles permissions du fichier sont indiquees dans mode, qui est
un masque de bit cree par un OU bit a bit de zero ou plusieurs des
valeurs suivantes :
S_ISUID (04000) SUID (Definir l'UID effectif d'un processus lors d'un
execve(2))
S_ISGID (02000) SGID (Definir le GID effectif d'un processus lors
d'un execve(2) ; verrou obligatoire, comme decrit
dans fcntl(2) ; prendre un nouveau groupe de fichiers
dans le repertoire parent, comme decrit dans chown(2)
et mkdir(2))
S_ISVTX (01000) definir le bit << sticky >> (attribut de suppression
restreinte, comme decrit dans unlink(2))
S_IRUSR (00400) acces en lecture pour le proprietaire
S_IWUSR (00200) acces en ecriture pour le proprietaire
S_IXUSR (00100) acces en execution/parcours par le proprietaire
(<< parcours >> s'applique aux repertoires, et
signifie que le contenu du repertoire est accessible)
S_IRGRP (00040) acces en lecture pour le groupe
S_IWGRP (00020) acces en ecriture pour le groupe
S_IXGRP (00010) acces en execution/parcours pour le groupe
S_IROTH (00004) acces en lecture pour les autres
S_IWOTH (00002) acces en ecriture pour les autres
S_IXOTH (00001) acces en execution/parcours pour les autres
L'UID effectif du processus appelant doit correspondre a celui du
proprietaire du fichier, ou le processus doit etre privilegie (sous
Linux : il doit avoir la capacite CAP_FOWNER).
Si le processus appelant n'est pas privilegie (sous Linux : n'a pas la
capacite CAP_FSETID), et si le groupe du fichier ne correspond ni au
GID effectif du processus, ni a l'un de ses eventuels groupes
supplementaires, le bit S_ISGID sera desactive, mais cela ne creera pas
d'erreur.
Par mesure de securite, suivant le type de systeme de fichiers, les
bits Set-UID et Set-GID peuvent etre effaces si un fichier est ecrit.
(Sous Linux, cela arrive si le processus qui ecrit n'a pas la capacite
CAP_FSETID. Sur certains systemes de fichiers, seul le superutilisateur
peut positionner le Sticky-Bit, lequel peut avoir une signification
specifique. Pour la signification du Sticky-Bit et du bit Set-GID sur
les repertoires, consultez stat(2).
Sur les systemes de fichiers NFS, une restriction des autorisations
d'acces aura un effet immediat y compris sur les fichiers deja ouverts,
car les controles d'acces sont effectues sur le serveur, mais les
fichiers sont maintenus ouverts sur le client. Par contre, un
elargissement des autorisations peut ne pas etre immediat pour les
autres clients, s'ils disposent d'un cache.
VALEUR RENVOY'EE
S'il reussit, cet appel systeme renvoie 0. S'il echoue, il renvoie -1
et remplit errno en consequence.
ERREURS
Suivant le type de systeme de fichiers, differentes erreurs peuvent
etre renvoyees. Les plus courantes pour chmod() sont :
EACCES L'acces a un element du chemin est interdit. (Voir aussi
path_resolution(7).)
EFAULT path pointe en dehors de l'espace d'adressage accessible.
EIO Une erreur d'entree-sortie s'est produite.
ELOOP path contient une reference circulaire (a travers un lien
symbolique)
ENAMETOOLONG
path est trop long.
ENOENT Le fichier n'existe pas.
ENOMEM Pas assez de memoire pour le noyau.
ENOTDIR
Un element du chemin d'acces n'est pas un repertoire.
EPERM L'UID effectif ne correspond pas au proprietaire du fichier, et
le processus n'est pas privilegie (sous Linux : il n'a pas la
capacite CAP_FOWNER).
EROFS Le fichier specifie reside sur un systeme de fichiers en lecture
seule.
Les erreurs les plus courantes pour fchmod() sont :
EBADF Le descripteur de fichier fd n'est pas valable.
EIO Voir plus haut.
EPERM Voir plus haut.
EROFS Voir plus haut.
CONFORMIT'E
BSD 4.4, SVr4, POSIX.1-2001.
VOIR AUSSI
chown(2), execve(2), fchmodat(2), open(2), stat(2), path_resolution(7)
COLOPHON
Cette page fait partie de la publication 3.27 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Christophe Blaess <URL:http://www.blaess.fr/christophe/> (1996-2003),
Alain Portal <URL:http://manpagesfr.free.fr/> (2003-2006). Julien
Cristau et l'equipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.