Provided by: manpages-fr_1.67.0-1_all bug

NOM

       chown, fchown, lchown - Modifier l’appartenance d’un fichier.

SYNOPSIS

       #include <sys/types.h>
       #include <unistd.h>

       int chown(const char *path, uid_t owner, gid_t group);
       int fchown(int fd, uid_t owner, gid_t group);
       int lchown(cost char *path, uid_t owner, gid_t group);

DESCRIPTION

       Le  propriétaire  et le groupe du fichier désigné par le chemin path ou
       par le descripteur de fichier fd sont modifiés. Seul le Super-User peut
       changer  le  propriétaire d’un fichier. Le propriétaire peut changer le
       groupe du fichier pour n’importe quel groupe auquel il  appartient.  Le
       Super-User peut changer le groupe arbitrairement.

       Si l’argument owner ou group vaut -1, l’élément correspondant n’est pas
       changé.

       Quand le propriétaire,  ou  le  groupe  d’un  fichier  exécutable  sont
       modifiés par un utilisateur ordinaire, les bits S_ISUID et S_ISGID sont
       effacés.  POSIX ne précise pas s’il faut agir de même lorsque c’est  le
       Super-Utilisateur  qui invoque chown.  Le comportement de Linux dans ce
       cas dépend de la version du noyau.  Si le fichier n’est pas  exécutable
       par  les  membres  de son groupe, (son bit S_IXGRP étant à zéro) le bit
       S_ISGID indique la présence d’un verrou obligatoire sur le fichier,  et
       n’est donc pas effacé par un chown.

VALEUR RENVOYÉE

       chown,  lchown,  et  fchown  renvoient 0 s’ils réussissent, ou -1 s’ils
       échouent, auquel cas errno contient le code d’erreur.

ERREURS

       Suivant le type de système de fichiers, plusieurs erreurs peuvent  être
       renvoyées. Les plus courantes pour chown sont les suivantes :

       EPERM  L’UID  effectif  du  processus  ne  correspond  pas  à  celui du
              fichier, et n’est pas nul, ou le propriétaire owner ou le groupe
              group sont spécifiés incorrectement.

       EROFS  Le fichier spécifié réside sur un système de fichiers en lecture
              seule.

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

       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.

       EACCES L’accès à un élément du chemin est interdit.

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

       Les erreurs courantes pour fchown sont les suivantes :

       EBADF  Le descripteur de fichier est invalide

       ENOENT Cf chown.

       EPERM  Cf chown.

       EROFS  Cf  chown.   EIO  Une  erreur  d’entrée/sortie  bas-niveau s’est
              produite durant la modification de l’i-noeud.

NOTES

       Dans les versions de Linux antérieures à 2.1.81 (sauf 2.1.46), chown ne
       suivait pas les liens symboliques. Depuis cette version, chown suit les
       liens symboliques, et il existe un nouvel appel-système, lchown, qui ne
       les suit pas.  Depuis Linux 2.1.86, ce nouvel appel système (qui a donc
       la même sémantique que l’ancien chown) a pris son numéro de Syscall, et
       chown a reçu un nouveau numéro.

       Le  prototype  de  la  fonction  fchown  est seulement utilisable si la
       constante symbolique _BSD_SOURCE est définie (soit explicitement,  soit
       implicitement  en ne définissant pas _POSIX_SOURCE ou en compilant avec
       l’attribut -ansi).

CONFORMITÉ

       L’appel système chown est conforme à SVr4,  SVID,  POSIX,  X/OPEN.   La
       version  4.4BSD  ne  peut  être  appelée  que par le Super-User (ce qui
       signifie qu’un utilisateur ordinaire ne peut  pas  céder  la  propriété
       d’un  fichier).   SVr4 documente les erreurs  EINVAL, EINTR, ENOLINK et
       EMULTIHOP, mais pas ENOMEM.  POSIX.1 ne décrit ni ENOMEM ni ELOOP.

       L’appel système fchown est conforme à 4.4BSD et SVr4.  SVr4 indique des
       conditions d’erreurs supplémentaires EINVAL, EIO, EINTR, et ENOLINK.

REMARQUES

       La  sémantique  de chown() est volontairement modifiée sur les systèmes
       de fichiers NFS où la correspondance d’UID est activée. De plus,  c’est
       la  sémantique  de  tous  les  appels  systèmes accédant au contenu des
       fichiers  qui  est  modifiée,  puisque  chown()  peut  déclencher   une
       interdiction  immédiate  d’accès  à des fichiers déjà ouverts. Un cache
       situé  du  côté  client  peut  induire  un  délai  entre  l’instant  où
       l’appartenance  du  fichier  est  modifiée  et le moment où l’accès est
       effectivement accordé à l’utilisateur.

VOIR AUSSI

       chmod(2), flock(2).

TRADUCTION

       Christophe Blaess, 1996-2003.