Linux

Comprensione dei permessi dei file Linux

Comprensione dei permessi dei file Linux

In Linux, i permessi dei file, gli attributi e la proprietà controllano il livello di accesso che i processi di sistema e gli utenti hanno ai file. Ciò garantisce che solo gli utenti e i processi autorizzati possano accedere a file e directory specifici.

Autorizzazioni file Linux #

Il modello di base dei permessi di Linux funziona associando ogni file di sistema con un proprietario e un gruppo e assegnando i permessi di accesso per tre diverse classi di utenti:

La proprietà del file può essere modificata utilizzando il chown e chgrp comandi.

Tre tipi di autorizzazioni file si applicano a ciascuna classe di utenti:

Questo concetto consente di controllare quali utenti possono leggere il file, scrivere nel file o eseguire il file.

Per visualizzare i permessi dei file, usa il pulsante ls comando:

ls -l nome_file
-rw-r--r-- 12 utenti Linux 12.0K 28 apr 10:10 nome_file |[-][-][-]- [------] [---] | | | | | | | | | | | | | +-----------> 7. Gruppo | | | | | +-------------------> 6. Proprietario | | | | +-----------> 5. Metodo di accesso alternativo | | | +--------------> 4. Altri permessi | | +-----------------> 3. Permessi di gruppo | +-----------------------------------> 2. Permessi del proprietario +------------------------------------> 1. Tipo di file 

Il primo carattere indica il tipo di file. Può essere un file normale (-), rubrica (d), un collegamento simbolico (io), o altri tipi speciali di file. I seguenti nove caratteri rappresentano i permessi del file, tre terzine di tre caratteri ciascuna. La prima tripletta mostra i permessi del proprietario, la seconda i permessi del gruppo e l'ultima tripletta mostra i permessi di tutti gli altri.

Nell'esempio sopra (rw-r--r--) significa che il proprietario del file ha i permessi di lettura e scrittura (rw-), il gruppo e gli altri hanno solo permessi di lettura (r--).

I permessi dei file hanno un significato diverso a seconda del tipo di file.

Ciascuna delle tre triplette di autorizzazioni può essere costituita dai seguenti caratteri e avere effetti diversi, a seconda che siano impostate su un file o su una directory:

Effetto delle autorizzazioni sui file

AutorizzazionePersonaggioSignificato su file
Leggere-Il file non è leggibile. Non è possibile visualizzare il contenuto del file.
rIl file è leggibile.
Scrivi-Il file non può essere cambiato o modificato.
wIl file può essere cambiato o modificato.
Eseguire-Il file non può essere eseguito.
XIl file può essere eseguito.
SSe trovato nel utente tripletta, imposta la setuid po. Se trovato nel gruppo tripletta, imposta la setgid po. Significa anche che X la bandiera è impostata.
Quando il setuid o setgid i flag sono impostati su un file eseguibile, il file viene eseguito con il proprietario del file e/o i privilegi di gruppo.
SUguale a S, ma il X la bandiera non è impostata. Questo flag è usato raramente sui file.
tSe trovato nel altri tripletta, imposta la appiccicoso po.
Significa anche che X la bandiera è impostata. Questo flag è inutile sui file.
TUguale a, t ma il X la bandiera non è impostata. Questo flag è inutile sui file.

Effetto delle autorizzazioni sulle directory (cartelle)

Le directory sono tipi speciali di file che possono contenere altri file e directory.

