Provided by: manpages-nl_20051127-4_all
 

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 kop‐
        peling 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 toestem‐
        mingen 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.
        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 direc‐
               tories 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 symbolis‐
               che 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 afbeeld‐
        ing,  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) veroorza‐
        akt een beveiligings-gat, omdat  de  gebruiker  het  korte  tijdsbestek
        tussen  testen  en openen zou kunnen gebruiken om het bestand te manip‐
        uleren.
        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 $