Provided by: manpages-nl-dev_4.13-4_all bug

NAAM

       chmod, fchmod, fchmodat - verander toestemmingen van een bestand

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);

   Test Macro´s 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 en ouder:
               _BSD_SOURCE || _XOPEN_SOURCE >= 500

       fchmodat():
           Vanaf glibc 2.10:
               _POSIX_C_SOURCE >= 200809L
           Vóór 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 Linuxkomt 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  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.

   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 Zoek toestemming werd geweigerd op een deel van het pad-voorvoegsel. (Zie ook path_resolution(7).)

       EFAULT padnaam wijst buiten de voor u toegankelijke adresruimte.

       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.

       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.

       De algemene fouten voor fchmod() staan hieronder:

       EBADF  De bestandindicator bes_ind is ongeldig.

       EIO    Zie boven.

       EPERM  Zie boven.

       EROFS  Zie boven.

       Dezelfde fouten die optreden voor chmod() kunnen ook optreden voor fchmodat().  De  volgende  additionele
       fouten kunnen optreden voor fchmodat():

       EBADF  mapbi is geen geldige bestandsindicator.

       EINVAL Ongeldige vlag opgegeven in vlaggen.

       ENOTDIR
              padnaam is relatief en mapbi is een bestandsindicator die naar een bestand wijst die geen map is.

       ENOTSUP
              vlaggen specificeerden AT_SYMLINK_NOFOLLOW, die niet ondersteund is.

VERSIES

       fchmodat()  is toegevoegd aan Linux in kernel 2.6.16; bibliotheek ondersteuning werd toegevoegd aan glibc
       in versie 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)

COLOFON

       Deze pagina is onderdeel van release 5.10 van het  Linux  man-pages-project.  Een  beschrijving  van  het
       project,  informatie  over  het  melden  van  bugs  en  de  nieuwste  versie  van  deze  pagina  zijn  op
       https://www.kernel.org/doc/man-pages/ te vinden.

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                                           15 september 2017                                       CHMOD(2)