AutorizzazionePersonaggioSignificato su Directory
Leggere-Il contenuto della directory non può essere mostrato.
rÈ possibile visualizzare il contenuto della directory.
(e.g., Puoi elencare i file all'interno della directory con ls.)
Scrivi-Il contenuto della directory non può essere modificato.
wIl contenuto della directory può essere modificato.
(e.g., Puoi creare nuovi file, eliminare file... ecc.)
Eseguire-La directory non può essere modificata in.
XÈ possibile navigare nella directory utilizzando CD.
SSe trovato nel utente tripletta, imposta la setuid po. Se trovato nel gruppo tripletta imposta il setgid po. Significa anche che X la bandiera è impostata. Quando il setgid flag è impostato su una directory, i nuovi file creati al suo interno ereditano l'ID del gruppo di directory (GID) invece dell'ID del gruppo primario dell'utente che ha creato il file.
setuid non ha effetto sulle directory.
SUguale a S, ma il X la bandiera non è impostata. Questo flag è inutile nelle directory.
tSe trovato nel altri tripletta, imposta la appiccicoso po.
Significa anche che X la bandiera è impostata. Quando lo sticky bit è impostato su una directory, solo il proprietario del file, il proprietario della directory o l'utente amministrativo possono eliminare o rinominare i file all'interno della directory.
TUguale a t, ma il X la bandiera non è impostata. Questo flag è inutile nelle directory.

Modifica autorizzazioni file #

I permessi dei file possono essere modificati usando il chmod comando. Solo root, il proprietario del file o l'utente con privilegi sudo possono modificare i permessi di un file. Fai molta attenzione quando usi chmod, soprattutto quando si modificano ricorsivamente i permessi. Il comando può accettare uno o più file e/o directory separati da spazio come argomenti.

Le autorizzazioni possono essere specificate utilizzando una modalità simbolica, una modalità numerica o un file di riferimento.

Metodo simbolico (testo) #

La sintassi di chmod comando quando si utilizza la modalità simbolica ha il seguente formato:

chmod [OPZIONI] [ugoa… ][-+=]perms… [,… ] FILE… 

La prima serie di flag ([ugoa…]), flag degli utenti, definisce le classi degli utenti per cui vengono modificati i permessi al file.

Quando il flag degli utenti viene omesso, il valore predefinito è un.

La seconda serie di bandiere ([-+=]), i flag di operazione, definisce se i permessi devono essere rimossi, aggiunti o impostati:

I permessi (permanenti.. ) sono impostati esplicitamente utilizzando zero o una o più delle seguenti lettere: r, w, X, X, S, e t. Usa una sola lettera dal set tu, g, e o quando si copiano i permessi da una classe all'altra degli utenti.

Quando si impostano le autorizzazioni per più di una classe utente ([,… ]), usa le virgole (senza spazi) per separare le modalità simboliche.

Ecco alcuni esempi di come utilizzare il chmod comando in modalità simbolica:

Metodo numerico #

La sintassi di chmod comando quando si utilizza la modalità simbolica ha il seguente formato:

chmod [OPZIONI] NUMERO FILE… 

Quando si utilizza la modalità numerica, è possibile impostare i permessi per tutte e tre le classi utente (proprietario, gruppo e tutte le altre) contemporaneamente.

Il numero di autorizzazione può essere un numero di 3 o 4 cifre. Quando si utilizza un numero a 3 cifre, la prima cifra rappresenta i permessi del proprietario del file, la seconda il gruppo del file e l'ultima tutti gli altri utenti.

Ogni autorizzazione di scrittura, lettura ed esecuzione ha il seguente valore numerico:

Il numero di permessi di una specifica classe utente è rappresentato dalla somma dei valori dei permessi per quel gruppo.

Per conoscere i permessi del file in modalità numerica è sufficiente calcolare i totali per tutte le classi degli utenti. Ad esempio, per dare i permessi di lettura, scrittura ed esecuzione al proprietario del file, leggere ed eseguire i permessi al gruppo del file e solo leggere i permessi a tutti gli altri utenti, dovresti fare quanto segue:

Usando il metodo sopra, arriviamo al numero 754, che rappresenta i permessi desiderati.

Per impostare il setuid, setgid, e bit appiccicoso bandiere, usa un numero di quattro cifre.

Quando si utilizza il numero a 4 cifre, la prima cifra ha il seguente significato:

Le tre cifre successive hanno lo stesso significato di quando si utilizza un numero a 3 cifre.

Se la prima cifra è 0 può essere omessa e la modalità può essere rappresentata con 3 cifre. La modalità numerica 0755 equivale a 755.

Per calcolare la modalità numerica, puoi anche usare un altro metodo (metodo binario), ma è un po' più complicato. Sapere come calcolare la modalità numerica utilizzando 4, 2 e 1 è sufficiente per la maggior parte degli utenti.

Puoi controllare i permessi del file nella notazione numerica usando il statistica comando:

stat -c "%a" nome_file 

Ecco alcuni esempi di come utilizzare il chmod comando in modalità numerica:

Conclusione #

In Linux, l'accesso ai file è limitato utilizzando permessi, attributi e proprietà dei file. Per modificare i permessi del file usa il pulsante chmod comando.

Se hai domande o commenti, non esitare a lasciare un commento.

I 5 migliori giochi arcade per Linux
Al giorno d'oggi, i computer sono macchine serie utilizzate per i giochi. Se non riesci a ottenere il nuovo punteggio più alto, saprai cosa intendo. I...
Battaglia per Wesnoth 1.13.6 Sviluppo rilasciato
Battaglia per Wesnoth 1.13.6 rilasciato il mese scorso, è la sesta versione di sviluppo nella 1.13.x e offre una serie di miglioramenti, in particolar...
Come installare League Of Legends su Ubuntu 14.04
Se sei un fan di League of Legends, questa è un'opportunità per testare League of Legends. Nota che LOL è supportato su PlayOnLinux se sei un utente L...