NOM¶
euidaccess, eaccess - Vérifier les permissions utilisateur d'un fichier
SYNOPSIS¶
#define _GNU_SOURCE /* Consultez feature_test_macros(7) */
#include <unistd.h>
int euidaccess(const char *pathname, int mode);
int eaccess(const char *pathname, int mode);
DESCRIPTION¶
Comme
access(2),
euidaccess() vérifie les permissions et
l'existence du fichier identifié par
pathname. Cependant, là
où
access(2) effectue une vérification avec les identifiants
réels d'utilisateur et de groupe du processus,
euidaccess()
utilise les identifiants effectifs.
mode est un masque constitué d'un ou plusieurs attributs
R_OK,
W_OK,
X_OK et
F_OK qui ont le même sens
qu'avec
access(2).
eaccess() est un synonyme de
euidaccess(), fourni par
compatibilité avec d'autres systèmes.
VALEUR RENVOYÉE¶
En cas de succès (toutes les permissions demandées sont
autorisées), 0 est renvoyé. En cas d'erreur (au moins une permission
de
mode est interdite ou d'autres erreurs se sont produites), -1 est
renvoyé et
errno contient le code d'erreur.
ERREURS¶
Identique à
access(2).
VERSIONS¶
La fonction
eaccess() a été ajoutée à la version 2.4
de la glibc.
Ces fonctions ne sont pas standards. Quelques autres systèmes
possèdent la fonction
eaccess().
NOTES¶
Attention : l'utilisation de cette fonction pour vérifier les
permissions d'un processus sur un fichier avant d'effectuer quelques
opérations basées sur cette information conduit à une situation
de compétition (« race condition ») : les
permissions du fichier peuvent changer entre les deux étapes.
Généralement, il est plus judicieux d'exécuter l'opération
souhaitée et de gérer toutes les erreurs de permissions qui se
produisent.
Cette fonction déférence toujours les liens symboliques. Si vous devez
vérifier les permissions d'un lien symbolique, utilisez
faccessat(2) avec les drapeaux
AT_EACCESS et
AT_SYMLINK_NOFOLLOW.
VOIR AUSSI¶
access(2),
chmod(2),
chown(2),
faccessat(2),
open(2),
setgid(2),
setuid(2),
stat(2),
credentials(7),
path_resolution(7)
COLOPHON¶
Cette page fait partie de la publication 3.44 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/>.
Florentin Duneau 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> ».