Provided by:
manpages-nl_20051127-1_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
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 $