In questo breve tutorial, vedremo come possiamo usare chmod comando in una macchina Ubuntu per trovare, modificare e rimuovere le autorizzazioni utente da file specifici che esistono nel file system dell'utente. Giochiamo attraverso varie condizioni in modo da poter padroneggiare le basi chmod comandi che possono semplificarci la vita di tutti i giorni con Ubuntu.
Permessi Linux
I permessi di Linux sono un ottimo insieme di regole che sono semplici da capire se afferriamo i diritti di base. I tre punti principali che dobbiamo capire per sapere come funzionano i permessi Linux sono:
- L'elemento per cui sono stati definiti i permessi
- Quali azioni possono essere eseguite con un permesso
- Chi può eseguire quali azioni
Ci sono due elementi di base nel filesystem Linux:
- Directory
- File
Ci sono tre azioni che possono essere eseguite:
- Leggere
- Scrivi
- Eseguire. Oltre all'esecuzione di script, sono necessarie le stesse azioni per creare file e altre cartelle al suo interno
Gli utenti che possono eseguire queste azioni sono:
- Proprietario del file
- Gruppo del proprietario del file
- Utente che non è associato al gruppo di proprietari o al proprietario stesso
Per visualizzare le autorizzazioni relative a un file, eseguire il comando seguente:
ls -lEcco cosa otteniamo indietro con questo comando:
Trova il permesso per i file
Nell'output, i primi 10 caratteri presentano l'autorizzazione per il file:
- Il primo carattere, che è '-' in questo caso significa che questo è un file. Per una directory, questa sarebbe stata una "d".
- I successivi nove caratteri rappresentano rispettivamente i permessi per il proprietario, il gruppo del proprietario e altri.
Modifica dei permessi
La sintassi per modificare l'autorizzazione di un file è simile a:
file dei permessi chmod [file 2]..Rappresentazione ottale per i permessi
Possiamo presentare i permessi come un numero ottale. Ad esempio, per impostare le autorizzazioni di lettura, scrittura ed esecuzione per il proprietario, le autorizzazioni di lettura e scrittura per il suo gruppo e nessuna autorizzazione per gli altri, su un saluto.txt, eseguiremo il seguente comando:
sudo chmod 760 ciao.TXTUna volta eseguito il comando sopra e provato a leggere un file con un account non proprietario utilizzando il seguente comando:
sudo -u notowner-user more ciao.TXTOtterremo il seguente errore:
Ciao.txt: Permesso negatoMa da dove viene questo numero?? Ogni cifra di quel numero rappresenta un insieme di permessi. Vediamo come sono stati ricavati:
- 0: significa nessuna autorizzazione
- 1: indica il eseguire autorizzazione
- 2: indica il Scrivi autorizzazione
- 4: indica il leggere autorizzazione
Per assegnare le autorizzazioni di lettura, scrittura ed esecuzione per il proprietario, gli abbiamo assegnato il numero 7 (= 4 + 2 + 1). Cerchiamo di capirlo meglio in una tabella di cifre:
Numero | Binario | Leggere | Scrivi | Eseguire |
0 | 000 | NO | NO | NO |
1 | 001 | NO | NO | SÌ |
2 | 010 | NO | SÌ | NO |
3 | 011 | NO | SÌ | SÌ |
4 | 100 | SÌ | NO | NO |
5 | 101 | SÌ | NO | SÌ |
6 | 110 | SÌ | SÌ | NO |
7 | 111 | SÌ | SÌ | SÌ |
La tabella sopra è molto chiara in ciò che ciascuno rappresenta in termini di permessi dei file.
Rappresentazione dei caratteri per i permessi
Possiamo presentare i permessi come un numero ottale. Ad esempio, per impostare le autorizzazioni di lettura, scrittura ed esecuzione per il proprietario, le autorizzazioni di lettura e scrittura per il suo gruppo e nessuna autorizzazione per gli altri, su un saluto.txt, eseguiremo il seguente comando:
sudo chmod u=rwe,g=rw,o-rwx ciao.TXTPer aggiungere autorizzazioni a un utente esistente, possiamo anche fare:
sudo chmod g+w ciao.TXTQui, il permesso di scrittura veniva assegnato al gruppo di utenti del proprietario del file.
Modifiche ricorsive alle autorizzazioni
Possiamo anche cambiare i permessi per i file contenuti in una directory specifica con un singolo comando. Per modificare contemporaneamente i permessi di ogni singolo file e cartella in una directory fornita, usa sudo chmod con -R:
sudo chmod 777 Directory/*Possiamo vedere il seguente output che riflette chiaramente la modifica dei permessi dei file:
Modifica ricorsiva dei permessi dei file
Conclusione
In questa lezione, abbiamo visto come possiamo modificare i permessi di un file e, se necessario, farlo in modo ricorsivo. Abbiamo compreso i concetti di base dietro come i permessi di Linux che possono aiutarci molto nel nostro lavoro quotidiano.