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

NOM

       faccessat  -  Vérifier  les  droits  d'accès à un fichier relativement à un descripteur de
       fichier

SYNOPSIS

       #include <fcntl.h> /* Définition des constantes AT_* */
       #include <unistd.h>

       int faccessat(int dirfd, const char *pathname, int mode, int flags);

   Exigences   de   macros   de   test   de   fonctionnalités   pour    la    glibc    (consultez
   feature_test_macros(7)) :

       faccessat() :
           Depuis la glibc 2.10 :
               _XOPEN_SOURCE >= 700 || _POSIX_C_SOURCE >= 200809L
           Avant la glibc 2.10 :
               _ATFILE_SOURCE

DESCRIPTION

       L'appel  système  faccessat()  opère  de  la  même  manière  que  access(2),  excepté  les
       différences décrites dans cette page de manuel.

       Si le nom de chemin fourni dans pathname est relatif, il est  interprété  relativement  au
       répertoire  référencé  par  le  descripteur  de  fichier dirfd (plutôt que relativement au
       répertoire de travail courant du processus appelant, comme cela  est  fait  par  access(2)
       pour un chemin relatif).

       Si  pathname  est  relatif  et  que  dirfd  est  la valeur spéciale AT_FDCWD, pathname est
       interprété relativement au répertoire de travail courant du processus appelant (comme avec
       access(2)).

       Si pathname est un chemin absolu, dirfd est ignoré.

       flags  est  construit  en  réalisant  un  OU  logique  entre zéro ou plusieurs des valeurs
       suivantes :

       AT_EACCESS
              Réaliser les vérifications d'accès en utilisant  les  UID  et  GID  effectifs.  Par
              défaut, faccessat() utilise les ID réels (comme access(2)).

       AT_SYMLINK_NOFOLLOW
              Si  pathname  est  un  lien  symbolique,  ne pas le déréférencer, mais renvoyer des
              informations sur le lien lui-même.

VALEUR RENVOYÉE

       S'il réussit (toutes les requêtes sont autorisées), faccessat() renvoie 0. S'il échoue, il
       renvoie -1 et écrit errno en conséquence.

ERREURS

       Les mêmes erreurs qui apparaissent pour access(2) peuvent apparaître pour faccessat(). Les
       erreurs supplémentaires suivantes peuvent également se produire pour faccessat() :

       EBADF  dirfd n'est pas un descripteur de fichier valable.

       EINVAL flags contient un attribut invalide.

       ENOTDIR
              pathname est relatif, et le descripteur de fichier dirfd est associé à un  fichier,
              pas à un répertoire.

VERSIONS

       faccessat()  a  été ajouté au noyau Linux dans sa version 2.6.16 ; la glibc le gère depuis
       la version 2.4.

CONFORMITÉ

       POSIX.1-2008.

NOTES

       Consultez openat(2) pour une explication sur la nécessité de faccessat().

       Attention : la fonction faccessat()  est assujettie aux mêmes  conditions  de  concurrence
       que access(2)  et euidaccess(3).

   Notes sur la glibc
       L’appel  système brut n’accepte que les trois premiers arguments. Les attributs AT_EACCESS
       et AT_SYMLINK_NOFOLLOW sont en fait implémentés dans la fonction  enveloppe  de  la  glibc
       pour  faccessat().  Si aucun de ces attributs n'est indiqué, la fonction enveloppe utilise
       fstatat(2) pour déterminer les droits d'accès.

VOIR AUSSI

       access(2), openat(2), euidaccess(3), credentials(7), path_resolution(7), symlink(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/>.

       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> ».