martedì 12 dicembre 2017
Home / Software / Permessi Linux – Questi sconosciuti!

Permessi Linux – Questi sconosciuti!

Stasera vi proponiamo, in maniera il più semplice possibile, un argomento che è particolarmente ostico: i permessi Linux!

Personalmente, mi ha fatto rinunciare ad usare Linux almeno 3 volte prima di intestardirmi e capirli!

Prima di iniziare facciamo una piccola digressione. Negli ambienti unix-like oltre agli utenti esistono anche i gruppi. Ogni gruppo contiene alcuni utenti. Inoltre esiste l’utente root che viene definito come il superutente: può eseguire qualsiasi comando e modificare qualsiasi file, ma si cerca di usarlo il meno possibile, per questioni di sicurezza ovviamente.

In Linux i file hanno degli attributi chiamati permessi, che specificano come possono essere usati dagli utenti. Inoltre i file sono di proprietà di un utente e di un gruppo. Per avere tutte queste informazioni usiamo il comando “ls -l“, che ci fornirà tutte le informazioni sui file presenti nella corrente directory.

Screenshot_2015-04-19_21-49-22

 

Qui vedete il comando eseguito nel mio desktop. Ora analizziamo il risultato.

Come vedete, oltre all’elenco dei file, per ogni file vengono visualizzati i permessi (la prima stringa, es. drwxr-xr-x), l’utente proprietario, il gruppo proprietario, la dimensione in byte e l’ultima modifica. Quello che ci interessa al momento sono le prime tre informazioni.

Abbiamo già detto che un file è di un utente e di un gruppo. Su questa logica si basa la cosidetta “terna di permessi“.

access1

 

Il primo carattere della stringa non riguarda i permessi, ma indica solo se il file è una directory (cartella) (“d”), un link simbolico a un altro file (“l”) o un file standard (“-“).

Poi abbiamo i permessi del utente proprietario, che possono essere lettura e/o scrittura e/o esecuzione. Per esempio “r-x” indica che il file può essere letto ed eseguito, “rw-” che può essere letto e scritto, e così via.

Stessa cosa si aplica alla seconda terna, relativa però agli utenti del gruppo proprietario, mentre la terza terna indica i permessi per tutti gli altri utenti.

Una volta chiarita questa cosa passiamo alla seconda fase: gestione dei permessi. A questo fine i sistemi unix-like ci mettono a disposizione due potentissimi strumenti, chown e chmod.

chown (“change owner”) serve a modificare i proprietari di un file, chmod (“change mode”) invece ci permette di modificare i permessi.

chown

cambia il proprietario del file “file”:

$ sudo chown utente:gruppo file                           # es.:   chown bob:bob miaFoto.jpg

cambia il proprietario della cartella “directory” e di tutti i file e cartelle all’interno:

$ sudo chown -R utente:gruppo directory # es.: chown -R bob:bob miaCartella

Notiamo il comando sudo, che serve per eseguire il comando come superutente e serve solo quando vogliamo “appropriarci” di file di altri utenti.

chmod

cambia i permessi di un file:

$ sudo chmod xxx file

cambia i permessi di una cartella e di tutte cartelle e file all’interno

$ sudo chmod -R xxx directory

Al posto delle “xxx” dobbiamo mettere la nuova terna di permessi da applicare al file/directory. Sfortunatamente non possiamo eseguire “chown rwxrwxrwx mioFile” ma dobbiamo usare una notazione particolare decimale (numeri) per applicare i permessi.

Partiamo da questo presupposto: r (leggi) vale 4, w (scrivi) vale 2, x (esegui) vale 1. Per ottenere il valore del permesso sommiamo il valore dei permessi che vogliamo applicare. Questo va fatto per ogni elemento della terna (utente, gruppo, altri).

Per esempio se vogliamo read+write sommiamo 4+2 e quindi il valore  6 rappresenta la combinazione. Tornando invece all’esempio del mio desktop, se vogliamo applicare a un nuovo file “myFile” gli stessi permessi che ha attualmente immagine.jpg dovremmo lanciare il comando

sudo chmod 640 myFile

Utente  = 6 ( read+write, 4+2)
Gruppo = 4 (read, 4)
Altri       = 0 (nesun permesso)

 

Spero che questa breve guida sia stata abbastanza completa e comprensibile, sopratutto per gli utenti alle prime armi, e gli invogli a conoscere meglio il sistema operativo Linux e a non scoraggiarsi.

Come dice sempre un amico, “una volta che capisci i permessi, capisci il 50% di Linux

 

Buon chmod a tutti 🙂

 

A proposito di Bob

Bob

Studente, maker, programmatore, RPi lover

Vedi Anche

MagPi in Italiano! – Numero 63: costruisci una ARCADE MACHINE

Ricordate i giochi arcade? I coin-op? I videogiochi “da bar”? Comunque li chiamavate, per più …

Powered by themekiller.com