GNU/Linux >> Linux Esercitazione >  >> Linux

UNIX / Linux:Guida per principianti alle autorizzazioni di file e directory ( umask, chmod, read, write, execute )

L'autorizzazione per file e directory Unix è sotto forma di una struttura 3×3. ovvero Tre permessi (lettura, scrittura ed esecuzione) disponibili per tre tipi di utenti (proprietario, gruppi e altri).

Nell'output del comando ls -l, i 9 caratteri dalla 2a alla 10a posizione rappresentano i permessi per i 3 tipi di utenti.

-rw-r--r--  1 sathiya sathiya  272 Mar 17 08:22 test.txt

Nell'esempio sopra:

  • L'utente (sathiya) ha il permesso di lettura e scrittura
  • Il gruppo ha l'autorizzazione di lettura
  • Altri hanno il permesso di lettura

Tre autorizzazioni per i file:

  • leggi :permesso di leggere il contenuto del file.
  • scrivi :permesso di scrivere nel file.
  • esegui :permesso di eseguire il file come programma/script.

Tre autorizzazioni di directory:

  • leggi :permesso di leggere il contenuto della directory (visualizzare file e sottodirectory in quella directory).
  • scrivi :permesso di scrivere nella directory. ( crea file e sottodirectory in quella directory )
  • esegui :permesso di entrare in quella directory.

Valori numerici per i permessi di lettura, scrittura ed esecuzione:

  • leggi 4
  • scrivi 2
  • esegui 1

Per avere una combinazione di autorizzazioni, aggiungi i numeri richiesti. Ad esempio, per i permessi di lettura e scrittura, è 4+2 =6.

Modifica i permessi di file e directory utilizzando il comando Chmod

È possibile utilizzare la rappresentazione ottale o la rappresentazione simbolica per modificare l'autorizzazione di un file o di una directory.

Rappresentazione ottale per i permessi:

  • Il primo numero è per l'utente
  • Il secondo numero è per il gruppo
  • Il terzo numero è per gli altri

Ad esempio, dai lettura, scrittura ( 4+2 =6 ) all'utente e leggi ( 4 ) al gruppo e altri.

$ chmod 644 filename

Ad esempio, dai lettura, esegui ( 4 + 1 =5 ) all'utente e leggi (4 ) al gruppo e niente ( 0 ) agli altri.

$ chmod 540 filename

Ad esempio, dai lettura, scrivi ( 4 + 2 =6 ) all'utente e niente ( 0 ) al gruppo e leggi ( 4 ) agli altri.

$ chmod 604 filename

Umask 022 è responsabile dell'autorizzazione predefinita di un file

Il valore umask predefinito è 0022, che decide l'autorizzazione predefinita per un nuovo file o directory. Il permesso predefinito per una directory è 0777, per i file i permessi sono 0666 da cui viene sottratto il valore umask predefinito 0022 per ottenere i file appena creati o il permesso della directory.

L'autorizzazione finale predefinita per un file viene calcolata come mostrato di seguito:

  • Autorizzazione file predefinita:666
  • Umask predefinito:022
  • Autorizzazione file predefinita finale:644

L'autorizzazione finale predefinita per una directory viene calcolata come mostrato di seguito:

  • Autorizzazione directory predefinita:777
  • Umask predefinito:022
  • Autorizzazione alla directory predefinita finale:755

È possibile modificare il valore umask in un valore appropriato di ciò che è necessario in base al calcolo sopra. Ad esempio, se non vuoi che nessun altro oltre all'utente (proprietario) faccia nulla sul file o sulla directory, puoi dare umask come 0077.

$ umask 0077

Dopodiché, se crei un file o una directory, avrà i permessi solo per l'utente come mostrato di seguito:

$ > testfile
$ ls -l testfile
-rw------- 1 sathiya sathiya 0 Mar 17 08:23 testfile

Linux
  1. Permessi Linux:un'introduzione a chmod

  2. Linux – Esegui Vs Leggi bit. Come funzionano le autorizzazioni di directory in Linux?

  3. Perché utilizziamo "./" (barra punto) per eseguire un file in Linux/unix?

  4. Capire come Umask controlla i permessi iniziali di file/directory in Linux

  5. Come gestire le autorizzazioni/proprietà di file e directory in Linux

9 Esempi di comandi rapidi chmod in Linux

Comando Chmod in Linux (autorizzazioni file)

Esempi di comandi chmod di Linux

Gestisci le autorizzazioni di directory e file con chmod Recursive

Esegui rispetto al bit di lettura. Come funzionano i permessi di directory in Linux?

Comprensione delle autorizzazioni UNIX e dei tipi di file