.\" -*- coding: UTF-8 -*- .\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 .\" and Copyright (C) 2006, 2014 Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" 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 "30. März 2023" "Linux man\-pages 6.05.01" .SH BEZEICHNUNG chmod, fchmod, fchmodat \- Zugriffsrechte einer Datei ändern .SH BIBLIOTHEK Standard\-C\-Bibliothek (\fIlibc\fP, \fI\-lc\fP) .SH ÜBERSICHT .nf \fB#include \fP .PP \fBint chmod(const char *\fP\fIPfadname\fP\fB, mode_t \fP\fIModus\fP\fB);\fP \fBint fchmod(int \fP\fIdd\fP\fB, mode_t \fP\fIModus\fP\fB);\fP .PP \fB#include \fP /* Definition der AT_*\-Konstanten */ \fB#include \fP .PP \fBint fchmodat(int \fP\fIVerzdd\fP\fB, const char *\fP\fIPfadname\fP\fB, mode_t \fP\fIModus\fP\fB, int \fP\fISchalter\fP\fB);\fP .fi .PP .RS -4 Mit Glibc erforderliche Feature\-Test\-Makros (siehe \fBfeature_test_macros\fP(7)): .RE .PP .nf .\" || (_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED) .\" || (_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED) \fBfchmod\fP(): Seit Glibc 2.24: _POSIX_C_SOURCE >= 199309L Glibc 2.19 bis 2.23 _POSIX_C_SOURCE Glibc 2.16 bis 2.19: _BSD_SOURCE || _POSIX_C_SOURCE Glibc 2.12 bis 2.16: _BSD_SOURCE || _XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >= 200809L Glibc 2.11 und älter: _BSD_SOURCE || _XOPEN_SOURCE >= 500 .fi .PP \fBfchmodat\fP(): .nf Seit Glibc 2.10: _POSIX_C_SOURCE >= 200809L Vor Glibc 2.10: _ATFILE_SOURCE .fi .SH BESCHREIBUNG Die Systemaufrufe \fBchmod\fP() und \fBfchmod\fP() ändern die Modusbits einer Datei. (Die Dateimodusbits bestehen aus den Dateiberechtigungsbits sowie den Bits set\-user\-ID, set\-group\-ID und sticky). Diese Systemaufrufe unterscheiden sich nur in der Art, wie eine Datei angegeben wird: .IP \[bu] 3 \fBchmod\fP() ändert den Modus der angegebenen Datei, deren Pfadname in \fIPfadname\fP übergeben wird. Falls sie ein symbolischer Link ist, wird dieser dereferenziert. .IP \[bu] \fBfchmod\fP() ändert den Modus der über den offenen Dateideskriptor \fIdd\fP angegebenen Datei. .PP Der neue Dateimodus wird in der Bit\-Maske \fIModus\fP angegeben, 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 Benutzerkennung des Prozesses bei \fBexecve\fP(2)) .TP \fBS_ISGID\fP (02000) Set\-Group\-ID (setzt die effektive Gruppenkennung für \fBexecve\fP(2); sperrt obligatorisch, wie in \fBfcntl\fP(2) beschrieben; bestimmt die Gruppe der Datei aus dem Elternverzeichnis, 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). .PP 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 Gruppenkennung des Prozesses oder einer seiner zusätzlichen Gruppenkennungen passt, dann wird das Bit \fBS_ISGID\fP ausgeschaltet werden, ohne dass ein Fehler zurückgegeben wird. .PP 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 \fBinode\fP(7). .PP .\" .\" Für NFS\-Dateisysteme wirkt sich eine Beschränkung der Rechte sofort auf schon geöffnete Dateien aus, weil die Zugriffssteuerung 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. .SS fchmodat() Der Systemaufruf \fBfchmodat\fP() funktioniert genauso wie \fBchmod\fP(), außer den hier beschriebenen Unterschieden. .PP Falls der in \fIPfadname\fP übergebene Pfadname relativ ist wird er als relativ zu dem im Dateideskriptor \fIVerzdd\fP referenzierten Verzeichnis interpretiert (statt relativ zum aktuellen Arbeitsverzeichnis des aufrufenden Prozesses, wie es bei \fBchmod\fP() für einen relativen Pfadnamen erfolgt). .PP Falls \fIPfadname\fP relativ ist und \fIVerzdd\fP den besonderen Wert \fBAT_FDCWD\fP annimmt wird \fIPfadname\fP als relativ zum aktuellen Arbeitsverzeichnis des aufrufenden Prozesses interpretiert (wie \fBchmod\fP()). .PP Falls \fIPfadname\fP absolut ist, wird \fIVerzdd\fP ignoriert. .PP \fISchalter\fP kann entweder 0 sein oder den folgenden Schalter enthalten: .TP \fBAT_SYMLINK_NOFOLLOW\fP Wenn der \fIPfadname\fP ein symbolischer Link ist, wird er nicht dereferenziert: es wird stattdessen mit dem Link selbst gearbeitet. Dieser Schalter ist gegenwärtig nicht implementiert. .PP Lesen Sie \fBopenat\fP(2) für eine Beschreibung der Notwendigkeit von \fBfchmodat\fP(). .SH RÜCKGABEWERT Bei Erfolg wird Null zurückgegeben. Bei einem Fehler wird \-1 zurückgegeben und \fIerrno\fP gesetzt, um den Fehler anzuzeigen. .SH FEHLER Je nach Dateisystem können andere als die unten aufgeführten Fehler zurückgegeben werden. .PP Die allgemeineren Fehler bei \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 \fBEBADF\fP (\fBfchmod\fP()) Der Dateideskriptor \fIdd\fP ist ungültig. .TP \fBEBADF\fP (\fBfchmodat\fP()) Der \fIPfadname\fP ist relativ, aber \fIVerzdd\fP ist weder \fBAT_FDCWD\fP noch ein gültiger Dateideskriptor. .TP \fBEFAULT\fP \fIPfadname\fP zeigt aus dem für Sie zugänglichen Adressraum heraus. .TP \fBEINVAL\fP (\fBfchmodat\fP()) Unzulässiger Schalter in \fISchalter\fP angegeben. .TP \fBEIO\fP Es ist ein E/A\-Fehler (engl. I/O) aufgetreten. .TP \fBELOOP\fP Bei der Auflösung von \fIPfadname\fP wurden zu viele symbolische Links gefunden. .TP \fBENAMETOOLONG\fP \fIPfadname\fP ist zu lang. .TP \fBENOENT\fP Die Datei existiert nicht. .TP \fBENOMEM\fP Es war nicht genügend Kernelspeicher verfügbar. .TP \fBENOTDIR\fP Eine Komponente des Pfad\-Präfixes ist kein Verzeichnis. .TP \fBENOTDIR\fP (\fBfchmodat\fP()) \fIPfadname\fP ist relativ und \fIVerzdd\fP ist ein Dateideskriptor, der sich auf eine Datei bezieht, die kein Verzeichnis ist. .TP \fBENOTSUP\fP (\fBfchmodat\fP()) \fISchalter\fP spezifizierte \fBAT_SYMLINK_NOFOLLOW\fP, was nicht unterstützt wird. .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 \fBEPERM\fP Die Datei ist als unveränderlich oder nur\-anhängbar markiert (siehe \fBioctl_iflags\fP(2)). .TP \fBEROFS\fP Die angegebene Datei befindet sich auf einem nur lesbaren (read\-only) Dateisystem. .SH VERSIONEN .SS "Unterschiede C\-Bibliothek/Kernel" Die Wrapper\-Funktion \fBfchmodat\fP() der GNU\-C\-Bibliothek implementiert die in dieser Seite beschriebene POSIX\-spezifizierte Schnittstelle. Diese Schnittstelle unterscheidet sich vom zugrunde liegenden Linux\-Systemaufruf, welcher \fIkein\fP \fISchalter\fP\-Argument hat. .SS "Anmerkungen zur Glibc" Mit älteren Kernels, in denen \fBfchmodat\fP() nicht verfügbar ist, weicht die Glibc\-Wrapper\-Funktion auf \fBchmod\fP() aus. Wenn \fIPfadname\fP ein relativer Pfadname ist, dann konstruiert die Glibc einen Pfadnamen, der auf jenem symbolischen Link in \fI/proc/self/fd\fP, der dem Argument \fIVerzdd\fP entspricht. .SH STANDARDS POSIX.1\-2008. .SH GESCHICHTE .TP \fBchmod\fP() .TQ \fBfchmod\fP() 4.4BSD, SVr4, POSIX.1\-2001. .TP \fBfchmodat\fP() POSIX.1\-2008. Linux 2.6.16, Glibc 2.4. .SH "SIEHE AUCH" \fBchmod\fP(1), \fBchown\fP(2), \fBexecve\fP(2), \fBopen\fP(2), \fBstat\fP(2), \fBinode\fP(7), \fBpath_resolution\fP(7), \fBsymlink\fP(7) .PP .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Daniel Kobras , Martin Eberhard Schauer , Helge Kreutzmann und Mario Blättermann erstellt. .PP Diese Übersetzung ist Freie Dokumentation; lesen Sie die .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. .PP Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die .MT debian-l10n-german@lists.debian.org Mailingliste der Übersetzer .ME .