Provided by:
manpages-de-dev_0.10-1_all 
BEZEICHNUNG
access - pruft die Zugriffsrechte eines Benutzers an einer Datei
Diese Handbuchseite ist eventuell veraltet. Im Zweifelsfall ziehen Sie
die englischsprachige Handbuchseite zu Rate, indem Sie
man -LC 2 access
eingeben.
"UBERSICHT
#include <unistd.h>
int access(const char *pathname, int mode);
BESCHREIBUNG
access pruft, ob es dem Prozess erlaubt ware, auf die Datei pathname
(oder ein anderes Dateisystemobjekt) lesend, schreibend oder testend
zuzugreifen. Wenn pathname ein symbolischer Verweis ist, werden die
Zugriffsrechte der referenzierten Datei gepruft.
Mode ist eine Bitmaske, die aus einem oder mehreren der Werte R_OK,
W_OK, X_OK und F_OK besteht.
R_OK, W_OK und X_OK verlangt pruft die Schreib- Lese- bzw.
Ausfuhrungsrechte. F_OK pruft, ob weitere Tests fur die Existenz der
Datei erlaubt sind. Dieses hangt von den Zugriffsrechten der
Verzeichnisse ab, die im Pfad pathname vorkommen, und von den
Zugriffsrechten der Verzeichnisse und Dateien, die durch symbolische
Verweise referenziert werden.
Dieser Test wird mit der realen uid und gid des Prozesses durchgefuhrt,
nicht mit den effektiven Id's. Dadurch haben set-UID Programme die
Moglichkeit die wahren Zugriffsrechte des Aufrufers festzustellen.
Es werden nur die Zugriffsrechte gepruft, nicht der Dateityp oder
dessen Inhalt. Dies bedeutet fur Verzeichnisse, dass in einem
Verzeichnis, das als "beschreibbar" erkannt wurde, Dateien angelegt
werden konnen, aber das Verzeichnis selbst nicht wie eine Datei
beschreiben werden kann. Eine DOS-Datei kann als "ausfuhrbar"
gekennzeichnet sein, jedoch wird ein Aufruf von execve(2) trotzdem
fehlschlagen.
R"UCKGABEWERT
Bei Erfolg (alle angeforderten Zugriffsrechte passen) wird Null
zuruckgegeben. Bei einem Fehler (mindestens eine in mode angeforderte
Zugriffsart wurde verboten, oder ein anderer Fehler ist aufgetreten)
wird -1 zuruckgegeben und errno entsprechend gesetzt.
ERRORS
EACCES Der gewunschte Zugriff wurde verboten werden, entweder auf die
Datei selbst oder auf eines der Verzeichnisse in pathname.
EFAULT pathname zeit auf eine Adresse auBerhalb des Benutzer-
Adressraums.
EINVAL mode wurde falsch angegeben.
ENAMETOOLONG
pathname ist zu lang.
ENOENT Eine Verzeichnis-Komponente von pathname wurde zwar zugreifbar
sein, existiert jedoch nicht, oder ist ein toter symbolischer
Verweis.
ENOTDIR
Ein Teil von pathname wird als Verzeichnis benutzt obwohl es
keines ist.
ENOMEM Es war nicht genugend Kernel-Memory verfugbar.
ELOOP pathname beinhaltet einen Verweis auf einen zirkularen
symbolischen Link, beziehungsweise auf einen symbolischen Link
der wieder auf sich selbst verweist.
WARNUNG
access gibt einen Fehler zuruck, wenn einer der angeforderten
Zugriffsrechnte nicht passt, unabhangig davon, dass andere Typen
vielleicht erfolgreich waren.
KONFORM ZU
SVID, AT&T, POSIX, X/OPEN, BSD 4.3
SIEHE AUCH
stat(2), open(2), chmod(2), chown(2), setuid(2), setgid(2).