Home » Linux Manpages » access
Man(1) output converted with man2html
[ Print ]
access
Linux Manpage
ÜBERSICHT
#include <unistd.h>
int access(const char *pathname, int mode);
BESCHREIBUNG
access prüft, ob es dem Prozess erlaubt wäre, 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 geprüft.
Mode ist eine Bitmaske die aus einem oder mehreren der Werte R_OK,
W_OK, X_OK und F_OKbesteht.
R_OK, W_OK und X_OK verlangt prüft die Schreib- Lese- bzw.
Ausführungsrechte. F_OK prüft, ob weitere Tests für die Existenz der
Datei erlaubt sind. Dieses hängt von den Zugriffsrechten der Verzeich-
nisse ab, die im Pfad pathname vorkommen, und von den Zugriffsrechten
der Verzeichnisse und Dateien, die durch symbolische Verweise referen-
ziert werden.
Dieser Test wird mit der realen uid und gid des Prozesses durchgeführt,
nicht mit den effektiven Id's. Dadurch haben set-UID Programme die
Möglichkeit die wahren Zugriffsrechte des Aufrufers festzustellen.
Es werden nur die Zugriffsrechte geprüft, nicht der Dateityp oder
dessen Inhalt. Dies bedeutet für Verzeichnisse, dass in einem Verze-
ichnis, das als "beschreibbar" erkannt wurde, Dateien angelegt werden
können, aber das Verzeichnis selbst nicht wie eine Datei beschreiben
werden kann. Eine DOS-Datei kann als "ausführbar" gekennzeichnet sein,
jedoch wird ein Aufruf von execve(2) trotzdem fehlschlagen.
RÜCKGABEWERT
Bei Erfolg (alle angeforderten Zugriffsrechte passen) wird Null
zurückgegeben. Bei einem Fehler (mindestens eine in mode angeforderte
Zugriffsart wurde verboten, oder ein anderer Fehler ist aufgetreten)
wird -1 zurückgegeben und errno entsprechend gesetzt.
ERRORS
EACCES Der gewünschte Zugriff würde verboten werden, entweder auf die
Datei selbst oder auf eines der Verzeichnisse in pathname.
EFAULT pathname zeit auf eine Adresse außerhalb des Benutzer-Adress-
raums.
EINVAL mode wurde falsch angegeben.
ENAMETOOLONG
pathname ist zu lang.
ENOENT Eine Verzeichnis-Komponente von pathname wuerde zwar zugreifbar
access gibt einen Fehler zurück, wenn einer der angeforderten Zugriffs-
rechnte nicht passt, unabhängig davon, dass andere Typen vielleicht
erfolgreich wären.
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).
Linux 1.1.46 10. Juni 1996 ACCESS(2)
Man(1) output converted with man2html





