Sobes.tech
Junior

Come modificare i permessi di accesso a un file?

sobes.tech AI

Risposta dell'AI

Nei sistemi Linux/Unix, ci sono tre tipi di permessi: lettura (read), scrittura (write) ed esecuzione (execute), così come tre categorie di utenti: proprietario del file (owner), gruppo (group) e altri (others).

I permessi possono essere modificati usando il comando chmod.

1. Metodo numerico:

# r=4, w=2, x=1
# Ogni cifra corrisponde alla somma dei permessi per il proprietario, il gruppo e gli altri rispettivamente
# Ad esempio: 777 (rwx per tutti), 755 (rwx per il proprietario, rx per il gruppo e gli altri)
chmod 755 nome_file

2. Metodo simbolico:

# u (owner), g (group), o (others), a (tutti - ugo)
# +, - (aggiungi/rimuovi permesso), = (imposta permessi specifici)
# r (read), w (write), x (execute)
chmod u+x nome_file         # Aggiungi permesso di esecuzione al proprietario
chmod g-o-w nome_file      # Rimuovi permesso di scrittura per il gruppo e gli altri
chmod a=rw- nome_file       # Imposta permessi di lettura e scrittura per tutti, rimuovendo x

Esempi:

  • Rendere un file eseguibile solo per il proprietario:
    chmod u+x nome_file
    
  • Impostare permessi di lettura e scrittura per il proprietario, lettura per il gruppo e gli altri:
    chmod 644 nome_file
    

Opzioni aggiuntive:

  • -R: modifica ricorsiva dei permessi (per directory e contenuto).
    chmod -R 755 nome_directory
    

I permessi di accesso possono essere visualizzati con il comando ls -l.

# Esempio di output di ls -l
# -rwxr-xr-x 1 user group 1024 11 Nov 10:00 nome_file

Dove:

  • Il primo carattere - indica che si tratta di un file. d indica una directory.
  • I successivi tre caratteri (rwx) sono i permessi per il proprietario.
  • I successivi tre caratteri (r-x) sono i permessi per il gruppo.
  • Gli ultimi tre caratteri (r-x) sono i permessi per gli altri.