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 $