.\" -*- coding: UTF-8 -*- .\" Copyright (c) 2006, 2008, Michael Kerrisk .\" (A few fragments remain from an earlier (1992) version written in .\" 1992 by Drew Eckhardt .) .\" .\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END .\" .\" Modified by Michael Haardt .\" Modified Sat Jul 24 12:51:53 1993 by Rik Faith .\" Modified Tue Oct 22 22:39:04 1996 by Eric S. Raymond .\" Modified Thu May 1 06:05:54 UTC 1997 by Nicolás Lichtmaier .\" with Lars Wirzenius suggestion .\" 2006-05-13, mtk, substantial rewrite of description of 'mask' .\" 2008-01-09, mtk, a few rewrites and additions. .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH UMASK 2 "13 agosto 2020" Linux "Manuale del programmatore di Linux" .SH NOME umask \- imposta la maschera di creazione del modo di un file .SH SINTASSI \fB#include \fP .br \fB#include \fP .PP \fBmode_t umask(mode_t \fP\fImask\fP\fB);\fP .SH DESCRIZIONE \fBumask\fP() imposta la maschera di creazione dei permessi dei file del processo chiamante (umask) a \fImask\fP & 0777 (cioè vengono usati solo i bit dei permessi dei file di \fImask\fP), e restituisce il valore precedente della maschera. .PP .\" e.g., mkfifo(), creat(), mknod(), sem_open(), mq_open(), shm_open() .\" but NOT the System V IPC *get() calls La umask è usata da \fBopen\fP(2), \fBmkdir\fP(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 \fImode\fP in \fBopen\fP(2) e \fBmkdir\fP(2). .PP In alternativa, se la directory genitrice ha un ACL predefnito (vedi \fBacl\fP(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 \fImode\fP vengono disattivati. Per esempio, la seguente ACL predefinita è equivalente a una umask di 022: .PP u::rwx,g::r\-x,o::r\-x .PP Combinando gli effetti di questa ACL predefinita con un argomento \fImode\fP di 0666 (rw\-rw\-rw\-), i permessi sul file risultanti dovrebbero essere 0644 (rw\-r\-\-r\-\-). .PP Le costanti che possono essere utilizzate per specificare la \fImask\fP sono descritte in \fBinode\fP(7). .PP Il tipico valore predefinito per il processo umask è \fIS_IWGRP\ |\ S_IWOTH\fP (ottale 022). Nel caso comune in cui l'argomento \fImode\fP di \fBopen\fP(2) a specificato come: .PP .in +4n .EX S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH .EE .in .PP (ottale 0666) quando si crea un nuovo file, i permessi sul file risultante saranno: .PP .in +4n .EX S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH .EE .in .PP (perché 0666 & \(ti022 = 0644; i.e., rw\-r\-\-r\-\-). .SH "VALORE RESTITUITO" Questa chiamata di sistema ha sempre successo, e restituisce il valore precedente della maschera. .SH "CONFORME A" POSIX.1\-2001, POSIX.1\-2008, SVr4, 4.3BSD. .SH NOTE Un processo figlio creato attraverso \fBfork\fP(2) eredita la umask del genitore. La umask viene lasciata inalterata da \fBexecve\fP(2). .PP É impossibile chiamare \fBumask\fP() per ottenere un "umask" del processo senza allo stesso tempo modificarlo. Una seconda chiamata a \fBumask\fP() 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. .PP A partire da Linux 4.7, l'umask può essere vista tramite il campo \fIUmask\fP di \fI/proc/[pid]/status\fP. La visualizzazione di questo campo in \fI/proc/self/status\fP consente a un processo di ottenere la propria "umask" senza allo stesso tempo modificarla. .PP L'impostazione di umask influenza anche i permessi assegnati agli oggetti IPC POSIX (\fBmq_open\fP(3), \fBsem_open\fP(3), \fBshm_open\fP(3)), FIFO (\fBmkfifo\fP(3)) e sui socket di dominio Unix (\fBunix\fP(7)) creati dai processi. L'umask non influenza i permessi assegnati agli oggetti IPC System V\ creati dal processo (usando \fBmsgget\fP(2), \fBsemget\fP(2), \fBshmget\fP(2)). .SH "VEDERE ANCHE" \fBchmod\fP(2), \fBmkdir\fP(2), \fBopen\fP(2), \fBstat\fP(2), \fBacl\fP(5) .SH COLOPHON Questa pagina fa parte del rilascio 5.10 del progetto Linux \fIman\-pages\fP. Una descrizione del progetto, le istruzioni per la segnalazione degli errori, e l'ultima versione di questa pagina si trovano su \%https://www.kernel.org/doc/man\-pages/. .SH TRADUZIONE La traduzione italiana di questa pagina di manuale è stata creata da Goffredo Baroncelli , Giulio Daprelà e Marco Curreli . Questa traduzione è documentazione libera; leggere la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Versione 3 .UE 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 .MT pluto-ildp@lists.pluto.it .ME .