Vai al contenuto

Permessi

Per impostare i permessi per file e cartelle su ArchLinux, è possibile utilizzare il comando chmod.

La sintassi generale per utilizzare il comando chmod è la seguente:

chmod [permessi] [file/cartella]

I permessi possono essere specificati in formato numerico o simbolico.

Permessi numerici

I permessi numerici rappresentano i permessi di lettura, scrittura ed esecuzione per l'utente proprietario, il gruppo proprietario e gli altri utenti.

Ogni permesso è rappresentato da un numero: 4 per la lettura, 2 per la scrittura e 1 per l'esecuzione. La somma dei numeri corrispondenti ai permessi desiderati deve essere specificata per ogni categoria di utenti.

  • 4 = permesso di lettura
  • 2 = permesso di scrittura
  • 1 = permesso di esecuzione

Ad esempio, per concedere tutti i permessi (lettura, scrittura ed esecuzione) a tutti gli utenti, è possibile utilizzare il seguente comando:

chmod 777 [file/cartella]

Permessi simbolici

I permessi simbolici rappresentano i permessi di lettura, scrittura ed esecuzione per l'utente proprietario, il gruppo proprietario e gli altri utenti, utilizzando i simboli r, w e x per rappresentare i permessi e le parole chiave u, g e o per rappresentare rispettivamente l'utente proprietario, il gruppo proprietario e gli altri utenti.

  • r = permesso di lettura
  • w = permesso di scrittura
  • x = permesso di esecuzione

Ad esempio, per concedere tutti i permessi (lettura, scrittura ed esecuzione) a tutti gli utenti, è possibile utilizzare il seguente comando:

chmod ugo+rwx [file/cartella]

Impostazioni di base

  • u indica i permessi dell'utente proprietario del file o della cartella
  • g indica i permessi del gruppo proprietario del file o della cartella
  • o indica i permessi di tutti gli altri utenti
  • a indica tutti gli utenti

Impostazione dei permessi

  • + aggiunge i permessi specificati
  • - rimuove i permessi specificati
  • = imposta i permessi specificati (sostituisce qualsiasi permesso precedente)

Ad esempio, per concedere il permesso di lettura, scrittura ed esecuzione all'utente proprietario, il permesso di lettura al gruppo proprietario e il permesso di esecuzione ad altri utenti, è possibile utilizzare il seguente comando:

chmod u=rwx,g=r,o=x [file/cartella]

Impostazione ricorsiva dei permessi

Per impostare i permessi in modo ricorsivo per una directory e il suo contenuto, è possibile utilizzare il flag -R.

Ad esempio, per concedere tutti i permessi (lettura, scrittura ed esecuzione) alla directory documenti e al suo contenuto, è possibile utilizzare il seguente comando:

chmod -R 777 documenti/

Suggeriamo di utilizzare con attenzione questo flag, perché i permessi impostati potrebbero avere effetti indesiderati su file e cartelle che non si desidera modificare.

Esempi pratici

  1. Concedere il permesso di lettura e scrittura all'utente proprietario del file documento.txt
chmod u+rw documento.txt 
  1. Concedere il permesso di esecuzione a tutti gli utenti per la cartella progetto1
chmod a+x progetto1/
  1. Concedere il permesso di lettura al gruppo proprietario per la cartella progetto2 e il suo contenuto
chmod -R g+r progetto2/ 
  1. Concedere tutti i permessi alla directory documenti e al suo contenuto
chmod -R 777 documenti/ 

I permessi numerici in chmod consentono di impostare i permessi di lettura, scrittura ed esecuzione utilizzando una notazione numerica.

I permessi numerici sono rappresentati da un numero composto da tre cifre, dove ogni cifra indica i permessi di lettura, scrittura ed esecuzione per il proprietario (prima cifra), il gruppo (seconda cifra) ed altri utenti (terza cifra), rispettivamente.

Ciascuna cifra è un numero composto da tre bit dove il valore di ciascun bit rappresenta un permesso possibile. I bit sono moltiplicati per un valore specifico che si riferisce a ogni permesso.

I valori dei bit sono i seguenti:

  • 4: lettura (r)
  • 2: scrittura (w)
  • 1: esecuzione (x)

Ad esempio, il numero 755 corrisponde a un proprietario con tutti i permessi (rwx), gruppo con permessi di lettura ed esecuzione (r-x) e altri utenti con permessi di lettura ed esecuzione (r-x)

Qui di seguito vengono descritti i comandi chmod numerici:

  • 0 (000): nessun permesso
  • 1 (001): permesso di esecuzione
  • 2 (010): permesso di scrittura
  • 3 (011): permesso di scrittura ed esecuzione
  • 4 (100): permesso di lettura
  • 5 (101): permesso di lettura ed esecuzione
  • 6 (110): permesso di lettura e scrittura
  • 7 (111): permesso di lettura, scrittura ed esecuzione

Ecco alcuni esempi di come utilizzare la notazione numerica con chmod:

  • Per impostare i permessi di un file a proprietario (lettura/scrittura), gruppo (lettura) ed altri utenti (esecuzione):
chmod 754 file.txt
  • Per concedere tutti i permessi (lettura, scrittura ed esecuzione) a tutti gli utenti:
chmod 777 file.txt
  • Per concedere permessi di sola lettura a tutti (proprietario, gruppo e altri utenti):
chmod 444 file.txt

È importante notare che la notazione numerica sovrascrive tutti i permessi precedenti del file o della cartella. Inoltre, se usata con l'opzione -R, modificherà i permessi anche a tutti i file e le cartelle all'interno della cartella specificata.


Ultimo aggiornamento: August 16, 2023
Creata: August 16, 2023