GNU/Linux >> Linux Esercitazione >  >> Linux

Comprendere le autorizzazioni di base dei file e la proprietà in Linux

Tutti i file e le directory in Linux hanno un set standard di autorizzazioni di accesso. Queste autorizzazioni di accesso controllano chi può accedere a quali file e forniscono un livello fondamentale di sicurezza ai file e alle directory in un sistema.

Autorizzazioni di visualizzazione

Per visualizzare le autorizzazioni per file e directory, utilizza ls -l o ls –n comandi.

# ls -l file
-rw-r--r-- 1 root root 0 Nov 19 23:49 file

Il primo campo di informazioni visualizzato dal comando ls -l è il tipo di file. Il tipo di file in genere specifica se si tratta di un file o di una directory. Un file è rappresentato da un trattino (-). Una directory è rappresentata dalla lettera d.
I campi rimanenti rappresentano i gruppi di autorizzazioni:proprietario, gruppo, e altro .

Gruppi di autorizzazioni

Esistono tre gruppi di autorizzazioni:

  1. Proprietario
  2. Gruppo
  3. Altro

La tabella descrive i gruppi di autorizzazioni e il relativo ambito:

Autorizzazione Descrizione
Proprietario Autorizzazioni utilizzate dal proprietario assegnato del file o della directory
Gruppo Autorizzazioni utilizzate dai membri del gruppo che possiede il file o la directory
Altro Autorizzazioni utilizzate da tutti gli utenti diversi dal proprietario del file e dai membri del gruppo che possiede il file o la directory

Set di autorizzazioni

– Ogni gruppo di autorizzazioni ha tre autorizzazioni, denominate set di autorizzazioni.
– Ogni set è composto da lettura , scrivi e esegui autorizzazioni.
– Ogni file o directory dispone di tre set di autorizzazioni per i tre tipi di gruppi di autorizzazioni.
– Il primo set di autorizzazioni rappresenta le autorizzazioni del proprietario, il secondo set rappresenta le autorizzazioni del gruppo e l'ultimo set rappresenta le altre autorizzazioni.
– Le autorizzazioni di lettura, scrittura ed esecuzione sono rappresentate dai caratteri r , con e x , rispettivamente.
– La presenza di uno qualsiasi di questi caratteri, come r, indica che è stata concessa l'autorizzazione specifica.
– Un trattino ( ) al posto di un carattere in un set di autorizzazioni indica che una particolare autorizzazione è stata negata.
– Linux assegna automaticamente le autorizzazioni iniziali quando viene creato un nuovo file o directory.

Autorizzazione Accesso per un file Accesso per una directory
Leggi (r) È possibile visualizzare il contenuto del file e copiare il file. Puoi elencare il contenuto della directory con il comando ls.
Scrivi (w) Puoi modificare il contenuto del file. Puoi modificare il contenuto di una directory, ad esempio eliminando un file. È inoltre necessario disporre dell'autorizzazione di esecuzione affinché ciò avvenga.
Esegui (x) Puoi eseguire il file se è un eseguibile. Puoi eseguire uno script di shell se hai anche i permessi di lettura ed esecuzione. Puoi usare il comando cd per accedere alla directory. Se si dispone anche dell'accesso in lettura, è possibile eseguire il comando ls -l nella directory per elencare i contenuti. Se non disponi dell'accesso in lettura, puoi eseguire il comando ls purché conosci il nome del file.

Proprietà del file

Ogni file è di proprietà di un utente specifico (o UID) e di un gruppo specifico (o GID). Il chown il comando può essere utilizzato per modificare solo l'utente o l'utente e il gruppo di un file. Ecco un esempio di modifica del proprietario del file test in utente e del relativo gruppo in utente.

# ls -l test
-rw-r--r-- 1 root root 0 Nov 20 00:43 test
# chown user:user test
# ls -l test
-rw-r--r-- 1 user user 0 Nov 20 00:43 test

Il formato di base per il comando chown è il seguente:

# chown user:group filename

Un punto (.) può essere utilizzato al posto dei due punti (:) carattere separatore. Inoltre, è possibile omettere il nome dell'utente o del gruppo. Se il nome utente viene omesso (ma è presente il carattere separatore), il comando chown si comporta come chgrp comando e viene modificata solo la proprietà del gruppo. Se il nome del gruppo viene omesso (ma è presente il carattere separatore, il gruppo verrà impostato sul gruppo di accesso dell'utente specificato. Se vengono omessi sia il nome del gruppo che il carattere separatore, viene modificato solo il nome utente. Ad esempio , per cambiare solo il proprietario potresti eseguire quanto segue:

# chown user filename

Un comando alternativo per modificare solo il gruppo di un file è il comando chgrp. Ad esempio:

# chgrp group filename

Il comando chgrp viene comunemente utilizzato dagli utenti normali per modificare la proprietà di gruppo dei propri file. Il comando chown è normalmente utilizzato solo dall'utente root.

