ACCESS |
Accès |
---|---|
Python | os |
Syntaxe
access(path, mode, *, dir_fd=None) | Toutes les version de Python |
access(path, mode, *, dir_fd=None, effective_ids=False, follow_symlinks=True) | Version 3.3 ou supérieur de Python |
Paramètres
Nom | Description | |
---|---|---|
path | Ce paramètre permet d'indiquer le chemin de répertoire et/de fichiers à vérifier | |
mode | Ce paramètre permet d'indiquer le numéro du mode d'accès : | |
Constante | Description | |
F_OK | Cette constante permet d'indiquer une vérification de l'existence seulement | |
X_OK | Cette constante permet d'indiquer une vérification de la possibilité d'exécution | |
W_OK | Cette constante permet d'indiquer une vérification de la possibilité d'écriture | |
R_OK | Cette constante permet d'indiquer une vérification de la possibilité de lecture | |
dir_fd | Ce paramètre permet d'indiquer un descripteur de fichier de répertoire. | |
effective_ids | Ce paramètre permet d'indiquer si la liste d'identificateurs est effectif. | |
follow_symlinks | Ce paramètre permet d'indiquer s'il faut suivre les liens symboliques. |
Description
Cette fonction permet de vérifier le mode d'accès d'un fichier.
Remarques
- Vous devriez utilisez le vrai uid et gid pour tester l'accès au chemin.
- Notez que la plupart des opérations utiliseront l'uid et le gid effectif, donc cette routine peut être utilisée dans un environnement suid/sgid pour tester si l'utilisateur appelant a l'accès spécifié au chemin. Le paramètre mode doit être F_OK pour tester l'existence du chemin, ou il peut être le «OU inclusif» d'un ou plusieurs R_OK, W_OK et X_OK pour tester les autorisations. Cette fonction retournera True si l'accès est autorisé, sinon elle retournera False.
- Cette fonction peut prendre en charge la spécification de chemins relatifs aux descripteurs de répertoire et ne pas suivre les liens symboliques.
- Si le paramètre effective_ids est True, la fonction access() effectuera ses vérifications d'accès en utilisant l'uid et le gid effectif au lieu du uid et gid réel. Le paramètre effective_ids peut ne pas être pris en charge sur votre plateforme; vous pouvez vérifier s'il est disponible ou non en utilisant os.supports_effective_ids. S'il n'est pas disponible, son utilisation déclenchera une erreur NotImplementedError.
- Utiliser la fonction access() pour vérifier si un utilisateur est autorisé à ouvrir un fichier avant de le faire en utilisant la fonction open(), crée une faille de sécurité, car l'utilisateur peut exploiter le court intervalle de temps entre la vérification et l'ouverture du fichier pour le manipuler. Il est préférable d'utiliser les techniques EAFP.
- Les opérations d'entrée/sortie peuvent échouer même lorsque la fonction access() indique qu'elles réussiront, en particulier pour les opérations sur les systèmes de fichiers réseau pouvant avoir une sémantique d'autorisations au-delà du modèle de bit d'autorisation POSIX habituel.
- A partir de la version 3.3 de Python, les paramètres dir_fd, effective_ids et follow_symlinks ont été ajouté.
- A partir de la version 3.6 de Python, la fonction accepte un objet semblable à un chemin.
Dernière mise à jour : Mercredi, le 2 janvier 2020