Sicurezza

Spiegazione dei permessi di Linux

Spiegazione dei permessi di Linux

Il sistema operativo (OS) Linux è stato sviluppato per essere multitasking e multiutente. Un sistema operativo multitasking ci consente di eseguire diversi programmi contemporaneamente, un sistema operativo multiutente consente a utenti diversi di utilizzarlo contemporaneamente. Il che significa che Linux è un sistema operativo multitasking perché può eseguire programmi contemporaneamente mentre è multiutente perché puoi connetterti a un dispositivo e usarlo tramite ssh mentre un altro utente lo sta usando.Se non sbaglio, le ultime versioni di Windows, almeno le versioni server, consentono a diversi utenti di utilizzare il computer tramite desktop remoto, supportano anche ssh tramite OpenSSH.  Ma a differenza di Linux, Windows è stato inizialmente sviluppato per essere un sistema operativo personale e per molti anni i sistemi basati su Linux e Unix hanno monopolizzato le funzioni multitasking e multiutente, il che significa maggiore sicurezza e stabilità per un sistema sviluppato per essere condiviso tra gli utenti senza autorizzazioni per violare il sistema eseguendo un codice pericoloso o rimuovendo un file vitale.Come sistema operativo multiutente, Linux ha incorporato un modo molto sofisticato per gestire le autorizzazioni per utenti, gruppi di utenti, file, directory e persino partizioni o dischi.

Comprensione della sintassi dei permessi sotto Linux

Su Linux abbiamo 3 tipi di permessi:

Permesso di lettura: Permesso di leggere un file, ad esempio, possiamo leggere il codice di uno script, ma non possiamo eseguirlo.

Autorizzazione alla scrittura: Autorizzazione a scrivere un file, in questo caso possiamo modificare lo script sopra citato come esempio, possiamo anche rimuoverlo, oppure possiamo creare file all'interno di una directory.

Autorizzazione all'esecuzione: Possiamo eseguire lo script o eseguire programmi con questa autorizzazione.

Su un programma o una directory non possiamo avere nessuno di questi diritti, tutti o uno o due di essi, ma i permessi specificano anche chi ha cosa di questi diritti. Per Linux abbiamo 3 oggetti per le regole dei permessi:

L'utente: Il proprietario del file o della directory.

Il gruppo: Utenti o programmi appartenenti al gruppo del file.

chiunque:  Chiunque altro.

Ogni file o directory in Linux conterrà informazioni sui propri permessi, le informazioni sono composte da queste 9 specifiche menzionate sopra: Permessi di lettura, scrittura ed esecuzione per l'utente, il gruppo e chiunque altro.

La sintassi dei permessi di Linux è quasi il seguente:

rwxrwxrwx
rwxrwxrwx

In questo caso, in cui l'utente, il gruppo e chiunque altro ha pieni diritti abbiamo 9 caratteri, R, W E X ripetuti 3 volte. I primi 3 caratteri definiscono i diritti/permessi utente, i 3 secondi caratteri definiscono i diritti/permessi del gruppo mentre gli ultimi 3 caratteri definiscono i diritti/permessi di chiunque altro. In questo caso l'utente, il gruppo e chiunque altro ha i permessi di lettura, scrittura ed esecuzione.

Quindi la sintassi spiegata sopra sarà davvero simile a: Ma i permessi sono sempre preceduti da un "-" in caso di file, per una "d" in caso di directory (non approfondiremo con questi ma anche una B per il blocco dispositivi, una C per dispositivo a caratteri, una S per socket Unix e P per Named Pipe).

-rwxrwxrwx
o
drwxrwxrwx

Il primo per i file e il secondo per le directory. L'utilità dei primi caratteri è solo per determinare il tipo di file e non è utile per gestire i permessi in modo da poterti concentrare rwxrwxrwx.

Come detto sopra, un file con pieni diritti per tutti sarà -rwxrwxrwx, un file con diritti completi per l'utente e il gruppo ma non per nessun altro sarebbe -rwxrwx-, con 3 righe che sostituiscono le lettere per chiunque altro.

UN directory con pieni diritti per l'utente, diritti di lettura solo per il gruppo e chiunque altro sarebbe would drwxr-r-.

Questi caratteri hanno equivalenti numerici che possiamo usare con i comandi chmod:

rwx=7  (autorizzazioni complete)
rw- =6  (solo permessi di lettura e scrittura, nessun permesso di esecuzione)

r-x  =5  (solo permessi di lettura ed esecuzione, nessun permesso di scrittura)

r-  =4  (solo autorizzazione di lettura, nessuna autorizzazione di scrittura o esecuzione)

-wx=3  (solo permessi di scrittura ed esecuzione, nessun permesso di lettura)

-w- =2  (solo autorizzazione di scrittura, nessuna autorizzazione di lettura o esecuzione)

-X = 1  (solo autorizzazione di esecuzione, nessuna autorizzazione di lettura o esecuzione)

- = 0  (nessuna autorizzazione)

Iniziare con chmod

