Provided by: manpages-fr-dev_3.57d1p1-1_all bug

NOM

       chmod, fchmod - Modifier les permissions d'accès à 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   fonctionnalités   pour   la   glibc   (consultez
   feature_test_macros(7)) :

       fchmod() :
           _BSD_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
           || /* Depuis la glibc 2.12 : */ _POSIX_C_SOURCE >= 200809L

DESCRIPTION

       Ces appels système modifient les permissions d'un fichier. Ils diffèrent seulement dans la
       façon dont le fichier est indiqué :

       * chmod() modifie les permissions du fichier indiqué dont le nom est fourni dans path, qui
         est déréférencé s'il s'agit d'un lien symbolique.

       * fchmod() modifie les permissions du fichier référencé  par  le  descripteur  de  fichier
         ouvert fd.

       Les  nouvelles  permissions  du fichier sont indiquées dans mode, qui est un masque de bit
       créé par un OU bit à bit de zéro ou plusieurs des valeurs suivantes :

       S_ISUID  (04000)  SUID (Définir l'UID effectif d'un processus lors d'un execve(2))

       S_ISGID  (02000)  SGID (Définir le GID  effectif  d'un  processus  lors  d'un  execve(2) ;
                         verrou  obligatoire,  comme  décrit  dans  fcntl(2) ; prendre un nouveau
                         groupe de fichiers dans le répertoire parent, comme décrit dans chown(2)
                         et mkdir(2))

       S_ISVTX  (01000)  définir  le  bit  « sticky »  (attribut de suppression restreinte, comme
                         décrit dans unlink(2))

       S_IRUSR  (00400)  accès en lecture pour le propriétaire

       S_IWUSR  (00200)  accès en écriture pour le propriétaire

       S_IXUSR  (00100)  accès en exécution/parcours par le propriétaire (« parcours » s'applique
                         aux   répertoires,   et  signifie  que  le  contenu  du  répertoire  est
                         accessible)

       S_IRGRP  (00040)  accès en lecture pour le groupe

       S_IWGRP  (00020)  accès en écriture pour le groupe

       S_IXGRP  (00010)  accès en exécution/parcours pour le groupe

       S_IROTH  (00004)  accès en lecture pour les autres

       S_IWOTH  (00002)  accès en écriture pour les autres

       S_IXOTH  (00001)  accès en exécution/parcours pour les autres

       L'UID effectif du processus appelant doit correspondre à celui du propriétaire du fichier,
       ou le processus doit être privilégié (sous Linux : il doit avoir la capacité CAP_FOWNER).

       Si  le  processus  appelant  n'est  pas  privilégié  (sous  Linux :  n'a  pas  la capacité
       CAP_FSETID), et si le groupe du fichier ne correspond ni au GID effectif du processus,  ni
       à  l'un de ses éventuels groupes supplémentaires, le bit S_ISGID sera désactivé, mais cela
       ne créera pas d'erreur.

       Par mesure de sécurité, suivant le type de  système  de  fichiers,  les  bits  Set-UID  et
       Set-GID  peuvent  être  effacés  si  un  fichier est écrit. (Sous Linux, cela arrive si le
       processus qui écrit n'a pas la capacité CAP_FSETID. Sur  certains  systèmes  de  fichiers,
       seul   le   superutilisateur  peut  positionner  le  Sticky-Bit,  lequel  peut  avoir  une
       signification spécifique. Pour la signification du Sticky-Bit et du bit  Set-GID  sur  les
       répertoires, consultez stat(2).

       Sur  les systèmes de fichiers NFS, une restriction des autorisations d'accès aura un effet
       immédiat y compris sur les fichiers déjà ouverts, car les contrôles d'accès sont effectués
       sur  le  serveur,  mais  les fichiers sont maintenus ouverts sur le client. Par contre, un
       élargissement des autorisations peut ne pas être immédiat pour les autres  clients,  s'ils
       disposent d'un cache.

VALEUR RENVOYÉE

       S'il  réussit, cet appel système renvoie 0. S'il échoue, il renvoie -1 et remplit errno en
       conséquence.

ERREURS

       Suivant le type de système de fichiers, différentes erreurs peuvent  être  renvoyées.  Les
       plus courantes pour chmod() sont :

       EACCES L'accès à un élément du chemin est interdit. (Voir aussi path_resolution(7).)

       EFAULT path pointe en dehors de l'espace d'adressage accessible.

       EIO    Une erreur d'entrée-sortie s'est produite.

       ELOOP  path contient une référence circulaire (à travers un lien symbolique)

       ENAMETOOLONG
              path 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.

       EPERM  L'UID  effectif ne correspond pas au propriétaire du fichier, et le processus n'est
              pas privilégié (sous Linux : il n'a pas la capacité CAP_FOWNER).

       EROFS  Le fichier indiqué réside sur un système 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É

       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.57 du projet man-pages Linux.  Une  description
       du  projet  et  des  instructions  pour  signaler  des  anomalies  peuvent être trouvées à
       l'adresse http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Depuis   2010,   cette   traduction   est   maintenue   à   l'aide   de    l'outil    po4a
       <http://po4a.alioth.debian.org/>  par l'équipe de traduction francophone au sein du projet
       perkamon <http://perkamon.alioth.debian.org/>.

       Christophe   Blaess   <http://www.blaess.fr/christophe/>   (1996-2003),    Alain    Portal
       <http://manpagesfr.free.fr/>  (2003-2006).  Julien  Cristau  et  l'équipe  francophone  de
       traduction de Debian (2006-2009).

       Veuillez     signaler     toute     erreur     de     traduction     en     écrivant     à
       <debian-l10n-french@lists.debian.org>   ou   par   un  rapport  de  bogue  sur  le  paquet
       manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document  en  utilisant  la
       commande « man -L C <section> <page_de_man> ».