> Linux Reviews > man >

access

Déterminer si un fichier est accessible.


  1. access.1.man
  2. access.2.man


1. access.1.man

Manpage of ACCESS

ACCESS

Section: Manuel de l'utilisateur Linux (1)
Updated: 4 Janvier 1998
Index Return to Main Contents
 

NOM

access - Déterminer si un fichier est accessible.  

SYNOPSIS

access -mode fichier  

DESCRIPTION

Se termine avec succès si fichier peut être accédé avec le mode spécifié. mode est composé d'une lettre ou plus prises parmi rwx, où r signifie accessible en lecture (readable), w accessible en écriture (writable), et x exécutable.

La différence entre access et test est que ce dernier regarde les bits de permission, alors que le premier vérifie les droits en utilisant l'appel-système access(2). Ceci n'engendre une différence que quand les systèmes de fichiers ont été montés en lecture seule.  

OPTIONS

access accepte les options supplémentaires suivantes :
--help
Afficher un message d'aide et se terminer normalement.
--version
Afficher un numéro de version sur la sortie standard et se terminer normalement.
 

VOIR AUSSI

access(2)  

TRADUCTION

Frédéric Delanoy, 2000.


 

Index

NOM
SYNOPSIS
DESCRIPTION
OPTIONS
VOIR AUSSI
TRADUCTION

This document was created by man2html using the manual pages.
Time: 17:36:27 GMT, October 23, 2013

2. access.2.man

Manpage of ACCESS

ACCESS

Section: Manuel du programmeur Linux (2)
Updated: 23 juin 2004
Index Return to Main Contents
 

NOM

access - Vérifier les permissions d'accès à un fichier.  

SYNOPSIS

#include <unistd.h>

int access(const char *pathname, int mode);
 

DESCRIPTION

access() vérifie si le processus serait autorisé à lire, écrire, exécuter, ou tester l'existence d'un fichier (ou d'un autre objet appartenant au système de fichiers), dont le nom est pathname. Si pathname est un lien symbolique, ce sont les permissions du fichier pointé par celui-ci qui sont testées.

mode est un masque constitué des arguments liés par un OU binaire « | Â» R_OK, W_OK, X_OK et F_OK. Les requêtes R_OK, W_OK et X_OK servent respectivement à tester la lecture, l'écriture, et l'exécution du fichier. La requête F_OK teste l'existence du fichier.

Les tests dépendent des permissions des répertoires apparaissant dans le chemin pathname et éventuellement des liens symboliques rencontrés sur ce chemin.

Le test est effectué avec les UID et GID réels du processus, plutôt qu'avec les IDs effectifs qui sont utilisés lorsque l'on tente l'opération. Ceci permet aux programmes Set-UID de déterminer les autorisations de l'utilisateur ayant invoqué le programme.

Seuls les bits d'accès sont vérifiés, et non pas le contenu du fichier. Ainsi, l'autorisation d'écriture dans un répertoire indique la possibilité d'y créer des fichiers et non d'y écrire comme dans un fichier. De même, un fichier DOS peut être considéré comme exécutable, alors que l'appel execve(2) échouera évidemment.

Si le processus a les privilèges suffisants, une implémentation peut indiquer un succès pour X_OK même si le fichier n'a aucun bit d'exécution positionné.  

VALEUR RENVOYÉE

L'appel renvoie 0 s'il réussit (toutes les requêtes sont autorisées), ou -1 s'il échoue (au moins une requête du mode est interdite), auquel cas errno contient le code d'erreur.  

ERREURS

access() doit échouer si :
EACCES
L'accès serait refusé au fichier lui-même, ou il n'est pas permis de parcourir l'un des répertoires du préfixe du chemin de pathname. (Voir aussi path_resolution(2).)
ELOOP
Trop de liens symboliques ont été rencontrés en parcourant pathname.
ENAMETOOLONG
pathname est trop long.
ENOENT
Un répertoire contenu dans le pathname aurait été accessible mais n'existe pas, ou est un lien symbolique pointant dans le vide.
ENOTDIR
Un élément contenu dans le chemin pathname n'est pas un répertoire.
EROFS
On demande une écriture sur un système de fichiers en lecture-seule.

access() peut échouer si :

EFAULT
pathname pointe en dehors de l'espace d'adressage accessible.
EINVAL
mode était mal spécifié.
EIO
Une erreur d'entrée-sortie s'est produite.
ENOMEM
Le noyau n'a pas assez de mémoire.
ETXTBSY
On a demandé l'écriture dans un fichier exécutable qui en cours d'utilisation.
 

RESTRICTIONS

access() renvoie une erreur si l'un des types d'accès est refusé, même si les autres sont acceptés.

access() peut fonctionner incorrectement sur un serveur NFS si les correspondances d'UID sont activées, car ces correspondances sont gérées par le serveur, et masquées au client qui effectue les vérifications d'autorisation.

Utiliser access() pour vérifier si un utilisateur a le droit, par exemple, d'ouvrir un fichier avant d'effectuer réellement l'ouverture avec open(2), risque de créer un trou de sécurité. En effet, l'utilisateur peut exploiter le petit intervalle de temps entre la vérification et l'accès pour modifier le fichier (via un lien symbolique en général).  

CONFORMITÉ

SVr4, POSIX.1-2001, BSD 4.3  

VOIR AUSSI

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

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 9 octobre 1996 et révisée le 14 août 2006.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 2 access Â». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.


 

Index

NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
RESTRICTIONS
CONFORMITÉ
VOIR AUSSI
TRADUCTION

This document was created by man2html using the manual pages.
Time: 17:36:27 GMT, October 23, 2013

SVENSKA - cs - SVENSKA - SVENSKA - ja - nl - pl - SVENSKA