1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212
|
.\" Hey Emacs! This file is -*- nroff -*- source.
.\"
.\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992
.\" Copyright (c) 1998 Andries Brouwer (aeb@cwi.nl)
.\"
.\" 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 <u31b3hs@pool.informatik.rwth-aachen.de>
.\" Modified Wed Jul 21 21:53:01 1993 by Rik Faith <faith@cs.unc.edu>
.\" Modified Tue Jul 9 13:59:51 1996 by Andries Brouwer <aeb@cwi.nl>
.\" Modified Wed Nov 6 03:49:07 1996 by Eric S. Raymond <esr@thyrsus.com>
.\" Modified Sun May 18 10:34:09 1997 by Michael Haardt <michael@cantor.informatik.rwth-aachen.de>
.\" Translated into German Tue May 23 22:54:37 2000 by Florian Jenn (jennf@tu-cottbus.de)
.\" Minor modifications Tue Jan 16 00:14:32 2001 by Florian Jenn (jennf@tu-cottbus.de)
.\"
.TH CHOWN 2 "23. Mai 2000" "Linux 2.1.81" "Systemaufrufe"
.SH BEZEICHNUNG
chown, fchown, lchown \- Besitzverhltnisse einer Datei ndern
.SH "BERSICHT"
.B #include <sys/types.h>
.br
.B #include <unistd.h>
.sp
.BI "int chown(const char *" path ", uid_t " owner ", gid_t " group );
.br
.BI "int fchown(int " fd ", uid_t " owner ", gid_t " group );
.br
.BI "int lchown(const char *" path ", uid_t " owner ", gid_t " group );
.SH BESCHREIBUNG
Die Besitzverhltnisse der Datei, die durch
.I path
bzw.
.I fd
gegeben ist, werden gendert: neuer Eigentmer ist
.IR owner ,
neue Gruppe ist
.IR group .
Nur der Super-User kann den Eigentmer einer Datei ndern. Der Eigentmer
einer Datei kann die Gruppenzugehrigkeit der Datei in jede Gruppe ndern,
der er selber angehrt. Der Super-User kann die Gruppenzugehrigkeit
beliebig ndern.
.PP
Wird als
.I owner
oder
.I group
\|\-1 bergeben, wird die entsprechende
.SM ID
nicht gendert.
.PP
Werden Eigentmer oder Gruppe einer ausfhrbaren Datei von einem
Nicht-Super-User gendert, werden die Modus-Bits
.SM S_ISUID
und
.SM S_ISGID
gelscht.
.SM POSIX
legt nicht fest, ob dies auch dann geschehen sollte, wenn der Super-User
.B chown
durchfhrt. Das Verhalten von Linux ist in diesem Falle abhngig von der
Kernelversion. Ist die Datei nicht ausfhrbar (d.\|h. das
.SM S_IXGRP
Bit ist gelscht), bedeutet ein gesetztes
.SM S_ISGID
Bit verbindliche Sperren (mandatory locks) fr die Datei. Dieses Bit wird
dann von
.B chown
nicht gendert.
.SH "RCKGABEWERT"
Bei Erfolg gibt
.B chown
Null zurck. Bei einem Fehler wird \-1 zurckgegeben und
.I errno
entsprechend gesetzt.
.SH FEHLER
Die hufigsten Fehler fr
.B chown
sind unten aufgefhrt. Je nach Dateisystem knnen andere Fehler
zurckgegeben werden.
.TP 0.8i
.SB EPERM
Die effektive
.SM UID
(Benutzer ID) entspricht nicht dem Eigentmer der Datei und ist auch
nicht Null (d.\|h. Super-User).
.SM EPERM
kann auch anzeigen, da Eigentmer
.RI ( owner )
oder Gruppe
.RI ( group )
falsch angegeben wurden.
.TP
.SB EROFS
Die angegebene Datei liegt auf einem schreibgeschtzten (read-only)
Dateisystem.
.TP
.SB EFAULT
.I path
zeigt auf eine Adresse auerhalb des gltigen Adreraums.
.TP
.SB ENAMETOOLONG
.I path
ist zu lang.
.TP
.SB ENOENT
Die Datei ist nicht vorhanden.
.TP
.SB ENOMEM
Es war nicht ausreichend Kernel-Speicher verfgbar.
.TP
.SB ENOTDIR
Eine Komponente im Verzeichnisteil des Pfades (d.\|i. der vordere Teil bis
zum Dateinamen ausschlielich) ist kein Verzeichnis.
.TP
.SB EACCES
Die Berechtigung zum Durchsuchen eines Verzeichnisses im Pfad ist nicht
gegeben.
.TP
.SB ELOOP
Es wurden zu viele symbolische Links beim Auflsen von
.I path
gefunden.
.PP
Folgende Fehler knnen von
.B fchown
zurckgegeben werden:
.TP 0.8i
.SB EBADF
Der Dateideskriptor
.I fd
ist ungltig.
.TP
.SB ENOENT
Siehe oben.
.TP
.SB EPERM
Siehe oben.
.TP
.SB EROFS
Siehe oben.
.TP
.SB EIO
Ein (low-level) Ein-/Ausgabe-Fehler ist whrend der nderung des Inodes
aufgetreten.
.SH ANMERKUNGEN
In Linux-Versionen vor 2.1.81 (auer 2.1.46) folgte
.B chown
nicht symbolischen Links. Ab Linux 2.1.81 folgt
.B chown
symbolischen Links und es gibt einen neuen Systemaufruf
.BR lchown,
der symbolischen Links nicht folgt. Ab Linux 2.1.86 hat dieser neue
Aufruf (der die gleiche Semantik wie das alte
.B chown
besitzt) die gleiche Systemaufruf-Nummer (syscall number) und
.B chown
erhielt die neu eingefhrte Nummer.
.LP
Der Prototyp fr
.B fchown
ist nur dann verfgbar, wenn
.SB _\^_USE_BSD
definiert ist.
.SH "KONFORM ZU"
.B chown
ist konform zu SVr4, \s-1SVID\s+1, \s-1POSIX\s+1 und \s-1X/OPEN\s+1.
Die 4.4\s-1BSD\s+1-Version kann nur vom Super-User benutzt werden
(d.\|h. da normale Benutzer keine Dateien abgeben knnen). SVr4
dokumentiert die Fehler \s-1EINVAL\s+1, \s-1EINTR\s+1, \s-1ENOLINK\s+1
und \s-1EMULTIHOP\s+1, aber nicht \s-1ENOMEM\s+1. \s-1POSIX\s+1.1
dokumentiert nicht die Fehler \s-1ENOMEM\s+1 und \s-1ELOOP\s+1.
.PP
Der
.BR fchown -Aufruf
ist konform zu 4.4\s-1BSD\s+1 und SVr4. SVr4 dokumentiert zustzlich
die Fehler \s-1EINVAL\s+1, \s-1EIO\s+1, \s-1EINTR\s+1 und
\s-1ENOLINK\s+1.
.SH EINSCHRNKUNGEN
Die Semantik von
.BR chown ()
wird auf \s-1NFS\s+1-Dateisystemen mit aktiviertem \s-1UID\s+1-mapping
(Umsetzung der Benutzerkennungen zwischen verschiedenen Rechnern)
bewut verletzt. Auerdem wird bei allen Systemaufrufen, die auf den
Dateiinhalt zugreifen, die Semantik verletzt, da
.BR chown ()
einen sofortigen Entzug des Zugriffs bei bereits geffneten Dateien
bewirken kann. Zwischenspeicherung (caching) seitens des Clients kann
zu einer Verzgerung zwischen dem Zeitpunkt der nderung der
Besitzverhltnisse, um einem Benutzer Zugriff zu ermglichen, und dem
Zeitpunkt, zu dem er auf anderen Clients tatschlich zugreifen kann,
fhren.
.SH "SIEHE AUCH"
.BR chmod (2),
.BR flock (2).
|