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
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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 ⟨⟩.