plucky (2) umask.2.gz

Provided by: manpages-it-dev_4.25.1-1_all bug

NOME

       umask - imposta la maschera di creazione del modo di un file

LIBRERIA

       Libreria C standard (libc, -lc)

SINTASSI

       #include <sys/stat.h>

       mode_t umask(mode_t mask);

DESCRIZIONE

       umask()  imposta  la  maschera di creazione dei permessi dei file del processo chiamante (umask) a mask &
       0777 (cioè vengono usati solo i bit dei permessi dei file di mask), e restituisce  il  valore  precedente
       della maschera.

       La  umask  è  usata  da  open(2),  mkdir(2), e altre chiamate di sistema che creano file per modificare i
       permessi dati ai nuovi file o  directory.  Nello  specifico  i  permessi  nella  umask  sono  disattivati
       dall'argomento mode in open(2) e mkdir(2).

       In alternativa, se la directory genitrice ha un ACL predefnito (vedi acl(5)), la umask viene ignorata, la
       ACL predefinita viene ereditata, i bit dei permessi vengono impostati sulla base della ACL ereditata, e i
       bit  dei  permessi  assenti  nell'argomento  mode  vengono  disattivati.  Per  esempio,  la  seguente ACL
       predefinita è equivalente a una umask di 022:

           u::rwx,g::r-x,o::r-x

       Combinando gli effetti di questa ACL predefinita con un argomento mode di 0666  (rw-rw-rw-),  i  permessi
       sul file risultanti dovrebbero essere 0644 (rw-r--r--).

       Le costanti che possono essere utilizzate per specificare la mask sono descritte in inode(7).

       Il  tipico  valore predefinito per il processo umask è S_IWGRP | S_IWOTH (ottale 022). Nel caso comune in
       cui l'argomento mode di open(2) a specificato come:

           S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH

       (ottale 0666) quando si crea un nuovo file, i permessi sul file risultante saranno:

           S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH

       (perché 0666 & ~022 = 0644; i.e. rw-r--r--).

VALORE RESTITUITO

       Questa chiamata di sistema ha sempre successo, e restituisce il valore precedente della maschera.

CONFORME A

       POSIX.1-2008.

STORIA

       POSIX.1-2001, SVr4, 4.3BSD.

NOTE

       Un processo figlio creato attraverso fork(2) eredita la umask  del  genitore.  La  umask  viene  lasciata
       inalterata da execve(2).

       É  impossibile chiamare umask() per ottenere un "umask" del processo senza allo stesso tempo modificarlo.
       Una seconda chiamata a umask() sarebbe poi necessaria per ripristinare la "umask" originale. Il fatto che
       queste  due  fasi  non  siano  indipendenti  fra loro rende possibili situazioni di conflitto nel caso di
       programmi multithread.

       A partire da Linux 4.7, l'umask  può  essere  vista  tramite  il  campo  Umask  di  /proc/pid/status.  La
       visualizzazione  di  questo  campo  in  /proc/self/status  consente  a un processo di ottenere la propria
       "umask" senza allo stesso tempo modificarla.

       L'impostazione di umask influenza  anche  i  permessi  assegnati  agli  oggetti  IPC  POSIX  (mq_open(3),
       sem_open(3),  shm_open(3)),  FIFO (mkfifo(3)) e sui socket di dominio Unix (unix(7)) creati dai processi.
       L'umask non influenza i permessi  assegnati  agli  oggetti  IPC  System  V creati  dal  processo  (usando
       msgget(2), semget(2), shmget(2)).

VEDERE ANCHE

       chmod(2), mkdir(2), open(2), stat(2), acl(5)

TRADUZIONE

       La   traduzione   italiana   di   questa  pagina  di  manuale  è  stata  creata  da  Goffredo  Baroncelli
       <kreijack@usa.net>, Giulio Daprelà <giulio@pluto.it>, Marco Curreli <marcocurreli@tiscali.it> e  Giuseppe
       Sacco <eppesuig@debian.org>

       Questa   traduzione   è  documentazione  libera;  leggere  la  GNU  General  Public  License  Versione  3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  o  successiva  per  le  condizioni  di  copyright.   Non  ci
       assumiamo alcuna responsabilità.

       Per  segnalare  errori  nella  traduzione  di  questa  pagina  di  manuale inviare un messaggio a ⟨pluto-
       ildp@lists.pluto.it⟩.