.\" -*- coding: UTF-8 -*- .\" Hey Emacs! This file is -*- nroff -*- source. .\" .\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 .\" .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" .\" Modified by Michael Haardt .\" Modified 1993-07-21 by Rik Faith .\" Modified 1997-01-12 by Michael Haardt .\" : NFS details .\" Modified 2004-06-23 by Michael Kerrisk .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH CHMOD 2 "26. September 2010" Linux Linux\-Programmierhandbuch .SH BEZEICHNUNG chmod, fchmod \- Zugriffsrechte einer Datei ändern .SH ÜBERSICHT \fB#include \fP .sp \fBint chmod(const char *\fP\fIpath\fP\fB, mode_t \fP\fImode\fP\fB);\fP .br \fBint fchmod(int \fP\fIfd\fP\fB, mode_t \fP\fImode\fP\fB);\fP .sp .in -4n Mit Glibc erforderliche Makros (siehe \fBfeature_test_macros\fP(7)): .in .sp .ad l .PD 0 \fBfchmod\fP(): .RS 4 _BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500 || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED .br || /* Seit Glibc 2.12: */ _POSIX_C_SOURCE\ >=\ 200809L .RE .PD .ad .SH BESCHREIBUNG Diese Systemaufrufe ändern die Rechte einer Datei. Sie unterscheiden sich nur in der Art, wie eine Datei angegeben wird: .IP * 2 \fBchmod\fP() ändert die Berechtigungen einer angegebenen Datei, deren Pfadname in \fIpath\fP übergeben wird. Falls sie ein symbolischer Link ist, wird dieser dereferenziert. .IP * \fBfchmod\fP() ändert die Rechte der über den offenen Dateideskriptor \fIfd\fP angegebenen Datei. .PP Die neuen Dateirechte werden in der Bit\-Maske \fImode\fP festgelegt, welche durch ODER\-Verknüpfung von null oder mehr der Folgenden erstellt wird: .TP 18 \fBS_ISUID\fP (04000) Set\-User\-ID (setzt die effektive Benutzer\-ID des Prozesses bei \fBexecve\fP(2)) .TP \fBS_ISGID\fP (02000) Set\-Group\-ID (setzt die effektive Gruppen\-ID für \fBexecve\fP(2); sperrt obligatorisch, wie in \fBfcntl\fP(2) beschrieben; bestimmt die Gruppe der Datei aus dem übergeordneten Verzeichnis, wie in \fBchown\fP(2) und \fBmkdir\fP(2) beschrieben .TP \fBS_ISVTX\fP (01000) »Sticky Bit« (Schalter für eingeschränktes Löschen, wie in \fBunlink\fP(2) beschrieben) .TP \fBS_IRUSR\fP (00400) Leserechte für Eigentümer .TP \fBS_IWUSR\fP (00200) Schreibrechte für Eigentümer .TP \fBS_IXUSR\fP (00100) Ausführungs\-/Schreibrechte für Eigentümer (»suchen« trifft für Verzeichnisse zu und bedeutet, dass auf Einträge innerhalb des Verzeichnisses zugegriffen werden kann) .TP \fBS_IRGRP\fP (00040) Leserechte für Gruppe .TP \fBS_IWGRP\fP (00020) Schreibrechte für Gruppe .TP \fBS_IXGRP\fP (00010) Ausführungs\-/Schreibrechte für Gruppe .TP \fBS_IROTH\fP (00004) Leserechte für andere .TP \fBS_IWOTH\fP (00002) Schreibrechte für andere .TP \fBS_IXOTH\fP (00001) Ausführungs\-/Schreibrechte für andere .PP Die effektive UID des aufrufenden Prozesses muss auf den Eigentümer der Datei passen oder der Prozess muss privilegiert sein (Linux: er muss über die Capability (Fähigkeit) \fBCAP_FOWNER\fP verfügen). Falls der aufrufende Prozess nicht privilegiert ist (Linux: er verfügt nicht über die Capability \fBCAP_FSETID\fP) und die Gruppe der Datei nicht auf die effektive Gruppen\-ID des Prozesses oder einer seiner ergänzenden Gruppen\-IDs passt, dann wird das Bit \fBS_ISGID\fP ausgeschaltet werden, ohne dass ein Fehler zurückgegeben wird. Als Sicherheitsmaßnahme können je nach Dateisystem die Set\-User\-ID\- und Set\-Group\-ID\-Ausführungsbits ausgeschaltet werden, wenn eine Datei geschrieben wird. (Unter Linux geschieht das, wenn der schreibende Prozess nicht über die \fBCAP_FSETID\fP\-Capability verfügt.) Bei einigen Dateisystemen kann nur der Superuser das Sticky\-Bit setzen, das möglicherweise eine besondere Bedeutung hat. Für das Sticky\-Bit, das Set\-User\-ID\-Bit und das Set\-Group\-ID\-Bit für Verzeichnisse siehe \fBstat\fP(2). Für NFS\-Dateisysteme wirkt sich eine Beschränkung der Rechte sofort auf schon geöffnete Dateien aus, weil die Zugriffskontrolle auf dem Server erfolgt, der Client sich aber um die offenen Dateien kümmert. Die Erweiterung der Rechte kann für andere Clients verschoben werden, wenn für sie die Zwischenspeicherung der Attribute aktiviert wurde. .SH RÜCKGABEWERT Bei Erfolg wird Null zurückgegeben. Bei einem Fehler wird \-1 zurückgegeben und \fIerrno\fP entsprechend gesetzt. .SH FEHLER Abhängig vom Dateisystem können andere Fehler zurückgeliefert werden. Die allgemeineren Fehler für \fBchmod\fP() sind im Folgenden aufgeführt: .TP \fBEACCES\fP Eine Komponente des Pfad\-Präfix darf nicht durchsucht werden. (Siehe auch \fBpath_resolution\fP(7).) .TP \fBEFAULT\fP \fIpath\fP zeigt aus Ihrem adressierbaren Adressraum heraus. .TP \fBEIO\fP Es ist ein E/A\-Fehler (engl. I/O) aufgetreten. .TP \fBELOOP\fP Bei der Auflösung von \fIpath\fP wurden zu viele symbolische Verknüpfungen gefunden. .TP \fBENAMETOOLONG\fP \fIpath\fP ist zu lang. .TP \fBENOENT\fP Die Datei existiert nicht. .TP \fBENOMEM\fP Zu wenig Kernelspeicher verfügbar. .TP \fBENOTDIR\fP Eine Komponente des Pfad\-Präfixes ist kein Verzeichnis. .TP \fBEPERM\fP Die effektive UID passt nicht auf den Eigentümer der Datei und der Prozess ist nicht privilegiert (Linux: Er verfügt nicht über die Capability \fBCAP_FOWNER\fP). .TP \fBEROFS\fP Die angegebene Datei befindet sich auf einem nur lesbaren (read\-only) Dateisystem. .PP Die allgemeinen Fehler bei \fBfchmod\fP() sind im Folgenden aufgeführt: .TP \fBEBADF\fP Der Dateideskriptor \fIfd\fP ist ungültig. .TP \fBEIO\fP Siehe oben. .TP \fBEPERM\fP Siehe oben. .TP \fBEROFS\fP Siehe oben. .SH "KONFORM ZU" 4.4BSD, SVr4, POSIX.1\-2001. .SH "SIEHE AUCH" \fBchown\fP(2), \fBexecve\fP(2), \fBfchmodat\fP(2), \fBopen\fP(2), \fBstat\fP(2), \fBpath_resolution\fP(7) .SH KOLOPHON Diese Seite ist Teil der Veröffentlichung 3.42 des Projekts Linux\-\fIman\-pages\fP. Eine Beschreibung des Projekts und Informationen, wie Fehler gemeldet werden können, finden sich unter http://www.kernel.org/doc/man\-pages/. .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Daniel Kobras , Helge Kreutzmann und Martin Eberhard Schauer erstellt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an .