Linguaggio C - access()

NOME

access() - controlla i permessi dello user per un file

SINOPSI

#include <unistd.h> int access(const char *pathname, int mode);

DESCRIZIONE

La funzione access() controlla se pathname esiste o se ci sono i diritti di accesso in lettura, scrittura o esecuzione.
Se pathname e' un link simbolico, viene testato il file a cui il link si riferisce.

mode puo' essere uno o una combinazione in or dei seguenti valori:
R_OK Viene verificata l'esistenza di pathname ed il permesso in lettura
W_OK Viene verificata l'esistenza di pathname ed il permesso in scrittura
X_OK Viene verificata l'esistenza di pathname ed il permesso di esecuzione
F_OK Viene verificata l'esistenza di pathname

Il controllo sull'accesso e' effettuato con il real user id e il group id del processo.
Il real uid e il real gid di un processo identificano l'utente ed il gruppo con il quale il processo sta' eseguendo le operazioni. Inizialmente il real uid e gid corrispondono allo uid e gid che esegue il programma.
L'effective uid e l'effective gid di un processo identificano l'utente ed il gruppo che un processo puo' assumere durante la sua esecuzione.
L'effective uid corrisponde al proprietario del programma se il programma ha il bit set-uid settato, altrimenti corrisponde all'utente che esegue il programma.
Analogamente l'effective gid corrisponde al gruppo del programma se il programma ha il bit set-gid settato, altrimenti corrisponde al gruppo attivo per l'utente che esegue il programma.

VALORE DI RITORNO

La funzione access() ritorna 0 nel caso che tutti i permessi richiesti siano verificati con successo; -1 nel caso che almeno un permesso sia negato.

CONFORME A

SVID, AT&T, POSIX, X/OPEN, BSD 4.3.

VEDI ANCHE

open(), creat() lseek() read() write() close() link() symlink() unlink() stat(), lstat(), fstat() fcntl() ioctl() dup(), dup2()


Indice-C Indice linguaggio C
Indice librerie Indice librerie C
At Home Umberto Zappi Home Page
Indice funzioni Indice funzioni C