Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ chown(2) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

chgrp(1)

chown(1)

chmod(2)

symlink(2)

unistd(4)

types(5)

chown(2)                                                           chown(2)

NAME
     chown, lchown, fchown - Eigentümer/Gruppe einer Datei ändern

SYNTAX
     #include <unistd.h>
     #include <sys/types.h>

     int chown(const char *path, uidt owner, gidt group);

     int lchown(const char *path, uidt owner, gidt group);

     int fchown(int fildes, uidt owner, gidt group);

BESCHREIBUNG
     Die Eigentümer-ID und die Gruppen-ID der Datei, die durch path spezi-
     fiziert wird, oder auf die fildes verweist, werden auf owner bzw.
     group gesetzt. Wenn owner oder group mit (uidt)-1 bzw. (gidt)-1 spe-
     zifiziert ist, wird die der Datei zugehörige ID nicht geändert.

     Die Funktion lchown setzt den Eigentümer und die Gruppenzugehörigkeit
     der angegebenen Datei genau wie chown(), es sei denn, die Datei
     besteht aus einem symbolischen Link (Verweis). In diesem Fall ändert
     lchown() die Zugehörigkeit der Link-Datei, wohingegen chown() die
     Zugehörigkeit der Datei oder des Verzeichnisses ändert, auf das sich
     der symbolische Link bezieht.

     Wenn chown(), lchown() oder fchown() von einem Prozeß aufgerufen wird,
     der nicht den Systemverwalterstatus hat, dann wird das Bit zum Setzen
     der Benutzer- und Gruppen-ID bei Ausführung, beziehungsweise SISUID
     und SISGID, gelöscht [siehe chmod(2)].

     Das Betriebssystem hat die Konfigurationsoption
     POSIXCHOWNRESTRICTED, um Zugehörigkeitsänderungen für die System-
     aufrufe chown(), lchown() und fchown() zu verhindern. Wenn
     POSIXCHOWNRESTRICTED nicht aktiv ist, muß die effektive Benutzer-ID
     des Prozesses die des Eigentümers der Datei sein, oder der Prozeß muß
     Systemverwalter sein, um den Besitz der Datei zu ändern. Wenn
     POSIXCHOWNRESTRICTED aktiv ist, bewahren die Systemaufrufe chown(),
     lchown() und fchown() den Eigentümer einer Datei davor, daß die
     Eigentümer-IDs seiner Dateien geändert werden und beschränken den
     Gruppenwechsel der Datei auf die Liste der ergänzenden Gruppen-IDs.

     Nach erfolgreichem Abschluß markieren chown(), lchown() und fchown()
     das Feld stctime der Datei, um sie auf den neuesten Stand zu bringen.

FEHLER
     Die folgenden Beschreibungen der Fehlercodes sind funktionsspezifisch.
     Eine allgemeingültige Beschreibung finden Sie in introprm2(2) bzw. in
     errno(5).






Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

chown(2)                                                           chown(2)

     chown() und lchown() sind erfolglos, und Eigentümer und Gruppe der
     angegebenen Datei bleiben unverändert, wenn einer oder mehrere der
     nachstehenden Punkte zutreffen:

     EACCES        Eine Komponente von path darf nicht durchsucht werden.

     EFAULT        path weist über den zugewiesenen Adreßraum des Prozesses
                   hinaus.

     EINTR         Ein Signal wurde während des Systemaufrufs chown() oder
                   lchown() abgefangen.

     EINVAL        group oder owner sind außerhalb des zulässigen Bereichs.

     EIO           Beim Lesen vom Dateisystem oder Schreiben auf dieses
                   trat ein Ein-/Ausgabefehler auf.

     ELOOP         Während der Auflösung von path wurden zu viele symboli-
                   sche Links angetroffen.

     EMULTIHOP     Die Komponenten von path erfordern den Sprung auf meh-
                   rere ferne Rechner, und der Dateisystemtyp erlaubt die-
                   ses nicht.

     ENAMETOOLONG  Die Länge des Arguments path überschreitet PATHMAX,
                   oder die Länge einer Komponente von path überschreitet
                   NAMEMAX.

     ENAMETOOLONG  Die Auflösung des Pfadnamens eines symbolischen Links
                   hat ein Zwischenergebnis erzeugt, dessen Länge PATHMAX
                   überschreitet.

     ENOLINK       path weist auf einen fernen Rechner, zu dem die Verbin-
                   dung nicht mehr aktiv ist.

     ENOTDIR       Eine Komponente des Pfads path ist kein Verzeichnis.

     ENOENT        Eine Komponente des Pfads oder die Datei, auf die path
                   verweist, existiert nicht oder ist ein leerer Pfadname.

     EPERM         Die effektive Benutzer-ID entspricht nicht dem Eigentü-
                   mer der Datei, oder der aufrufende Prozess hat nicht die
                   passenden Zugriffsrechte.

     EROFS         Die Datei steht in einem schreibgeschützten Dateisystem.

     fchown() ist erfolglos, und Eigentümer und Gruppe der angegebenen
     Datei bleiben unverändert, wenn einer oder mehrere der nachstehenden
     Punkte zutreffen:





Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

chown(2)                                                           chown(2)

     EABDF         Verweist auf keine offene Datei.

     EINVAL        group oder owner sind außerhalb des zulässigen Bereichs.

     EPERM         Die effektive Benutzer-ID entspricht nicht dem Eigentü-
                   mer der Datei, oder der aufrufende Prozess hat nicht die
                   passenden Zugriffsrechte.

     EROFS         Die Datei steht in einem schreibgeschützten Dateisystem.

     EINTR         Ein Signal wurde während des chown()- oder lchown()-
                   Systemaufrufs abgefangen.

     EIO           Beim Lesen vom Dateisystem oder Schreiben auf dieses
                   trat ein Ein-/Ausgabefehler auf.

     ENOLINK       path weist auf einen fernen Rechner, zu dem die Verbin-
                   dung nicht mehr aktiv ist.

ERGEBNIS
     Nach erfolgreicher Beendigung wird 0 zurückgegeben, andernfalls wird
     -1 zurückgegeben und errno zur Anzeige des Fehlers gesetzt. Bei Rück-
     gabe von -1 werden Benutzer-ID und Gruppen-ID der Datei nicht verän-
     dert.

ANWENDUNGSZWECK
     Da POSIXCHOWNRESTRICTED auf XSI-kompatiblen Systemen (XSI - X/Open
     System Interface) stets mit einem anderen Wert als -1 definiert ist,
     wird der Fehler EPERM immer zurückgegeben, wenn die effektive
     Benutzer-ID nicht der des Eigentümers der Datei entspricht oder der
     aufrufende Prozeß nicht über die entsprechenden Privilegien verfügt.

     Bei Implementierungen, die symbolische Links als Verzeichniseinträge
     anstatt als Dateien unterstützen, schlägt lchown() fehl.

SIEHE AUCH
     chgrp(1), chown(1), chmod(2), symlink(2), unistd(4), types(5).

















Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026