Provided by: manpages-nl-dev_4.21.0-2_all 

NAAM
chmod, fchmod, fchmodat - verander toegangsrechten van een bestand
BIBLIOTHEEK
Standard C bibliotheek (libc, -lc)
SAMENVATTING
#include <sys/stat.h>
int chmod(const char *padnaam, mode_t toestand);
int fchmod(int bes_ind, mode_t toestand);
#include <fcntl.h> /* Definitie van AT_* constanten */
#include <sys/stat.h>
int fchmodat(int map_bi, const char *padnaam, mode_t toestand, int vlaggen);
Feature Test Macro´s eisen in glibc (zie feature_test_macros(7)):
fchmod():
Sinds glibc 2.24:
_POSIX_C_SOURCE >= 199309L
Glibc 2.19 t/m 2.23
_POSIX_C_SOURCE
Glibc 2.16 t/m 2.19:
_BSD_SOURCE || _POSIX_C_SOURCE
Glibc 2.12 t/m 2.16:
_BSD_SOURCE || _XOPEN_SOURCE >= 500
|| _POSIX_C_SOURCE >= 200809L
Glibc 2.11 een eerder:
_BSD_SOURCE || _XOPEN_SOURCE >= 500
fchmodat():
Vanaf glibc 2.10:
_POSIX_C_SOURCE >= 200809L
Voor glibc 2.10:
_ATFILE_SOURCE
BESCHRIJVING
De chmod() en fchmod() systeem aanroepen veranderen de bestandsmodus bits. (Een bestandsmodus bestaat
uit de bestandsrechten bits plus de set-user-ID, set-group-ID en de plak-bits.) Deze systeem aanroepen
verschillen alleen in de specificatie van het bestand:
• chmod() verandert de modus van het bestand waarvan de padnaam werd opgegeven in padnaam, ontdaan van
de referentie in het geval dit een symbolische koppeling is.
• fchmod() verandert de modus van het bestand verwezen naar de open bestandsindicator fd.
De nieuwe bestandsmodus is gespecificeerd in mode, welk een bit masker is aangemaakt door het OFen van
nul of meer van de volgende:
S_ISUID (04000) set-user-ID (zet het effectieve gebruiker ID op execve(2)).
S_ISGID (02000) set-group-ID (zet effectieve groep ID van het proces op execve(2); verplicht locking,
zoals beschreven in fcntl(2); gebruikt de nieuwe groep van het bestand uit de ouder
map, zoals beschreven in chown(2) en mkdir(2))
S_ISVTX (01000) plak bit (beperkte wis vlag, zoals beschreven in unlink(2))
S_IRUSR (00400) lezen door eigenaar
S_IWUSR (00200) schrijven door eigenaar
S_IXUSR (00100) voer-uit/zoek door eigenaar ("zoek" is toepasbaar op mappen, dit betekent dat ingangen
in een map toegankelijk zijn)
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 effectieve UID van het proces moet overeenkomen met de eigenaar van het bestand, of het proces moet
geprivilegieerd zijn (Linux: het moet de CAP_FOWNER capaciteit hebben).
Als het aanroepende proces niet gerechtigd is (Linux: heeft niet de CAP_FSETID capaciteit). en de groep
van het bestand komt niet overeen met de effectieve groep ID van het proces of een van de aanvullende
groep ID´s, dan zal het S_ISGID bit uitgezet worden, echter wordt geen fout teruggegeven.
Als veiligheid maatregel, afhankelijk van het bestandssysteem worden de set-user-ID en set-group-ID
uitvoering bits uitgezet als het bestand geschreven wordt. (Op Linux komt dit voor als het schrijvende
proces de CAP_FSETID capaciteit niet heeft.) Op sommige bestandssystemen kan alleen de systeembeheerder
het plak-bit zetten, dat een speciale betekenis kan hebben. Zie, oor het plak-bit, en voor de set-user-ID
en set-group-ID bits op mappen, inode(7).
Op NFS bestandsystemen zal het beperken van de toegangsrechten onmiddellijk de reeds geopende 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 toegangsrechten kan mogelijk pas later doordringen tot
andere cliënten als het bufferen van kenmerken op de cliënten aan staat.
fchmodat()
De fchmodat()() systeem aanroep werkt op exact dezelfde manier als chmod() behalve voor de hier
beschreven verschillen.
Als de padnaam in padnaam relatief is, dan wordt deze geïnterpreteerd relatief aan de map aangewezen door
de bestand indicator dirfd (liever dan relatief aan de huidige werkmap van het aanroepende proces, zoals
gedaan door chmod() voor een relatieve padnaam).
Als padnaam relatief is en dirfd heeft de speciale waarde AT_FDCWD, dan wordt padnaam geïnterpreteerd
relatief aan de huidige werkmap van het aanroepende proces (zoals chmod()).
Als padnaam absoluut is, dan wordt mapbi genegeerd.
vlaggen kan ofwel - zijn, of mag de volgende vlag bevatten:
AT_SYMLINK_NOFOLLOW
Als padnaam een symbolische koppeling is, verwijs er dan niet naar, maar behandel de koppeling
zelf. Deze vlag is momenteel niet geïmplementeerd.
Zie openat(2) voor een uitleg over de noodzaak van fchmodat().
EIND WAARDE
Bij succes wordt nul teruggegeven. Bij falen wordt -1 teruggegeven en wordt errno overeenkomstig gezet.
FOUTEN
Afhankelijk van het bestandsysteem kunnen andere fouten teruggegeven worden.
De meer algemene fouten van chmod() worden hieronder genoemd.
EACCES Het zoek toegangsrecht werd geweigerd op een deel van het pad-voorvoegsel. (Zie ook
path_resolution(7).)
EBADF (fchmod()) De bestandsindicator bes_ind is ongeldig.
EBADF (fchmodat()) pathname is relatief maar dirfd is noch AT_FDCWD noch een geldige bestandsindicator.
EFAULT padnaam wijst buiten de voor u toegankelijke adresruimte.
EINVAL (fchmodat()) Ongeldige vlag opgegeven in vlaggen.
EIO Een Invoer/Uitvoer fout trad op.
ELOOP Teveel symbolische koppelingen werden tegengekomen bij het vaststellen van padnaam.
ENAMETOOLONG
padnaam is te lang.
ENOENT Het bestand bestaat niet.
ENOMEM Onvoldoende kernelgeheugen voorhanden.
ENOTDIR
Een deel van het pad-voorvoegsel is geen map.
ENOTDIR
(fchmodat()) padnaam is relatief en mapbi is een bestandsindicator die naar een bestand wijst dat
geen map is.
ENOTSUP
(fchmodat()) vlaggen specificeerde AT_SYMLINK_NOFOLLOW, die niet ondersteund wordt.
EPERM Het effectieve UID komt niet overeen met de eigenaar van het bestand en het proces is niet
geprivilegieerd (Linux: het heeft niet de CAP_FOWNER capaciteit).
EPERM Het bestand is gemarkeerd als onveranderlijk of alleen-toevoegen. (Zie ioctl_iflags(2).)
EROFS Het benoemde bestand verblijft op een alleen-lezen bestandsysteem.
VERSIES
fchmodat() is toegevoegd aan Linux in kernel 2.6.16; bibliotheek ondersteuning werd toegevoegd in glibc
2.4.
VOLDOET AAN
chmod(), fchmod(): 4.4BSD, SVr4, POSIX.1-2001i, POSIX.1-2008.
fchmodat(): POSIX.1-2008.
OPMERKINGEN
C library/kernel verschillen
De GNU C bibliotheek fchmodat() omwikkel functie implementeert de door POSIX gespecificeerde interface
zoals beschreven op deze pagina. Dit interface verschilt van de onderliggende Linux systeem aanroep, die
het vlaggen argument niet heeft.
Glibc-opmerkingen
Op ouder kernels waar fchmod() niet beschikbaar is, valt de glibc omwikkel functie terug op het gebruik
van chmod(). Als padnaam een relatieve padnaam is, dan construeert glibc een padnaam gebaseerd op de
symbolische koppeling in /proc/self/fd die overeenkomt met het dirfd argument.´
ZIE OOK
chmod(1), chown(2), execve(2), open(2), stat(2), inode(7), path_resolution(7), symlink(7)
VERTALING
De Nederlandse vertaling van deze handleiding is geschreven door Jos Boersema <joshb@xs4all.nl>, Mario
Blättermann <mario.blaettermann@gmail.com> en Luc Castermans <luc.castermans@gmail.com>
Deze vertaling is vrije documentatie; lees de GNU General Public License Version 3 of later over de
Copyright-voorwaarden. Er is geen AANSPRAKELIJKHEID.
Indien U fouten in de vertaling van deze handleiding zou vinden, stuur een e-mail naar debian-l10n-
dutch@lists.debian.org.
Linux man-pagina's 6.03 5 februari 2023 chmod(2)