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 toestand bits gewist. POSIX bepaald niet of dit ook moet gebeuren als "root" de chown doet; het gedrag van Linux hangt af van de besturingssysteem versie. In het geval een niet-groep-uitvoerbaar bestand (met een gewiste S_IXGRP bit) bepaald het S_ISGID verplicht vergrendelen, dit wordt niet gewist door een chown.
TERUGGEEF WAARDE
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) hetzelfde systeem-aanroep-nummer, en heeft chown een nieuw ingebracht nummer.
Het prototype voor fchown is alleen voorhanden als _BSD_SOURCE bepaald is.
VOLDOET AAN
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 beschrijft 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 systemen 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 toegang 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 [AT] nl.org>.
$Id: lchown.2,v 1.1.1.1 2004/03/21 21:02:25 cor Exp $