

Non spaventatevi dal cartello in formato maxi con scritta acclusa, che ho inserito in bella evidenza qui sopra.

serve solo a far capire, se ce ne fosse ancora bisogna, che modificare i permessi e proprietari ad un file non è uno scherzo, ma anche che in questo modo, possiamo renderlo inaccessibile a chiunque, eccetto noi stessi ovviamente e root giungendo in modo diverso, ma con risultato analogo a quanto ho scritto in precedenza su GnuPG.
La notazione numerica detta anche ottale si basa sul sistema binario: qui cerchiamo di capire i significati pratici di tale notazione, tralasciando i motivi per i quali i permessi r, w, x hanno determinati numeri.
Sappiamo oramai che su GNU/Linux vi sono TRE gruppi di utenti distinti:
1) proprietario ovvero user abbreviato con u
2) gruppo al quale il proprietario/user appartiene, abbreviato con g
3) tutti gli altri ovvero others abbreviato con o
Sappiamo anche che ciascun gruppo può:
- leggere ovvero read abbreviato con r
- write ovvero scrivere abbreviato con w
- eseguire ovvero execute abbreviato con x
Ora dovete sapere che a:
- read/r corrisponde 4
- write/w corrisponde 2
- execute/x corrisponde 1
Ora tutto si riduce a delle semplici operazioni di addizioni.
Facendo degli esempi, ecco che se user ha i permessi di lettura e scrittura per un file/directory significa che ha lettura = 4, e scrittura = 2, mentre esecuzione = 0 poichè non ha questo permesso. Questo significa: 4 + 2 + 0 = 6.
Se invece user ha i permessi di lettura ed esecuzione, ecco che ha lettura = 4, scrittura = 0, esecuzione = 1, ovvero: 4 + 0 + 1 = 5.
Se, infine, lo user ha tutti i permessi ecco che ha: lettura = 4, scrittura = 2, esecuzione = 1 il che si sintetizza come: 4 + 2 + 1 = 7.
Perciò il massimo per un utente è 7 poichè legge, scrive, ed esegue.
Per chiarire basta ricordarsi che ESSENDOCI TRE GRUPPI DI UTENTI, SI AVRANNO TRE NUMERI (compresi tra lo 0 e il 7), CIASCUNO DEI QUALI RAPPRESENTA LE AUTORIZZAZIONI PER QUEL GRUPPO.
Esiste una grande varietà di autorizzazioni possibili, ma alcune sono utilizzate più spesso.
Ecco, qui sotto, una semplice tabella che riassume quelle più frequenti:
| Comando | Rappresentazione | Significato |
|---|---|---|
| chmod 400 | -r-------- | Lo user legge, nessuno può fare altro |
| chmod 644 | -rw-r--r-- | Tutti possono leggere, solo lo user può editare |
| chmod 660 | -rw-rw---- | Lo user e group leggono ed editano, others non può fare nulla |
| chmod 700 | -rwx------ | Lo user può leggere, scivere ed eseguire. Group e others non fanno nulla |
| chmod 744 | -rwxr--r-- | Tutti possono leggere, ma solo lo user può modificare ed eseguire |
| chmod 755 | -rwxr-xr-x | Tutti possono leggere ed eseguire, ma solo lo user può modificare |
| chmod 777 | -rwxrwxrwx | Tutti possono leggere fare tutto. (Davvero una pessima idea, direi!) |
Da notare, in aggiunta alla tabella qui indicata, che potete anche dare il seguente comando:
chmod 000 su un file o directory, ma FATE MOLTA ATTENZIONE in questo caso, poichè l'unico utente che può fare poi qualcosa oppure usare di nuovo chmod è SOLO ED ESCLUSIVAMENTE root.
I permessi ottali permettono di ottenere tutte le modifiche che si desiderano in colpo solo per qualunque gruppo di utenti. Ecco il motivo per il quale, dopo un pò di pratica, anche voi, come la maggior parte dei Linuxiani (passatemi il termine), li userete al posto della notazione alfabetica, che risulta in tal senso molto limitativa!.
Infatti tornando all'esempio indicato nella guida precedente ecco che partendo da questa situazione:
Ora con la NOTAZIONE OTTALE posso dare a me stesso, lo user, il permesso di esecuzione ovvero execute sul file citato ED IN
CONTEMPORANEA togliere a group ed others il permesso di lettura ovvero read, dando il seguente comando:
chmod 700 07F23d01
che ottiene quanto desiderato, come potete constatare qui sotto:
Eccoci finalmente a quanto vi avevo indicato all'inizio di questa lezione, vale a dire impedire l'accesso di un file o di una directory ad estranei!.
Torniamo al nostro file precedente, e già nella situazione della snapshot, vedete che solo il sottoscritto ha pieni permessi sul file in oggetto, ma se volessi impedire in toto a tutti, me compreso, l'accesso al file?
Facile, basta che mi "trasformi" in root e dia il seguente comando:
sudo chown root\: 07F23d01
Ed eccovi la conferma: ovviamente solo io da matthew posso diventare, con la password, root e bloccare a tutti l'accesso a file e cartelle!
Se vado a vedere all'interno della mia cartella con Nautilus ovvero con l'interfaccia grafica, vedo il file in oggetto con il simbolo del lucchetto e con una x sopra!
Davvero bloccato ed inespugnabile! Ed ecco che ancora una volta con pochi comandi da shell possiamo impedire a chiunque l'accesso a file e cartelle SENZA RICORRERE A NESSUN SOFTWARE al contrario dei nostri cugini di Mamma Windows:
Simpatica quest'immagine, che ho trovato sul web vero? Ma direi, anche in questo caso,soprattutto veritiera.
La potenza della shell con i comandi chown e chmod danno a noi Linuxiani (oramai mi piace troppo tale termine, per non usarlo) un'ampia scelta di strumenti per gestire le autorizzazioni in modo completo ed efficace.
Vedremo successivamente come usare i comandi sopra descritti, anche con un'applicazione che permette di fare il backup di quello che si desidera in modo veloce e sicuro, ed ovviamente senza inutili interfacce grafiche!.