GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Cos'è Umask e come usarlo

Introduzione

Quando si crea un nuovo file o directory, Linux applica il set di autorizzazioni predefinito. Il umask comando ti consente di modificare queste autorizzazioni predefinite.

In questo tutorial imparerai cos'è umask, come funziona e come utilizzarlo per impostare i permessi di file e directory per singoli utenti o gruppi.

Prerequisiti

  • Sistema basato su Linux (ad es. Ubuntu, CentOS, Debian)
  • Un account utente con privilegi sudo
  • Accesso al terminale di comando

Panoramica di Umask

Il termine umask si riferisce a due cose:

1. Il umask di Linux comando. umask (modalità di creazione file utente) è un comando Linux che ti consente di impostare autorizzazioni predefinite per file e cartelle appena creati.

2. Una "maschera" di autorizzazioni definita dall'utente. Un utente può scegliere come limitare le autorizzazioni utilizzando una maschera autorizzazioni . Una maschera di autorizzazione interagisce con le autorizzazioni di sistema predefinite e le modifica. Il umask comando viene utilizzato per applicare questa maschera.

Come funziona Umask?

Il umask Il comando funziona influendo sui permessi di file e cartelle di Linux predefiniti.

Esistono tre categorie di autorizzazioni per ogni file e cartella in Linux:

  • Utente: Definisce le autorizzazioni per ogni singolo utente. Per impostazione predefinita, l'utente che crea un file o una cartella è impostato come proprietario.
  • Gruppo: Definisce le autorizzazioni per un gruppo di utenti che condividono lo stesso livello di accesso.
  • Altro: Definisce le autorizzazioni per chiunque non sia incluso nelle due categorie precedenti.

Utilizzare il comando seguente per rivedere le autorizzazioni per la cartella Inizio:

ls -l

Ogni riga dell'output inizia con una stringa di 10 caratteri che dettaglia le autorizzazioni. Scomponendo la voce evidenziata, questa stringa è composta dai seguenti elementi:

  • d :indica il tipo di file (directory).
  • rwx :indica i permessi dell'utente (lettura, scrittura ed esecuzione).
  • r-x :indica i permessi del gruppo (lettura ed esecuzione).
  • r-x :Indica altri permessi (lettura ed esecuzione).

La sintassi del comando umask

Usando il umask comando senza ulteriori opzioni di comando restituisce la maschera corrente come output:

Il umask comando utilizza la seguente sintassi:

umask [-p] [-S] [mask]

Dove:

  • [mask] :la nuova maschera di autorizzazione che stai applicando. Per impostazione predefinita, la maschera viene presentata come un valore numerico (ottale).
  • [-S] :Visualizza la maschera corrente come valore simbolico.
  • [-p] :Visualizza la maschera corrente insieme a umask comando, consentendo di copiarlo e incollarlo come input futuro.

Valori umask simbolici e numerici

Come accennato nell'esempio sopra, umask può essere visualizzato come valore numerico (ottale) o simbolico.

Una maschera può avere i seguenti valori numerici e simbolici corrispondenti:

0 --- Nessun permesso
1 --x Esegui
2 -w- Scrivi
3 -wx Scrivi ed esegui
4 r-- Leggi
5 r-x Leggi ed esegui
6 rw- Leggi e scrivi
7 rwx Leggi, scrivi ed esegui

Come calcolare i valori di Umask

Linux utilizza la maschera predefinita e i valori di autorizzazione seguenti:

  • I valori di autorizzazione predefiniti del sistema sono 777 (rwxrwxrwx ) per le cartelle e 666 (rw-rw-rw- ) per i file.
  • La maschera predefinita per un utente non root è 002, modificando i permessi della cartella in 775 (rwxrwxr-x ) e permessi di file su 664 (rw-rw-r-- ).
  • La maschera predefinita per un utente root us 022, modificando i permessi della cartella in 755 (rwxr-xr-x ) e permessi di file su 644 (rw-r--r-- ).

Questo ci mostra che il valore dell'autorizzazione finale è il risultato della sottrazione di umask valore dal valore di autorizzazione predefinito (777 o 666).

Ad esempio, se desideri modificare il valore di autorizzazione della cartella da 777 (leggi, scrivi ed esegui per tutti) a 444 (leggi per tutti), devi applicare una umask valore di 333, poiché:

777 - 444 = 333

Come impostare e aggiornare il valore Umask predefinito

Utilizza la seguente sintassi per applicare un nuovo umask valore:

umask [mask]

Dove:

  • [mask] :la maschera che vuoi applicare, come valore simbolico o numerico.

Impostazione di un valore Umask simbolico

Imposta una nuova umask value utilizzando valori simbolici con la seguente sintassi:

umask u=#,g=#,o=#

Dove:

  • u :indica i permessi dell'utente.
  • g :indica le autorizzazioni del gruppo.
  • o :indica altre autorizzazioni.
  • # :il valore dell'autorizzazione simbolica che desideri applicare, come dettagliato nella tabella sopra.

Nota: Non utilizzare mai lo spazio dopo i virgole quando si imposta un valore di maschera simbolica.

Ci sono anche altri operatori che puoi usare:

  • = : Crea autorizzazioni file specificate e vieta autorizzazioni non specificate.
  • + : Crea autorizzazioni specificate, ma non modifica autorizzazioni non specificate.
  • - :Proibisce le autorizzazioni specificate, ma non modifica le autorizzazioni non specificate.

Impostazione di un valore Umask numerico

Dopo aver calcolato la umask richiesta valore numerico, impostarlo utilizzando:

umask [mask]

Dove:

  • [mask] :il valore numerico della maschera che vuoi applicare.

Differenza tra umask e chmod

Il comando chmod in Linux funziona in modo simile a umask comando. Viene anche usato per definire i permessi per file e cartelle.

La differenza tra umask e chmod è quello umask cambia le autorizzazioni predefinite e quindi le autorizzazioni per tutti i file e le cartelle appena creati, mentre chmod imposta le autorizzazioni per file e cartelle già esistenti.


Ubuntu
  1. Che cos'è un comando Chown in Linux e come usarlo

  2. Che cos'è un comando cURL e come utilizzarlo?

  3. Cos'è Umask in Linux

  4. Chroot "prigione" - Che cos'è e come usarlo?

  5. Che cos'è e come utilizzare la cartella public_ftp

Linux Tail Command:cos'è e come usarlo

Che cos'è Terraform e come installarlo e utilizzarlo su AWS EC2

Come installare e utilizzare R su Ubuntu

Cos'è EasyApache e come si usa?

Che cos'è Docker Compose e come lo usi?

Cos'è il PPA in Ubuntu Linux e come li uso