Il comando in Linux per definire i permessi per un file è chmod, prima di iniziare con chmod, crea un file vuoto con nano:

nano fileforchmod

Una volta dentro il nuovo file digita “tutorial for chmod” e premi and CTRL+X e per salvare ed uscire.

Dopo aver salvato il file, vediamo i suoi permessi, per vedere il tipo di permesso di un file o di una directory:

ls -l

In questo caso:

ls -l fileforchmod

Come vediamo il file ha i permessi di lettura e scrittura per l'utente e i permessi di scrittura per il gruppo e chiunque altro, utente e gruppo sono "condivisa".

Se eseguiamo il comando Di meno, potremo vedere il nostro documento:

Ora lasciamo tutti i permessi per questo file, dando il permesso 0 (--), per farlo eseguire:

chmod a-rw fileforchmod

Dove:

chmod = chiama il programma per modificare i permessi

un = significa “Tutti”

-= significa meno, stiamo rimuovendo i diritti, non aggiungendo.

rw = diritti di lettura e scrittura

fileforchmod = nome file.

Quando eseguiamo chmod, dobbiamo prima definire su chi viene applicata l'autorizzazione o la restrizione, se vogliamo aggiungere o sospendere un'autorizzazione, quale autorizzazione e per quale file.

Per esempio:

Per definire per chi stiamo amministrando i permessi possiamo usare:

un = tutto

tu = utente

g = gruppo

o = altri / chiunque altro

Per definire se vogliamo aggiungere o rimuovere un permesso usiamo:

- = rimuovere il permesso.
+= aggiungi permesso.

Tipi di autorizzazione: rwx

nomefile = nome del file che vuoi modificare.

Adesso vediamo se ha funzionato eseguendo di nuovo”ls -l fileforchmod"

Come vediamo, i pochi permessi che il file aveva in precedenza sono stati rimossi. Ora aggiungiamo le autorizzazioni per la lettura dell'utente, per la scrittura del gruppo e per l'esecuzione di altri:

Dare all'utente i diritti di lettura:

chmod u+r fileforchmod

Dare al gruppo i diritti di scrittura:

Conferimento di altri diritti di esecuzione:

chmod o+x fileforchmod

Come possiamo vedere se corriamo”ls -l fileforchmod” ora abbiamo i diritti che abbiamo aggiunto.

È importante ricordare che dobbiamo solo definire l'oggetto della nostra regola: l'utente, il gruppo o altri, quindi se stiamo aggiungendo o riducendo i permessi (+ o -) e il permesso che vogliamo aggiungere o rimuovere (rwx).

Se vogliamo aggiungere o rimuovere i permessi per tutti usiamo a invece di ugo (possiamo usare anche ugo), ora se vuoi aggiungere i permessi di esecuzione sia per l'utente che per il gruppo puoi digitare:

chmod ug+x fileforchmod

Quindi controlla con ls -l fileforchmod se i diritti di esecuzione sono stati correttamente aggiunti:

Per modificare ricorsivamente i permessi di una directory utilizzeremo il parametro -R.

Prima di tutto crea una directory chiamata directoryforchmod usando il comando:

directory mkdirforchmod

Entra nella directory usando il comando cd:

cd directoryforchmod

Torna indietro usando il comando:

CD…

Per controllare i diritti della directory dobbiamo aggiungere un parametro a ls. Genere:

ls -ld directoryforchmod


Come vediamo, il proprietario ha tutti i diritti, il gruppo e gli altri possono leggere ed eseguire ma non possono scrivere.
Ora rimuoviamo i diritti di lettura per l'utente, per farlo digitare:

chmod u-r directoryforchmod

Come vediamo dopo aver lanciato un nuovo ls -ld i permessi di lettura sono stati modificati per l'utente.

Chmod permette di gestire contemporaneamente i permessi per diversi destinatari utilizzando coma, tipo:

chmod u+r,g-r,o-r directoryforchmod

Come si vede dopo l'altro ls -ld i diritti di lettura sono stati ripristinati per l'utente e rimossi per il gruppo e altri.

Come vedi gestire i permessi in Linux è semplice, ci sono comandi aggiuntivi per cambiare file, proprietario e gruppi che insegneremo nei prossimi tutorial.  Spero che questo articolo su chmod ti sia stato utile, continua a seguire LinuxHint per ulteriori suggerimenti e aggiornamenti su Linux.

Strumenti utili per i giocatori Linux
Se ti piace giocare su Linux, è probabile che tu abbia utilizzato app e utilità come Wine, Lutris e OBS Studio per migliorare l'esperienza di gioco. O...
Giochi rimasterizzati in HD per Linux che non hanno mai avuto una versione Linux prima
Molti sviluppatori ed editori di giochi stanno realizzando remaster HD di vecchi giochi per prolungare la vita del franchise, per favore i fan richied...
Come utilizzare AutoKey per automatizzare i giochi Linux
AutoKey è un'utilità di automazione desktop per Linux e X11, programmata in Python 3, GTK e Qt. Utilizzando la sua funzionalità di scripting e MACRO, ...