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

NAAM

       mknod, mknodat - maak een map, een speciaal- of een normaal bestand

SAMENVATTING

       #include <sys/stat.h>

       int mknod(const char *padnaam, mode_t toestand, dev_t app);

       #include <fcntl.h>           /* Definitie van AT_* constanten */
       #include <sys/stat.h>

       int mknodat(int map_bi, const char *padnaam, mode_t toestand, dev_t app);

   Feature Test Macro´s eisen in  glibc (zie feature_test_macros(7)):

       mknod():
       _XOPEN_SOURCE >= 500
           || /* Sinds glibc 2.19: */ _DEFAULT_SOURCE
           || /* Glibc versies <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

BESCHRIJVING

       mknod()  probeert  een bestandsysteem node te maken (bestand, apparaat speciaal bestand of
       een benoemde pijp) met de naam padnaam, bepaald door toestand en app.

       toestand bepaald de bestandsmodus die zal worden gebruikt, en het soort node  dat  gemaakt
       zal  worden.  Dat  hoort  een  combinatie  (met bit wijze OF) ) van een hieronder genoemde
       bestand soorten en nul of meer van de bestandsmodi zoals te lezen in inode(7).

       De toestemmingen worden aangepast door het umask van het proces op de bekende  manier:  de
       toestemmingen van de gemaakte node worden (toestemmingen & ~umask).

       De  bestand  soort zou een van S_IFREG, S_IFCHR, S_IFBLK, S_IFIFO of S_IFSOCK moeten zijn,
       om: een normaal bestand te specificeren (dat leeg aangemaakt  zal  worden),  een  speciaal
       teken  bestand,  een  speciaal  blok-bestand,  of een FIFO (pijp met naam), of UNIX domein
       socket, respectievelijk. (Het nul bestand type is equivalent aan S_IFREG.)

        Als het bestand soort S_IFCHR of S_IFBLK is, dan  bepaald  app  de  grote  en  de  kleine
       nummers van het nieuw gemaakte apparaat speciale bestand; anders wordt het genegeerd.

       Als  padnaam  al  bestaat, of als het een symbolische koppeling is, dan faalt deze aanroep
       met de EEXIST foutmelding.

       De nieuw gemaakte node zal eigendom zijn van het effectieve gebruiker ID van  het  proces.
       Als  de  map  waar  de  node  in  zit  het  set-group-id  bit  aan  heeft staan of als het
       bestandssysteem gekoppeld is met BSD groep regels,  dan  zal  de  nieuwe  node  het  groep
       eigendom  van zijn ouder-mappen erven; anders zal het eigendom zijn van het geldende groep
       ID van het proces.

   mknodat()
       De mknodat() systeem aanroep werkt op exact dezelfde manier als mknod(), behalve  voor  de
       hier beschreven verschillen.

       Als de padnaam gegeven in padnaam relatief is, dan wordt deze geïnterpreteerd als relatief
       aan de map zoals gerefereerd door de bestand beschrijving dirfd (liever dan  relatief  aan
       de  huidige  werkmap  van  het aanroepende proces, zoals gedaan wordt door mknod() bij een
       relatieve padnaam).

       Als padnaam relatief is en dirfd  is  de  speciale  waarde  AT_FDCWD,  dan  wordt  padnaam
       geïnterpreteerd  als  relatief  aan  de  huidige werkmap van het aanroepende proces (zoals
       mkdnod()).

       Als padnaam absoluut is, dan wordt mapbi genegeerd.

       Zie openat(2) voor een uitleg over de noodzaak van mknodat().

EIND WAARDE

       mknod() en mknodat() geven nul terug bij slagen, of -1 als een fout optrad (in welk  geval
       errno overeenkomstig wordt gezet).

FOUTEN

       EACCES De  ouder map staat schrijven naar het proces niet toe, of een van de mappen in het
              voorvoegsel van padnaam stond zoeken niet toe. (Zie ook path_resolution(7).)

       EBADF  (mknodat()) pathname is relatief maar mapbi  is  noch  AT_FDCWD  noch  een  geldige
              bestandsindicator.

       EDQUOT De  gebruiker  quota  aan  schijf  blokken  of  inodes  van  het bestandssysteem is
              uitgeput.

       EEXIST padnaam bestaat al. Inclusief het geval waar padnaam een symbolische koppeling  is,
              al dan niet bungelend.

       EFAULT padnaam wijst buiten de voor u toegankelijke adresruimte.

       EINVAL toestand  vroeg  om  het  maken  van  iets anders dan een normaal bestand, apparaat
              speciaal bestand, of FIFO.

       ELOOP  Teveel symbolische koppelingen werden tegengekomen bij het vaststellen van padnaam.

       ENAMETOOLONG
              padnaam was te lang.

       ENOENT Een map deel van padnaam bestaat niet of is een loshangende symbolische koppeling.

       ENOMEM Onvoldoende kernelgeheugen voorhanden.

       ENOSPC Het apparaat dat padnaam bevat heeft geen ruimte voor een nieuwe node.

       ENOTDIR
              Een onderdeel gebruikt als map in padnaam is in feite geen map.

       ENOTDIR
              (mknodat()) padnaam is relatief en mapbi is  een  bestandsindicator  die  naar  een
              bestand wijst dat geen map is.

       EPERM  toestand  vroeg om het aanmaken van iets anders dan een normaal bestand, FIFO (pijp
              met naam), of een UNIX domein socket,  en  de  aanroeper  is  niet  de  gerechtigd;
              (Linux:  heeft  niet  de  CAP_MKNOD  capaciteit);   wordt  ook teruggegeven als het
              bestandssysteem waar padnaam op zit, het gevraagde type node niet ondersteund.

       EROFS  padnaam verwijst naar een bestand op een alleen-lezen bestandsysteem.

VERSIES

       mknodat() werd toegevoegd aan Linux  in  kernel  2.6.16;  bibliotheek  ondersteuning  werd
       toegevoegd aan glibc in versie 2.4.

VOLDOET AAN

       mknod(): SVr4, 4.4BSD, POSIX.1-2001 (but see below), POSIX.1-2008.

       mknodat(): POSIX.1-2008.

OPMERKINGEN

       POSIX.1-2001  schrijft:  "Het  enige  overdraagbare  gebruikt  van  mknod()   is  door een
       FIFO-speciaal bestand aan te maken.  Als mode niet gelijk is aan S_IFIFO of dev is niet 0,
       dan  is  het  gedrag  van mknod()  niet gespecificeerd". Echter zou men tegenwoordig nooit
       mknod()  voor dit doel moeten gebruiken; men zou mkfifo(3) moeten gebruiken,  een  aanroep
       die speciaal voor dit doel bedoeld is.

       Onder  Linux,  kan  mknod()  niet  gebruikt  worden om mappen aan te maken. Men zou mappen
       moeten aanmaken met mkdir(2).

       Er bestaan veel ongelukkigheden in het NFS protocol. Enkele van deze beïnvloeden  mkdnod()
       en mknodat().

ZIE OOK

       mknod(1),  chmod(2), chown(2), fcntl(2), mkdir(2), mount(2), socket(2), stat(2), umask(2),
       unlink(2), makedev(3), mkfifo(3), acl(5), path_resolution(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⟩.