lpic/101/0026_proprietá_permessi_file.md

3.1 KiB

Introduzione ai permessi

Ogni file su disco é di proprietá di un utente e di un gruppo di utenti e dispone di tre tipi di autorizzazioni:

  • per il proprietario
  • per il gruppo che possiede il file
  • per gli altri
 > ls -l
total 0
drwxrwxr-x 1 dado dado    0 Jan  5 15:49 Desktop
drwxr-xr-x 1 dado dado   12 Jan  3 22:18 Videos
  • Il primo carattere, d, indica il tipo di file
  • I successivi tre, rwx, i permessi per il proprietario del file (user)
  • I successivi tre, rwx, i permessi per il gruppo che possiede il file (group)
  • Gli ultimi tre, r-x, indicano i permessi per gli altri (others)
  • La seconda colonna, 1, indica il numero di hard link che puntano a quel file
  • La 5a colonna mostra la dimensione del file
  • La 6a la data e l'ora dell'ultima modifica del file

Tipi di file

  • -: normal file
  • d: directory
  • l: symbolic link
  • b: block device
  • c: le porte seriali sono esempi comuni di dispositivi a caratteri
  • s: i socket servono come tramite per il passaggio di informazioni tra due programmi

Permessi sui file

  • r: read, ha un valore ottale di 4. Indica il permesso di aprire un file e leggerne il contenuto
  • w: write, ha un valore ottale di 2. Indica il permesso di modificare un file
  • x: execute, con un valore ottale di 1. Permesso di esecuzione del file

Permessi sulle directory

  • r: read, ha un valore ottale di 4. Indica il permesso di leggere il contenuto della directory, ma non implica il permesso di leggere i file stessi
  • w: write, ha un valore ottale di 2. Indica il permesso di creare o eliminare file in una directory o modificarne i nomi, permessi e proprietari. Se un utente ha il permesso di scrittura su una directory, potrá modificare i permessi di qualsiasi file (contenuto) nella directory, anche se appartiene ad un altro utente
  • x: execute, con un valore ottale di 1. Indica il permesso di entrare in una directory, ma non di elencarne il contenuto (necessaria l'autorizzazione r).

Modificare i permessi sui file

Si utilizza il comando chmod. Solo il proprietario di un file o l'utente root possono modificare i permessi di un file. É possibile cambiare i permessi con due modalitá:

  • simbolica
  • ottale

Quando viene eseguito su una directory, vengono modificati solo i permessi di quella specifica directory. Per la modalitá ricorsiva, aggiungere -R.

Modalitá simbolica

chmod u[,g,o]+x file
chmod u-r file
chmod u=rwx file
chmod o=rw- file
chmod u+x,g,o+r file

dove:

  • u: user
  • g: group
  • o: others
  • +: concedere un permesso
  • -: revocare un permesso
  • =: impostare un set di permessi specifico
  • r o w o x: autorizzazione

Modalitá ottale

I permessi sono specificati come valore a tre cifre su notazione ottale. Sono specificati nel seguente ordine: r(4)w(2)x(1). Se non ci sono permessi, si usa il valore 0. Quindi il permesso rwx sarebbe 4+2+1=7. La prima lettera indica l'utente, la seconda il gruppo e la terza tutti gli altri.

Modificare la proprietá di un file

Si usa il comando chown:

chown USER:GROUP file