euidaccess(3) Library Functions Manual euidaccess(3)

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

Bibliothèque C standard (libc, -lc)

#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);

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.

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.

Identique à access(2).

Pour une explication des termes utilisés dans cette section, consulter attributes(7).

Interface Attribut Valeur
euidaccess(), eaccess() Sécurité des threads MT-Safe

Quelques autres systèmes possèdent la fonction eaccess().

Aucune.

glibc 2.4.

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.

access(2), chmod(2), chown(2), faccessat(2), open(2), setgid(2), setuid(2), stat(2), credentials(7), path_resolution(7)

La traduction française de cette page de manuel a été créée par Christophe Blaess https://www.blaess.fr/christophe/, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org> et David Prévot <david@tilapin.org>

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 à debian-l10n-french@lists.debian.org.

31 octobre 2023 Pages du manuel de Linux 6.06