Provided by: manpages-cs_0.17.20080113-1_all bug

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/