Provided by:
manpages-nl_20051127-4_all
NAAM
chown, fchown, lchown - verander eigendom van een bestand
OVERZICHT
#include <sys/types.h>
#include <unistd.h>
int chown(const char *pad, uid_t eigenaar, gid_t groep);
int fchown(int bi, uid_t eigenaar, gid_t groep);
int lchown(const char *pad, uid_t eigenaar, gid_t groep);
BESCHRIJVING
De eigenaar van een bestand bepaald door weg of door bi is veranderd.
Alleen de super-gebruiker mag de eigenaar van een bestand veranderen.
De eigenaar van het bestand mag de groep van het bestand naar elke
groep veranderen waar hij lid van is. De super-gebruiker heeft altijd
het recht om de groep te veranderen.
Als de eigenaar of groep bepaald is als -1, dan wordt die ID niet
veranderd.
Als de eigenaar of groep van een uitvoerbaar bestand veranderd worden
door een niet-super-gebruiker, dan worden de S_ISUID en S_ISGID toes‐
tand bits gewist. POSIX bepaald niet of dit ook moet gebeuren als
"root" de chown doet; het gedrag van Linux hangt af van de bestur‐
ingssysteem versie. In het geval een niet-groep-uitvoerbaar bestand
(met een gewiste S_IXGRP bit) bepaald het S_ISGID verplicht vergrende‐
len, dit wordt niet gewist door een chown.
Bij success wordt nul teruggegeven. Bij falen wordt -1 teruggegeven, en
wordt errno naar behoren gezet.
FOUTEN
Afhankelijk van het bestandsysteem kunnen andere fouten teruggegeven
worden. De meer algemene fouten voor chown worden hieronder genoemd.
EPERM {toestemming} Het geldende UID komt niet overeen met de eigenaar
van het bestand, en is niet nul; of de eigenaar of groep werden
verkeerd gegeven.
EROFS {alleen-lezen b.s.} Het benoemde bestand verblijft of een
alleen-lezen bestandsysteem.
EFAULT {fout} weg wijst buiten door u toegankelijke adres ruimte.
ENAMETOOLONG
{naam te lang} weg is te lang.
ENOENT {geen ingang} Bestand bestaat niet.
ENOMEM {geen geheugen} Onvoldoende besturingssysteem geheugen was
voorhanden.
ENOTDIR
{geen dir} Een deel van het pad-voorvoegsel was geen directorie.
EACCES {toegang} Zoek toestemming is geweigerd op een deel van het pad-
voorvoegsel.
ELOOP {cirkel} Teveel symbolische koppelingen werden tegengekomen bij
het "oplossen" van pad.
De algemene fouten voor fchown worden hieronder genoemd:
EBADF {slechte bi} De beschrijver was niet geldig.
ENOENT {geen ingang} Zie boven.
EPERM {toestemming} Zie boven.
EROFS {alleen-lezen b.s.} Zie boven.
EIO {in/uit} Een laag-niveau In/Uit fout trad op terwijl de "inode"
{i node} veranderd werd.
OPMERKINGEN
In versies van Linux voor 2.1.81 (maar verschillend van 2.1.46), volgde
chown geen symbolische koppelingen. Sinds Linux 2.1.81, volgt chown
symbolische koppelingen, en er is een nieuwe systeem aanroep lchown die
symbolische links niet volgt. Sinds Linux 2.1.86 heeft deze nieuwe
aanroep (die dezelfde bewoordingen gebruikt als de oude chown) het‐
zelfde systeem-aanroep-nummer, en heeft chown een nieuw ingebracht num‐
mer.
Het prototype voor fchown is alleen voorhanden als _BSD_SOURCE bepaald
is.
De chown aanroep voldoet aan SVr4, SVID, POSIX, X/OPEN. The 4.4BSD
versie kan alleen door de supergebruiker worden gebruikt (dat betekend,
dat normale gebruikers bestanden niet pad kunnen geven). SVr4 beschri‐
jft EINVAL, EINTR, ENOLINK en EMULTIHOP teruggaves, maar geen ENOMEM.
POSIX.1 beschrijft de ENOMEM en ELOOP fout condities niet.
De fchown aanroep schikt zich naar 4.4BSD en SVr4. SVr4 beschrijft
extra EINVAL, EIO, EINTR, en ENOLINK fouttoestanden.
BEPERKINGEN
De chown() bewoordingen zijn met opzet geschonden op NFS bestand syste‐
men die UID testen {eng: mapping} aan hebben staan. De bewoordingen van
alle systeem-aanroepen die toegang tot een bestand inhoud hebben worden
geschonden, omdat chown() een onmiddellijke toegangs-beperking op al
open bestanden kan hebben. Cliënt zijde bufferen kan leiden tot een
vertraging tussen het moment waarop het eigendom veranderd werd om toe‐
gang van een gebruiker toe te laten, en de tijd waarop het bestand
eigenlijk geopend kan worden door een gebruiker van een andere cliënt.
ZIE
chmod(2) {verander toestand}, flock(2) {grendel}
VERTALING
Dit is een handleiding uit manpages-dev 1.29. Alles wat tussen
‘{’..‘}’ staat is aanvullende vertaling, en hoort niet bij de originele
handleiding. Email naar <manpages-nl@nl.linux.org>.
$Id: lchown.2,v 1.1.1.1 2004/03/21 21:02:25 cor Exp $