Proprietà del gruppo predefinita

Ogni utente può essere un membro di molti gruppi (elencati nel file /etc/group sotto diversi gruppi). Un solo gruppo sarà il gruppo principale di un utente (elencato nella voce dell'utente in /etc/password). Quando un utente crea un file, per impostazione predefinita il file sarà di proprietà del gruppo principale dell'utente. Se vogliono che il file sia di proprietà di uno dei loro altri gruppi, devono utilizzare il chgrp comando per modificare l'appartenenza al gruppo. Ad esempio:

$ id
uid=1001(user) gid=1001(user) groups=1001(user),10(wheel)
$ touch file
$ ls -lrt file
-rw-rw-r-- 1 user user 0 Nov 20 00:52 file

Come mostrato sopra, il file (file) appena creato ottiene automaticamente il gruppo come "utente".

Autorizzazioni per file e directory

Di seguito è riportato un esempio di output da ls -l comando; puoi vedere dal primo carattere di ogni riga che dir1 e dir2 sono directory (indicate dalla d ) e che file1 e file2 sono un file normale (indicato da ).

$ ls -l
total 0
drwxrwxr-x 2 user user 6 Nov 20 00:55 dir1
drwxrwxr-x 2 user user 6 Nov 20 00:55 dir2
-rw-rw-r-- 1 user user 0 Nov 20 00:55 file1
-rw-rw-r-- 1 user user 0 Nov 20 00:55 file2

I successivi nove caratteri mostrano le autorizzazioni del file per utente, gruppo e altri (o chiunque altro) come mostrato di seguito, con parentesi aggiunte per chiarezza:

-(rw-)(rw-)(r--) 1 user user 0 Nov 20 00:55 file1

Ora il proprietario ha i permessi di lettura e scrittura (rw-), il gruppo ha i permessi di lettura e scrittura (rw-) e tutti gli altri hanno solo i permessi di lettura (r–). Questo si chiama rappresentazione simbolica perché lettere come r, w e x vengono utilizzate per indicare i permessi.

I permessi possono anche essere rappresentati numericamente:

r = 4; w = 2; x = 1

Aggiungi ogni sezione in modo che i permessi del file meta (dall'esempio sopra) siano 664. Ecco un altro modo per vedere come arriviamo a quel numero:

-(rw-)(rw-)(r--)
-(42-)(42-)(4--)
664

L'aggiunta dei numeri in ciascuna sezione comporta autorizzazioni di 664.

Modifica delle autorizzazioni dei file

Il comando chmod viene utilizzato per modificare i permessi di un file. Può essere utilizzato per aggiungere o rimuovere le autorizzazioni simbolicamente. Ad esempio, per aggiungere i permessi di esecuzione per il proprietario di un file, eseguiresti:

$ chmod u+x file_name

Oppure, per aggiungere autorizzazioni di lettura e scrittura per il gruppo proprietario del file, eseguire:

$ chmod g+rw file_name

Invece di aggiungere autorizzazioni, la sintassi simbolica di chmod può essere utilizzata anche per sottrarre o impostare un valore assoluto come mostrato in questi esempi:

$ chmod o-w file_name
$ chmod u=rwx,g=rx,o= file_name

Il comando chmod può anche impostare in modo esplicito i permessi usando una rappresentazione numerica. Ad esempio, per impostare le autorizzazioni su un file su rwxrwxr–, eseguire:

$ chmod 774 file_name

Oltre alle autorizzazioni standard di lettura, scrittura ed esecuzione, chmod può anche impostare autorizzazioni speciali. Questi sono il bit setuid, il bit setgid e il bit appiccicoso. Gli esempi seguenti mostrano l'impostazione di ciascuna di queste autorizzazioni speciali insieme a brevi descrizioni dell'effetto di tali autorizzazioni.

$ chmod u+s file_name

Aggiunge il setuid bit in modo che, se eseguibile, questo file verrà eseguito con i permessi del suo proprietario.

$ chmod g+s file_name

Aggiunge il setgid bit in modo che, se eseguibile, questo file verrà eseguito con i permessi del suo gruppo. Quando questo è impostato su una directory, tutti i file creati nella directory avranno lo stesso gruppo della directory.

$ chmod o+t directory_name

Aggiunge il bit appiccicoso in modo che gli utenti possano eliminare solo i file da questa directory che hanno creato.


Linux
  1. Come copiare le autorizzazioni e la proprietà dei file su un altro file in Linux

  2. Nozioni di base sui permessi dei file Linux

  3. Permessi Linux:un'introduzione a chmod

  4. Linux chmod and chown - Come modificare le autorizzazioni e la proprietà dei file in Linux

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

Comprendere i permessi dei file Linux

Comando Chown in Linux (proprietà dei file)

Comando Chmod in Linux (autorizzazioni file)

Permessi e proprietà dei file Linux spiegati con esempi

Comprendere i permessi dei file Linux

Permessi della directory Linux di base e come controllarli