A causa della natura dei sistemi Linux, ci sono molte restrizioni e impostazioni di autorizzazione per file e directory in termini di sicurezza. L'unico utente con tutti questi privilegi è l'utente root.
Pertanto, durante l'utilizzo del sistema, se siamo utenti root, l'avviso davanti a noi non sarà a meccanismo restrittivo e, in alcuni casi, le modifiche che apporteremo potrebbero causare gravi problemi con il sistema. Questo è il motivo per cui conoscere le autorizzazioni degli utenti Linux è molto importante per ogni utente Linux.
Azioni che gli utenti possono intraprendere riguardo a file e directory
Ciascun utente può agire nell'ambito delle autorizzazioni a lui fornite. Ci sono tre azioni che gli utenti possono intraprendere riguardo a file o directory.
- leggi (r): Si tratta di essere in grado di visualizzare l'elenco delle cartelle e il contenuto dei file.
- scrivi (w): Si tratta di apportare modifiche al file o alla cartella.
- eseguire (x): Si tratta di eseguire il file di destinazione o di poter accedere alla cartella.
Se hai familiarità con il comando chmod e autorizzazioni per i file Linux, potresti aver già sentito parlare di queste tre autorizzazioni.
Inserisci il ls -l comando per vedere quali autorizzazioni ha il tuo file corrente.
Le parti che vediamo come drwxr-xr-x e -rw-r--r-- fare riferimento ai permessi dei file. La lettera d all'inizio di alcune espressioni indica che quell'espressione è una directory. Se spieghiamo le parti rimanenti separatamente, le parti separate dal - sign rappresentano il gruppo di utenti con tale autorizzazione.
Per una migliore comprensione, dividili in gruppi di tre, esclusa la lettera d.
rwxr-xr-x = rwxr-xr-x
rw-r--r-- = rw-r--r--
La prima serie di lettere specifica le autorizzazioni del proprietario del file, la seconda delle autorizzazioni di gruppo e l'ultima serie specifica le autorizzazioni di altri utenti.
Di conseguenza, le autorizzazioni nei file di cui sopra sono:
- r: privilegio di lettura
- w: privilegio di scrittura
- X: privilegio di esecuzione
- rwx: l'utente proprietario del file può leggere, scrivere, eseguire
- r-x: altri utenti possono leggere, eseguire, ma non scrivere
Modifica dei permessi con chmod
Solo root, che è la persona più autorizzata, può modificare il privilegio di accesso. Questo processo di modifica è facilmente eseguibile con il chmod comando.
I parametri e i significati del chmod comando sono riportati di seguito.
- tu: Proprietario del file o della directory
- g: Utenti nello stesso gruppo del proprietario del file o della directory
- o: Altri utenti
- un: Aperto a tutti
- =: Sincronizzazione delle autorizzazioni
- +: Aggiungi autorizzazione
- -: Cancellazione dell'autorizzazione
Ora che hai visto il significato dei parametri, puoi ora considerare un'operazione di esempio. Per questo, creare una directory di esempio e segui i passaggi seguenti in ordine.
Usa il ls -l comando per sfogliare i permessi dei file nella cartella che hai creato. Mentre lo fai, pensa che la struttura dei permessi dei tuoi file sia la seguente.
ls -l
totale 4
1 radiceradice 0 aprile 25 16:20esempio.testo
1 radiceradice 0 aprile 25 16:21ex_File
d 2 radiceradice 4096 aprile 25 16:21ex_cartella
1 radiceradice 0 aprile 25 16:20ex_testo
Successivamente, accedi a tutti i file nella cartella utilizzando * carattere e lascia che scrivi (w) diventi pubblico utilizzando chmod +w * comando.
chmod +w *
ls -l
totale 4
--w-r-x 1 radiceradice 0 aprile 25 16:20esempio.testo
--w-r-x 1 radiceradice 0 aprile 25 16:21ex_File
d-w-r-x 2 radiceradice 4096 aprile 25 16:21ex_cartella
--w-r-x 1 radiceradice 0 aprile 25 16:20ex_testo
Ora, prova a concedere l'autorizzazione di lettura-scrittura-esecuzione (rwx) agli utenti nel gruppo (g), i permessi di scrittura (w) agli utenti (u) ed esegui solo i permessi (x) ad altri utenti.
chmod g+rwx, u+w, o+x *
ls -l
totale 4
--w-rwx--x 1 radiceradice 0 aprile 25 16:20esempio.testo
--w-rwx--x 1 radiceradice 0 aprile 25 16:21ex_File
d-w-rwx--x 2 radiceradice 4096 aprile 25 16:21ex_cartella
--w-rwx--x 1 radiceradice 0 aprile 25 16:20ex_testo
E infine, puoi usare un comando come quello qui sotto per rimuovere l'autorizzazione dei file nella tua posizione.
chmod a-rwx *
<codice>ls -l
totale 4
1 radiceradice 0 aprile 25 16:20esempio.testo
1 radiceradice 0 aprile 25 16:21ex_File
d 2 radiceradice 4096 aprile 25 16:21ex_cartella
1 radiceradice 0 aprile 25 16:20ex_testo
Oltre a questi usi, i processi di autorizzazione possono essere espressi anche in termini numerici che probabilmente ti sei imbattuto prima e utilizzati senza accorgertene.
I numeri sono definiti per ciascuna autorizzazione
Proprietario del file | Utenti nello stesso gruppo del proprietario del file | Altri utenti | |
r | 4 | 4 | 4 |
w | 2 | 2 | 2 |
X | 1 | 1 | 1 |
Ad esempio, immagina di voler concedere tutte le autorizzazioni solo al proprietario del file. Per questo, devi prima raccogliere gli equivalenti numerici dei modelli di autorizzazione. In altre parole, dato che darai tutte le autorizzazioni, r=4 + w=2 + x=1=il numero totale è 7.
Vuoi concedere questa autorizzazione solo al proprietario del file. Per fare ciò, puoi modificare leggermente il chmod rwx- comando che useresti normalmente. Se usi un comando come file chmod 700, solo il proprietario del file avrà tutti i privilegi.
Per capirlo meglio, puoi pensare a un altro esempio. Immagina che il proprietario del file disponga di tutte le autorizzazioni, quelli del gruppo pubblico abbiano l'autorizzazione di scrittura e gli altri utenti abbiano l'autorizzazione di lettura.
È possibile utilizzare l'equazione r (4)+w (2)+x (1)=7 per tutti i privilegi da assegnare al proprietario del file.
L'autorizzazione di scrittura che concedi agli utenti nel gruppo comune con il proprietario del file utilizzerà il numero 2, che è l'equivalente numerico del carattere di scrittura (w). L'autorizzazione di lettura che concederai agli altri utenti utilizzerà il numero 4, che è l'equivalente numerico del carattere di lettura (r).
Come si evince dall'output, gli equivalenti numerici devono aver eseguito l'autorizzazione desiderata.
Rendi valide le tue impostazioni di autorizzazione nelle sottodirectory con -R
Inoltre, se vuoi che le autorizzazioni che fornisci abbiano effetto su quella directory e le sue sottocartelle, dovresti usare il tuo comando con il -R parametro.
Ad esempio, elenca i diritti di accesso della cartella denominata "ex_cartella" nella tua posizione. Il risultato sarà un output che indica che non sono stati trovati diritti.
ls -l
totale 4
1 radiceradice 0 aprile 25 16:20esempio.testo
-rwx-w-r-- 1 radiceradice 0 aprile 25 16:21ex_File
d 2 radiceradice 4096 aprile 25 16:21ex_cartella
1 radiceradice 0 aprile 25 16:20ex_testo
Quindi vai all'interno della cartella denominata "ex_cartella".
Quindi torna alla directory principale. Usa il -R parametro e scrivi un comando come chmod -R 422 ex_Cartella in modo che le autorizzazioni di accesso da aggiungere siano valide per tutti i file secondari.
Di conseguenza, tutti i file, inclusi tutti i file, le directory e le sottocartelle, sono stati autorizzati in un modo che corrisponde all'istruzione 422.
La migliore soluzione per i file eliminati accidentalmente: chattr
Qualunque sia il motivo, se ci sono file che ritieni importanti, è possibile proteggerli prima che vengano eliminati accidentalmente. Il comando che offre questa opportunità di protezione è il chattr comando. Il chattr Il comando non solo protegge dall'eliminazione, ma viene anche utilizzato per impedire la modifica del file.
Puoi usare il tuo lsattr comando per elencare tali file.
Cerca di proteggere il main.cpp file che appare qui con il chattr +i main.cpp comando.
Come si vede nell'output, c'è a -io dichiarazione nella sezione autorizzazioni. Questa affermazione è un segno che il file non può più essere modificato. Per confermare ciò, puoi provare a eliminare questo file con un comando come rm -rf main.cpp.
rm-rfprincipale.cpp
rm: impossibile rimuovere 'main.cpp': Operazione non permessa
Se vuoi annullare questa operazione e rendere il file modificabile, usa semplicemente il chattr -i main.cpp comando.
I privilegi di accesso sono importanti per la sicurezza del file system
L'autorizzazione all'accesso costituisce la spina dorsale della sicurezza del file system Linux. Grazie ai permessi di accesso che possono essere assegnati a ciascun file separatamente, è possibile realizzare una gestione del sistema molto più comoda.
I diritti di accesso per utente a volte possono essere ancora più significativi. Pertanto, potresti voler avvicinarti ai progetti e ai file sul tuo sistema conoscendo i metodi di autorizzazione descritti in questo articolo.
Come modificare le autorizzazioni dei file sui desktop Linux
Leggi Avanti
Argomenti correlati
- Linux
- Controllo dell'account utente
- Gestione dei file
- Linux
- terminale
Circa l'autore
Un ingegnere e sviluppatore di software che è un fan della matematica e della tecnologia. Gli sono sempre piaciuti i computer, la matematica e la fisica. Ha sviluppato progetti di motori di gioco, machine learning, reti neurali artificiali e librerie di algebra lineare. Inoltre continua a lavorare su machine learning e matrici lineari.
Iscriviti alla nostra Newsletter
Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!
Clicca qui per iscriverti