Attributi e Permessi di File in Linux

In Linux tutti i file e le directory hanno un proprietario e dei permessi di accesso che possono essere modificati sia a livello di gruppo che di utente.

chgrp [-R] gruppo files – consente di cambiare il gruppo di uno o più file e l’opzione -R serve per la ricorsione. Ammettiamo di dover cambiare il proprietario della directory, delle sue sotto-directory e dei files contenuti in /home/pippo con il gruppo pippo, daremo questo comando: chgrp -R pippo /home/pippo

chown [-R] [utente][.][gruppo] files – consente di cambiare l’utente proprietario di uno o più file e l’opzione -R serve per la ricorsione. Ammettiamo di dover cambiare il proprietario della directory, delle sue sotto-directory e dei file contenuti in /home/pippo con l’utente pippo, daremo questo comando: chown -R pippo /home/pippo

Oltre ai proprietari che possono operare sui file occorre decidere cosa possono fare il gruppo e tutti gli altri, per questo abbiamo il comando chmod. In Linux un file può avere questi tipi di accesso: lettura, scrittura ed esecuzione. Con il comando chmod possiamo facilmente impostare un file in scrittura.

chmod [-R] modo files – consente di cambiare i permessi di accesso ai file, l’opzione -R serve per la ricorsione. Se dobbiamo ad esempio permettere l’esecuzione del file pippo dobbiamo dare il comando chmod +x pippo.

w ( write ) per la scrittura
r ( read ) per la lettura
x ( execute ) per l’esecuzione

Possiamo usare il + per aggiungere l’attributo o il – per toglierlo.

chmod +w pippo – con questo comando permettiamo la scrittura del file.
chmod -w+x pippo – con questo comando non permettiamo la scrittura del file, ma solo l’esecuzione.

Possiamo modificare poi solo i permessi del proprietario o anche del gruppo.

u ( user ) per modificare l’attributo del proprietario.
g ( group ) per modificare l’attributo del gruppo.

chmod g+w pippo – per fare in modo che il gruppo possa modificare il file.

Un diverso modo di modificare i permessi dei file è tramite dei valori ottali, gestione molto più complicata, ma certamente più potente e veloce, facciamo un elenco dei valori che modificano i permessi:

  • 4000 – ID utente in esecuzione.
  • 2000 – ID gruppo in esecuzione.
  • 1000 – Per le directory, solo il proprietario può creare o cancellare il file.
  • 400   – Lettura proprietario.
  • 200   – Scrittura proprietario.
  • 100   – Esecuzione proprietario.
  • 40     – Lettura gruppo.
  • 20     – Scrittura gruppo.
  • 10     – Esecuzione gruppo.
  • 4       – Lettura altri.
  • 2       – Scrittura altri.
  • 1       – Esecuzione altri.

Facciamo alcuni esempi:
Con  il comando chmod 755 pippo il file è rwx per il proprietario, rx per il gruppo e gli altri.
Con il comando chmod 664 pippo il file è rw per il proprietario ed il gruppo, r per gli altri.
Con il comando chmod 644 pippo il file è rw per il proprietario, r per il gruppo e gli altri.

Per vedere gli attributi dei file occorre dare il comando ls -l e per questo consiglio di inserire un alias dir di questo comando, se ovviamente la vostra distribuzione non lo ha già inserito.

Se volete potete chiedere spiegazioni sui concetti che non avete compreso nel nostro forum dedicato a Linux.

Pubblicato
Etichettato come Linux

Di Giampaolo Rossi

Sviluppatore software da oltre 16 anni.