UMASK nei sistemi Linux e Unix è in realtà noto come User Mask o è anche chiamato User File Creation MASK. Questo è un tipo di autorizzazione di base o autorizzazione predefinita concessa quando viene creato un nuovo file o cartella nella casella di Linux.
La maggior parte della distribuzione di Linux fornisce 022
come UMASK predefinito. Possiamo dire che sono le autorizzazioni predefinite per il file e le cartelle dal sistema. Quando creiamo qualsiasi file o directory in Linux, sono governati dall'impostazione umask.
Nel caso in cui un amministratore di sistema non imposti la umask predefinita sarà 0000
. Ciò significa che i nuovi file creati avranno i permessi di lettura e scrittura per ogni utente e le nuove directory avranno i permessi di lettura, scrittura ed esecuzione.
Come possiamo calcolare UMASK in Linux?
Una cosa è che il valore di umask è generalmente lo stesso per file e cartelle, ma il calcolo di questi valori in base alle autorizzazioni su file e directory è diverso.
Valore UMASK minimo per la directory:000
e Massimo:777
Valore UMASK minimo per il file:000
e Massimo:666
Ecco il motivo per mantenere il valore massimo 666
per i file è perché i file di script e i file binari in Linux dovrebbero avere solo i permessi di esecuzione. I file normali in Linux dovrebbero avere solo i permessi di lettura e scrittura. Normalmente, umask viene calcolato tramite l'operatore AND bit per bit. Alcune delle notazioni ottali comuni sono:
0 -- Read, Write and Execute
1 – Read and Write
2 – Read and Execute
3 – Read Only
4 –Write and Execute
5 –Write Only
6 –Execute Only
7 –No Permissions
Ora possiamo facilmente utilizzare la tabella sopra menzionata per calcolare i permessi per i file. Ad esempio, se una umask è impostata su 077 significa che l'autorizzazione viene generalmente calcolata come segue:
0 – Owner – Read, Write and Execute
7 – Group – No Permissions
7 – Others – No Permissions
Per impostare la umask sopra, dovresti digitare il comando
$ umask 077
$ mkdir folder1
$ touch testfile
$ ls –ld folder1 testfile
Output:
drwx------ 2 demo demo 4096 2013-07-04 01:34 folder1
-rw------- 2 demo demo 0 2013-07-04 01:34 testfile
Visualizza il valore umask corrente
Se esegui il comando umask senza alcun argomento, verrà visualizzato il valore della maschera corrente.
$ umask
0022
Come possiamo impostare umask con valori simbolici?
Di seguito sono indicati i valori simbolici che possiamo utilizzare:
r
:leggi, w
:scrivi, x
:esegui, u
:proprietà dell'utente, g
:proprietà del gruppo e o
:altra proprietà
Ad esempio:
$ umask u=rwx, g=, o=
$ mkdir folder1
$ touch testfile
$ ls –ld folder1 testfile
Quali sono i limiti di umask?
1. Il comando umask può essere utilizzato per limitare i permessi.
2. Non possiamo concedere autorizzazioni aggiuntive oltre a quanto normalmente specificato da qualsiasi programma utilizzato per creare file e cartelle. Se vuoi apportare modifiche, dovresti invece usare il comando chmod.
3. Molti sistemi operativi non dispongono di un file che dovrebbe essere creato con l'autorizzazione di esecuzione. In tali ambienti, i nuovi file avranno sempre le autorizzazioni di esecuzione disabilitate.
4. La maschera viene applicata solo a quelle funzioni che creano un nuovo file.
Conclusione
In questo tutorial abbiamo imparato cos'è umask in Linux e comando per impostare un nuovo valore umask. Spero ti sia piaciuto leggere e per ulteriori informazioni fare riferimento alle pagine man di umask.