Provided by: manpages-nl_20051127-1_all bug

NAAM

       access - test gebruikers toestemming voor een bestand.

OVERZICHT

       #include <unistd.h>

       int access(const char *padnaam, int toestand);

BESCHRIJVING

       access  test  of het een proces toegestaan is om te lezen, te schrijven
       of te testen voor het bestaan van het bestand (of ander  bestandsysteem
       voorwerp)  waarvan  de  naam  padnaam  is.  Als padnaam een symbolische
       koppeling is worden de permissies van het  bestand  waar  de  koppeling
       naar  wijst  getest.   toestand Is een masker bestaande uit een of meer
       van R_OK, W_OK, X_OK en F_OK.

       R_OK, W_OK en X_OK vragen om te testen of het bestand bestaat en of het
       lees,  schrijf  en  uitvoer  toestemming  geeft, respectievelijk.  F_OK
       vraagt alleen maar om te testen of het bestand bestaat.

       De test hangt af van de toestemmingen van de directories die  voorkomen
       in  de  pad  naar  het  bestand  -opgegeven  met  padnaam-  en  van  de
       toestemmingen  van  directories  en  bestanden,   waar   tussenliggende
       symbolische koppeling naar verwijzen.

       De  test  wordt  gedaan met het proces zijn echte uid en gid, in plaats
       van met de effectieve ids, zoals gedaan wordt bij het eigenlijke  pogen
       van  een operatie. Dit is om set-UID programma’s eenvoudig de macht van
       de gebruiker die het proces startte te laten bepalen.

       Alleen toegangsbits worden getest, niet de bestandsoort of  de  inhoud.
       Daarom  betekent  het  "schrijfbaar"  zijn  van  een directory hier dat
       waarschijnlijk bestanden gemaakt kunnen worden  in  die  directory,  en
       niet  dat  in  de  directory  zelf, als bestand, geschreven kan worden.
       Evenzo kan een DOS bestand "uitvoerbaar"  zijn,  terwijl  de  execve(2)
       aanroep toch zal mislukken.

EIND WAARDE

       Bij  success  (alle  gevraagde  toestemmingen worden gegeven) wordt nul
       teruggegeven.  Bij falen (minstens 1  bit  in  toestand  vroeg  om  een
       toestemming  die geweigerd wordt, of een andere fout trad op), wordt -1
       teruggegeven, en errno wordt naar behoren gezet.

FOUTEN

       EACCES {toegang} De gevraagde toegang tot  het  bestand  zou  geweigerd
              worden,  of  zoek  toestemming  wordt  geweigerd  in  een van de
              directories in padnaam.

       EROFS  {alleen-lezen bs.} Schrijf toestemming werd  gevraagd  voor  een
              bestand op een alleen-lezen bestandsysteem.

       EFAULT {fout} padnaam wijst buiten de voor u toegankelijke adresruimte.

       EINVAL {ongeldig} toestand werd ongeldig opgegeven.

       ENAMETOOLONG
              {naam te lang} padnaam is te lang.

       ENOENT {geen ingang} Een directorie-deel van padnaam  zou  toegankelijk
              geweest   zijn   maar   bestaat  niet  of  was  een  loshangende
              symbolische koppeling.

       ENOTDIR
              {geen dir} Een deel gebruikt als  directory  in  padnaam  is  in
              feite geen directory.

       ENOMEM {geen geheugen} Onvoldoende kernelgeheugen voorhanden.

       ELOOP  {cirkel}  Teveel symbolische koppelingen werden tegengekomen bij
              het vaststellen van padnaam.

       EIO    {in/uit} Een In/Uit fout trad op.

BEPERKINGEN

       access geeft een fout terug  als  een  van  de  toegangssoorten  in  de
       gevraagde  aanroep  geweigerd wordt, zelfs als andere soorten misschien
       zouden slagen.

       access  werkt  wellicht  niet  goed  op  NFS  bestandsystemen  met  UID
       afbeelding,  omdat  UID  afbeeldingen  gedaan  worden  op  de server en
       verborgen zijn voor de cliënt, die de toestemmingen test.

       Gebruiken van access om te testen of een gebruiker de  macht  heeft  om
       een  bestand  te  openen,  vóór  dat  feitelijk  te  doen  met  open(2)
       veroorzaakt  een  beveiligings-gat,  omdat  de  gebruiker   het   korte
       tijdsbestek tussen testen en openen zou kunnen gebruiken om het bestand
       te manipuleren.

VOLDOET AAN

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

ZIE

       stat(2) {staat}, open(2) {open}, chmod(2) {verander toestand}, chown(2)
       {verander eigendom}, setuid(2) {zet uid}, setgid(2) {zet gid}

VERTALING

       Dit  is  een  handleiding  uit  manpages-dev  1.29.   Alles  wat tussen
       ‘{’..‘}’ staat is aanvullende vertaling, en hoort niet bij de originele
       handleiding.  Email naar <manpages-nl@nl.linux.org>.

       $Id: access.2,v 1.1.1.1 2004/03/21 21:02:25 cor Exp $