Manpages

NAAM

chmod, fchmod − verander toestemmingen van een bestand

SYNOPSIS

#include <sys/types.h>
#include <sys/stat.h>

int chmod(const char *pad, mode_t toestand);
int fchmod(int
bes_ind, mode_t toestand);

BESCHRIJVING

De toestand van het bestand gegeven met weg of verwezen naar met bes_ind is veranderd.

Toestanden worden bepaald door het of-en (incl.) van het volgende

S_ISUID

04000 zet gebruiker ID voor uitvoering.

S_ISGID

02000 zet groep ID voor uitvoering.

S_ISVTX

01000 sticky bit

S_IRUSR (S_IREAD)

00400 lezen door eigenaar

S_IWUSR (S_IWRITE)

00200 schrijven door eigenaar

S_IXUSR (S_IEXEC)

00100 voer-uit/zoek door eigenaar

S_IRGRP

00040 lees door groep

S_IWGRP

00020 schrijf door groep

S_IXGRP

00010 voer-uit/zoek door groep

S_IROTH

00004 lezen door anderen

S_IWOTH

00002 schrijven door anderen

S_IXOTH

00001 uitvoeren/zoeken door anderen

Het geldende UID van het proces moet nul zijn, of moet overeenkomen met de eigenaar van het bestand.

Als het geldende UID van het proces niet nul is, en de groep van het bestand komt niet overeen met het geldende groep ID van het proces of een van zijn aanvullende groep ID’s, dan zal het S_ISGID bit uitgezet worden, maar dat zal geen teruggave van een fout tot gevolg hebben.

Afhankelijk van het bestandsysteem worden de zet-gebruiker-ID en zet-groep-ID uitvoerings bits uitgezet als het bestand geschreven wordt. Op sommige bestandsystemen kan alleen de supergebruiker het sticky bit zetten, die een speciale betekenis kan hebben (voor directories kan een bestand alleen geschrapt worden door de eigenaar en de supergebruiker).

Op NFS bestandsystemen zal het beperken van de toestemmingen onmiddellijk de al open bestanden beïnvloeden, omdat toegangs-controle wordt gedaan door de server, maar de geopende bestanden worden onderhouden door de cliënt. Het verruimen van de toestemmingen kan later doordringen tot andere cliënten als het kenmerken bufferen bij hen aan status.

TERUGGEEF WAARDE

Bij success wordt nul teruggegeven, bij falen wordt −1 teruggegeven, en errno wordt naar behoren gezet.

FOUTEN

Afhankelijk van het bestandsysteem kunnen andere fouten teruggegeven worden. De meer algemene fouten van chmod worden hieronder genoemd.

EPERM

{toestemming} Het geldende UID komt niet overeen met de eigenaar van het bestand en is ongelijk nul.

EROFS

{alleen-lezen b.s.} Het benoemde bestand verblijft op 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} Het bestand bestaat niet.

ENOMEM

{geen geheugen} Onvoldoende besturingssysteem geheugen was voorhanden.

ENOTDIR

{geen dir} Een deel van het pad-voorvoegsel is geen directorie.

EACCES

{toegang} Zoek toestemming werd geweigerd op een deel van het pad-voorvoegsel

ELOOP

{cirkel} Teveel symbolische koppelingen werden tegengekomen bij het "oplossen" van pad.

EIO

{in/uit} Een In/Uit fout trad op.

De algemene fouten voor fchmod worden hieronder genoemd

EBADF

{slechte bes_ind} De bestandindicator bes_ind is ongeldig.

EROFS

{alleen-lezen b.s.} Zie boven.

EPERM

{toestemming} Zie boven.

EIO

{in/uit} Zie boven.

VOLDOET AAN

De chmod aanroep schikt zich naar SVr4, SVID, POSIX, X/OPEN, 4.4BSD. SVr4 beschrijft de EINTR, ENOLINK en EMULTIHOP terugkeer waardes, maar geen ENOMEM. POSIX.1 beschrijft de EFAULT, ENOMEM, ELOOP en EIO fouttoestanden niet, noch de macro’s S_IREAD, S_IWRITE en S_IEXEC.

De fchmod aanroep schikt zich naar 4.4BSD en SVr4. SVr4 beschrijft extra EINTR en ENOLINK fouttoestanden. POSIX eist een fchmod functie, als op z’n minst een van _POSIX_DIRECTORIEPED_FILES of _POSIX_SHARED_MEMORY_OBJECTS bepaald is, en beschrijft extra ENOSYS en EINVAL fouttoestanden, maar beschrijft EIO niet.

POSIX en X/OPEN beschrijven het sticky bit niet.

ZIE

open(2) {openen}, chown(2) {verander eigenaar}, execve(2) {voer-uit}, stat(2) {staat}

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: chmod.2,v 1.1.1.1 2004/03/21 21:02:25 cor Exp $