Impostare un valore umask personalizzato in macOS

Per ogni file e cartella sul Mac esiste una serie di permessi. Quando crei un nuovo file o una nuova cartella, il valore umask determina tali permessi.

Questi passaggi avanzati sono destinati principalmente agli amministratori di sistema e a chi ha familiarità con la riga di comando. Presta attenzione quando modifichi i permessi dei file e i valori umask. In caso di errore, puoi abbassare il livello di sicurezza di file, cartelle o app sul Mac oppure impedire il funzionamento delle app.

Informazioni sui permessi e sui valori umask

Permessi. Per ogni file, cartella e app archiviati sul Mac esistono delle impostazioni relative ai permessi che determinano quali account utente possono accedere a file, cartelle o app in lettura o in scrittura oppure eseguire i file, le cartelle o le 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 umask.

Umask. Un numero di tre cifre può rappresentare il permesso POSIX per un file. Potresti vedere i permessi rappresentati in questo modo quando li visualizzi da Terminale. Ogni cifra è compresa tra 0 e 7. Quando crei un file, il valore umask viene sottratto da un valore di default (di solito 666 per i file e 777 per le cartelle) per determinare i permessi per il nuovo file o la nuova cartella. Ad esempio, un valore umask di default di 022 imposta i permessi 644 sui nuovi file e 755 sulle nuove cartelle.

Puoi impostare il valore umask in più posizioni e ciascuna posizione influisce su app diverse. Se imposti un valore umask in modo errato, potresti perdere l'accesso ai file o concedere l'accesso ad altri utenti. Per ulteriori informazioni, consulta la sezione MODES della pagina del manuale di chmod(1).

Umask per le app dell'utente

Accedi come amministratore e inserisci il seguente comando in Terminale, sostituendo nnn con il valore umask, ad esempio 027 o 002. Questo comando imposta il valore umask dell'utente per ogni app che quest'ultimo apre, tra cui le app a cui accede dalla riga di comando e i nuovi file creati da tali app. Dopo aver inserito questo comando, potresti dover riavviare il Mac.

sudo launchctl config user umask nnn

Se Terminale risponde con il messaggio “Could not write configuration: No such file or directory” (Impossibile scrivere la configurazione: il file o la directory è inesistente), verifica che il disco di avvio disponga di una cartella in /private/var/db/com.apple.xpc.launchd/config. Se la cartella config non esiste, riprova dopo aver inserito il seguente comando per crearla:

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

Umask per i processi di sistema

Accedi come amministratore e inserisci il seguente comando in Terminale, sostituendo nnn con il valore umask, ad esempio 027 o 002. Questo comando imposta il valore umask dell'utente per tutti i daemon che quest'ultimo esegue nel contesto del sistema. Questa operazione è fortemente sconsigliata in quanto può modificare i permessi per i file usati dal sistema. I permessi troppo restrittivi possono impedire il funzionamento del software e i permessi troppo poco restrittivi possono causare problemi di sicurezza. Dopo aver inserito questo comando, potresti dover riavviare il Mac.

sudo launchctl config system umask nnn

Se Terminale risponde con il messaggio “Could not write configuration: No such file or directory” (Impossibile scrivere la configurazione: il file o la directory è inesistente), verifica che il disco di avvio disponga di una cartella in /private/var/db/com.apple.xpc.launchd/config. Se la cartella config non esiste, riprova dopo aver inserito il seguente comando per crearla:

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

Ulteriori informazioni

Per ulteriori informazioni su come impostare un valore umask, inserisci man launchctl in Terminale.

Data di pubblicazione: