Man page - umask(2)

Packages contains this manual

Available languages:

en fr it pl nl ja ru ro de

Manual

umask

NOME
LIBRERIA
SINTASSI
DESCRIZIONE
VALORE RESTITUITO
CONFORME A
STORIA
NOTE
VEDERE ANCHE
TRADUZIONE

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