Provided by:
manpages-cs_0.18.20090209-1_all 
JMÉNO
access - kontroluje přístupová práva k souboru
SYNTAXE
#include <unistd.h>
int access(const char *pathname, int mode);
POPIS
access kontroluje, zda proces může číst či zapisovat do souboru (nebo
jiného objektu souborového systému) se jménem pathname . Lze jej také
použít ke zjištění existence pathname . Pokud je pathname symbolický
odkaz, pak jsou testována přístupová práva souboru, na který odkaz
směřuje.
mode je maska obsahující jednu či více těchto možností: R_OK, W_OK,
X_OK a F_OK.
R_OK, W_OK a X_OK provede testování, zda soubor existuje a má pro
běžící proces nastavená práva ke čtení (Read), psaní (Write) a vykonání
(eXecute). F_OK kontroluje pouze existenci souboru.
Výsledek testu závisí na přístupových právech adresářů, jež náleží
cestě k souboru pathname, a na přístupových právech adresářů a souborů,
na které směřují symbolické odkazy na cestě.
Kontrola je provedena se skutenm uid a gid procesu. Nebere se zřetel
na efektivní id, které se projeví při souborové operaci. Tak mohou
setuid programy snadno zjistit skutečná práva uživatele.
Kontrolují se pouze příznakové bity; ne typ souboru či jeho obsah.
Pokud je adresář "zápisu schopný", lze v něm pravděpodobně tvořit
soubory - nemůžeme do něj zapisovat, jako do běžného souboru. Zrovna
tak DOSový soubor může být "spustitelný", ale execve(2) bude stále
protestovat.
NÁVRATOVÁ HODNOTA
Při úspěchu (všechna kontrolovaná práva jsou dostupná) vrací nulu. Při
neúspěchu (alespoň jeden druh přístupu reprezentovaný příslušným bitem
z mode je odepřen, nebo nastane jiná chyba), vrací -1, a proměnná errno
je nastavena.
CHYBY
EACCES Požadovaný přístup by byl odepřen.
EFAULT pathname odkazuje někam mimo přístupný adresovatelný diskový
prostor.
EINVAL mode je zadán chybně.
ENAMETOOLONG
pathname je příliš dlouhý.
ENOENT Adresáře v pathname by mohly být přístupné, ale neexistují, nebo
jsou to volné symbolické odkazy.
ENOTDIR
Části pathname použité jako adresáře ve skutečnosti nejsou
adresáře
ENOMEM Málo paměti jádra.
ELOOP pathname obsahuje cyklický symbolický odkaz, např. symbolický
odkaz odkazuje sám na sebe.
OMEZENÍ
access vrací chybu i kdyby jeden jediný druh přístupu byl odepřen a
všechny ostatní umožněny.
access může zlobit na NFS souborových systémech, které mají zapnuté
mapování UID, protože mapovaní UID je prováděno na serveru a je skryto
před klienty.
SPLŇUJE STANDARDY
SVID, AT&T, POSIX, X/OPEN, BSD 4.3
DALŠÍ INFORMACE
stat(2), open(2), chmod(2), chown(2), setuid(2), setgid(2).
VAROVÁNÍ
Překlad je pravděpodobně zastaralý. Pokud chcete pomoci s jeho
aktualizací, zamiřte na http://man-pages-cs-wiki.homelinux.net/