Impostare una umask in macOS

Per ogni file o folder sul Mac è presente una serie di permessi. Quando crei un nuovo file o una nuova cartella, la umask determina le impostazioni relative ai permessi.

Informazioni sui permessi e sulle umask

Queste istruzioni sono rivolte agli utenti aziendali. Modifica i permessi e le umask dei file con cautela. Se li imposti in modo errato, rischi di compromettere la sicurezza di file, cartelle o app sul Mac. Potresti inoltre impedire il funzionamento di alcune app.

Permessi

Per tutti i file, le cartelle e le app memorizzati sul disco di avvio del Mac o su un volume collegato sono presenti delle impostazioni relative ai permessi. I permessi determinano quali account utente possono accedere ai file in lettura, scrittura o eseguire il file, la cartella o l'app. Questi permessi includono i permessi POSIX e gli elenchi di controllo degli accessi (ACL). 

Per rendere più o meno restrittivi i permessi POSIX di un utente, puoi modificarne il valore nella umask.

Umask

Un numero di tre cifre può rappresentare il permesso POSIX per un file. Puoi vedere i permessi rappresentati in questo modo quando li visualizzi da Terminale. Ciascuna cifra è compresa tra zero e sette. Quando crei un file, il valore umask viene sottratto da un valore predefinito (di solito 666 per i file, 777 per le cartelle) per determinare i permessi sul nuovo file o sulla nuova cartella.

Ad esempio, una umask predefinita di 022 imposta i permessi 644 sui nuovi file e 755 sulle nuove cartelle. Questi permessi consentono ai gruppi e agli altri utenti di leggere i file e aprire le cartelle, ma solo il proprietario può apportare modifiche. 

Assicurati di aver compreso bene il funzionamento delle umask prima di procedere. Se imposti una umask in modo errato, potresti inavvertitamente perdere l'accesso ai file o concedere l'accesso ad altri utenti. Per ulteriori informazioni, consulta la sezione MODES della pagina del manuale chmod(1).

Puoi impostare la umask da diverse posizioni. Ciascuna posizione influisce su app diverse.

Umask per le applicazioni in macOS High Sierra, macOS Sierra, OS X El Capitan e OS X Yosemite

In OS X Yosemite 10.10.3 e versioni successive, accedi come amministratore ed esegui questo comando in Terminale:

sudo launchctl config user umask nnn

Sostituisci nnn con il valore di umask desiderato, ad esempio 027 o 002. Dopo aver eseguito questo comando, potresti dover riavviare il Mac.

Questo comando imposta la umask dell'utente per ogni app che apre, ad esempio Finder, TextEdit o Final Cut Pro e imposta la umask per ogni app a cui accede dalla riga di comando. Questo comando controlla inoltre i permessi impostati sui nuovi file creati con queste app.

Se visualizzi il messaggio "Impossibile scrivere la configurazione: File o directory inesistente", assicurati che sia presente la cartella /private/var/db/com.apple.xpc.launchd/config. Se questa cartella non esiste, usa il seguente comando per crearla:

sudo mkdir -m 755 /private/var/db/com.apple.xpc.launchd/config

Dopo aver creato la cartella, esegui di nuovo il comando sudo launchctl config user umask nnn. Per ulteriori informazioni su come impostare la umask in OS X Yosemite, esegui il comando man launchctl.

Umask per i processi di sistema in OS X Yosemite

In OS X Yosemite 10.10.3 e versioni successive, accedi come amministratore ed esegui questo comando in Terminale:

sudo launchctl config system umask nnn

Sostituisci nnn con il valore di umask desiderato, ad esempio 027 o 002. Dopo aver eseguito questo comando, potresti dover riavviare il Mac.

Questo comando imposta la umask dell'utente per tutti i daemon eseguiti dall'utente nel contesto del sistema. La modifica di questo valore è fortemente sconsigliata in quanto potrebbe modificare i permessi sui file usati dal software di sistema. Se imposti permessi troppo restrittivi, i software che ne dipendono potrebbero non funzionare. Se imposti permessi troppo poco restrittivi, potrebbero verificarsi problemi di sicurezza.

Se visualizzi il messaggio "Impossibile scrivere la configurazione: File o directory inesistente", assicurati che sia presente la cartella /private/var/db/com.apple.xpc.launchd/config. Se la cartella non esiste, usa il seguente comando per crearla:

sudo mkdir -m 755 /private/var/db/com.apple.xpc.launchd/config

Per ulteriori informazioni su come impostare la umask in OS X Yosemite, esegui il comando man launchctl.

Umask per le applicazioni utente in OS X Mavericks e versioni precedenti

In OS X Mavericks e versioni precedenti, crea un file /etc/launchd-user.conf contenente umask nnn. Sostituisci nnn con il valore di umask desiderato, ad esempio 027 o 002. Questo comando imposta la umask dell'utente per ogni app che apre, ad esempio Finder, TextEdit o Final Cut Pro e controlla i permessi impostati sui nuovi file creati con queste app.

Se stai usando OS X Lion, devi aggiornarlo a OS X Lion 10.7.4 o versioni successive. Dopo l'aggiornamento, la umask dell'utente viene applicata ai file e alle cartelle create nel Finder.

Umask per i processi di sistema in OS X Mavericks e versioni precedenti

Nelle versioni di OS X precedenti a Yosemite, crea un file /etc/launchd.conf contenente umask nnn. Sostituisci nnn con il valore di umask desiderato, ad esempio 027 o 002. Questo comando imposta la umask per tutti i processi. La modifica di questo valore è fortemente sconsigliata in quanto modifica i permessi sui file usati dal software di sistema. Se imposti permessi troppo restrittivi, i software che ne dipendono potrebbero non funzionare. Se imposti permessi troppo poco restrittivi, potrebbero verificarsi problemi di sicurezza.

Umask per uno specifico LaunchAgent o LaunchDaemon

In Mac OS X 10.4 e versioni successive, gli amministratori avanzati possono impostare una umask separata per un LaunchAgent o LaunchDaemon specifico aggiungendo un valore umask al file launchd plist. Questa impostazione sostituisce l'impostazione della umask presente in /etc/launchd.conf o in /etc/launchd-user.conf solo per quel processo. Per ulteriori informazioni su questa opzione, esegui il comando man launchd.plist.

Data di pubblicazione: