NOM

euidaccess, eaccess - Vérifier les permissions utilisateur d'un fichier

BIBLIOTHÈQUE

Bibliothèque C standard ( libc, -lc)

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 un bit dans mode demandé pour une permission qui est interdite ou d'autres erreurs se sont produites), -1 est renvoyé et errno est positionné pour indiquer l'erreur.

ERREURS

Identique à access(2).

VERSIONS

La fonction eaccess() a été ajoutée dans la glibc 2.4.

ATTRIBUTS

Pour une explication des termes utilisés dans cette section, consulter attributes(7).
Interface Attribut Valeur
euidaccess(), eaccess() Sécurité des threads MT-Safe
 

STANDARDS

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)

TRADUCTION

La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <[email protected]>, Thierry Vignaud <[email protected]>, François Micaux, Alain Portal <[email protected]>, Jean-Philippe Guérard <[email protected]>, Jean-Luc Coulon (f5ibh) <[email protected]>, Julien Cristau <[email protected]>, Thomas Huriaux <[email protected]>, Nicolas François <[email protected]>, Florentin Duneau <[email protected]>, Simon Paillard <[email protected]>, Denis Barbier <[email protected]> et David Prévot <[email protected]>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à [email protected]