Originariamente inviato da frakka
- Gestione dei permessi sui file/cartelle.
Siccome anche come root non sempre cambiando i permessi da modalità grafica ottengo il risultato voluto ho fatto la conoscenza del comando chmod. Mi ci trovo molto bene ma preferisco usare la forma numerica per assegnare i permessi... Sarà la poca pratica ma con i ro+-rxw mi perdo. Però non sono ancora riuscito a capire come combinare le sequenze di numeri per ottenere i permessi voluti. Adesso vado praticamente per tentativi ma mi sembra un approccio poco intelligente anche se ottengo lo scopo.Ho trovato questo in giro:
Qualcuno, mi linka, per favore una tabella con elencati per filo e per segno i numeri da usare per assegnare i permessi???? Cioè una tabellina con tutti i numeri utilizzabili e le relative corrispondenze (la prima cifra serve a questo, la seconda a questo, la terza a quest'altro. 1 corrisponde a ... ; 2 corrisponde a ... ; 3 corrisponde a...; etc...) oppure mi spiega come calcolano i codici numerici? Se non ho capito male il comando chmod 777 ad esempio è una somma dei 3 numeri sopra riportati che assegna a tutti gli utenti tutti i permessi su tutti i file nel primo livello della e chmod 677 invece assegna tutti i diritti a tutti gli utenti però lavora solo sulle del primo livello.
Quello che non capisco è come saltano fuori questi numeri???
Come faccio a cambiare in un colpo solo tutti i diritti a tutta la struttura di una directory, file e cartelle/sottocartelle fino all'ultimo livello???
Allora, quando fai un ls -l hai un output del genere:
codice:
-rw-r--r-- 1 thegood users 150 Feb 11 11:55 ciao
i permessi si leggono così:
Il primo "-" rappresenta il tipo di file. E' "-" per un file generale, "d" per una directory e "b" o "c" per file che puntano a periferiche (li trovi in /dev)
Il rimanente "rw-r--r--" Si divide in 3 gruppi:
"rw-" -> I permessi dell'utente proprietario del file (in questo caso "thegood")
"r--" -> I permessi degli utenti del gruppo proprietario del file (in questo caso "users")
"r--" -> I permessi per gli altri utenti
I permessi sono così divisi:
File:
"rwx" -> Read, Write, Execute.
Directory:
"rwx" -> Listing tramite ls, Scrittura/Eliminazione di file,Accesso alla directory
Se un permesso non è impostato su quel file si trova un segno "-" al posto della lettera.
Nel nostro caso, l'utente "thegood" può leggere e scrivere il file. Gli altri sono leggerlo.
In realtà questi permessi sono visti come bit., quindi del tipo
"100" -> "r--"; "110" -> "rw-"; "010" -> "-w-" E così via.
A chmod si passano 3 numeri, uno per ogni serie di permessi: utente-gruppo-altri.
quindi si ha, x esempio,
.
I numeri vengono poi convertiti in binario e applicati come permessi.
Ad esempio, 6 è 110 -> "rw-"; 4 è "100" -> "r--".
Per le caratteristiche del sistema binario, si può dire che:
"r" -> 4
"w" -> 2
"x" -> 1
Quando devi combinarli, li sommi. Così "r-x" diventa 4+1->5
Tutto quì. Si, sembra complicato, ma il concetto di base è semplicissimo. Il problema è che nn siamo abituati a contare in binario!