Provided by: manpages-nl-dev_4.15.0-9_all bug

NAAM

       chmod, fchmod, fchmodat - verander toegangsrechten 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);

   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 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.13  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⟩.