access(2) access(2)
NAME
access - Zugriffsrechte auf eine Datei feststellen
SYNTAX
#include <unistd.h>
int access(const char *path, int amode);
BESCHREIBUNG
path weist auf einen Pfadnamen, der eine Datei benennt. access() prüft
die angegebene Datei auf Zugreifbarkeit entsprechend dem Bitmuster in
amode, wobei die reale Benutzer-ID anstelle der effektiven Benutzer-ID
und die reale Gruppen-ID anstelle der effektiven Gruppen-ID verwendet
werden. Das in amode enthaltene Bitmuster wird durch eine OR-Verknüp-
fung der folgenden Konstanten (definiert in unistd.h) konstruiert:
ROK Prüft auf Leseberechtigung
WOK Prüft auf Schreibberechtigung
XOK Prüft auf Ausführungs-/Durchsuchberechtigung
FOK Prüft die Existenz der Datei
FEHLER
Die folgenden Beschreibungen der Fehlercodes sind funktionsspezifisch.
Eine allgemeingültige Beschreibung finden Sie in introprm2(2) bzw. in
errno(5).
Die Funktion access() schlägt bei einer der folgenden Bedingungen
fehl:
EACCES Die Zugriffsberechtigungsbits des Dateimodus lassen den
angeforderten Zugriff nicht zu, oder eine Komponente des
Pfads darf nicht durchsucht werden.
ELOOP Es wurden zu viele symbolische Links beim Auflösen von
path gefunden.
ENAMETOOLONG Die Länge des Arguments path überschreitet PATHMAX,
oder eine Komponente des Pfadnamens ist länger als
NAMEMAX.
ENOENT Eine Komponente von path gibt eine nicht vorhandene
Datei an, oder path ist eine leere Zeichenkette.
ENOTDIR Eine Komponente des Pfads ist kein Verzeichnis.
EROFS Für eine Datei auf einem schreibgeschützten Dateisystem
wurde Schreibzugriff angefordert.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
access(2) access(2)
Die Funktion access() kann bei einer der folgenden Bedingungen fehl-
schlagen:
EINVAL Der Wert des Arguments amode ist ungültig.
ENAMETOOLONG Die Auflösung des Pfadnamens eines symbolischen Links
hat ein Zwischenergebnis erzeugt, dessen Länge PATHMAX
überschreitet.
ETXTBSY Für eine reine Prozedurdatei (gemeinsam verwendeter
Text), die gerade ausgeführt wird, wurde Schreibzugriff
angefordert.
ERGEBNIS
Bei Erlaubnis des angeforderten Zugriffs wird 0 zurückgegeben. Andern-
falls wird -1 zurückgegeben, und errno wird gesetzt, um den Fehler
anzuzeigen.
SIEHE AUCH
chmod(2), stat(2), unistd(4).
Abschnitt "Dateizugriffsrechte" in introprm2(2).
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98