Base di conoscenze

1 000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!

Comprendere CHMOD (permessi dei file sul server)

Aggiornamento 07/08/2026

Questa guida illustra CHMOD (abbreviazione di change mode), che consente di modificare i permessi di accesso di un file o di una directory.

 

Modificare i permessi FTP

I permessi (per maggiori informazioni, consulta questa guida di Wikipedia) disponibili per ogni utente/gruppo sono i seguenti:

  • lettura: consente di elencare (richiede anche il permesso di esecuzione) e leggere i file in una directory e/o di leggere un file.
  • scrittura: consente di creare, modificare, rinominare ed eliminare file e/o directory
  • esecuzione: per una directory: consente di accedervi per leggere le sue sottodirectory; per un file: consente di eseguirlo, ad esempio se si tratta di un programma o di uno script.
  • set uid (?): per un file con permessi di esecuzione, questo avrà l'effetto di eseguirlo con i permessi del proprietario, se viene utilizzata la chiamata di sistema execve o setuid.
  • set gid (?): tutti i nuovi file creati apparterranno al gruppo della directory e, per un file con permessi di esecuzione, questo avrà l'effetto di eseguirlo con i permessi del gruppo.
  • bit appiccicoso (?): su una directory, i file al suo interno potranno essere rinominati o eliminati solo dal proprietario, anche se gli altri utenti hanno il diritto di scrittura. Questo diritto non è particolarmente utile per i file.

Il Web FTP nel pannello di controllo consente di modificare i permessi dei file (incluso quello di /web).

La maggior parte dei software/client FTP consente di modificare i permessi di accesso ai file; questa funzione si chiama generalmente "CHMOD" e si trova in "Proprietà", "Permessi" o "Attributi" (di solito facendo clic con il tasto destro sul file o sulla cartella da modificare). Spesso è presente una casella che consente di applicare i permessi a tutte le sottocartelle e i file all'interno della cartella, in modalità ricorsiva.

Dopo aver selezionato i permessi desiderati, confermare e i diritti verranno modificati, ad eccezione di quelli per cui non si dispone dell'autorizzazione o, più precisamente, per cui l'utente con cui si è effettuato l'accesso non dispone dell'autorizzazione.

Esempio con Filezilla:

 

Approfondimenti

Quando si parla di modificare le autorizzazioni, in genere si intende eseguire un comando del tipo "chmod 777", "chmod 666" o simile. Si tratta quindi di tre cifre che:

  • il primo corrisponde ai diritti del proprietario
  • il secondo corrisponde ai diritti del gruppo
  • la terza cifra corrisponde ai diritti degli altri utenti.

I diritti sono così suddivisi:

  • "4" per il diritto di lettura (read)
  • "2" per il diritto di scrittura (write)
  • "1" per il diritto di esecuzione

È sufficiente sommare questi numeri. Ad esempio, se si desidera concedere tutti i diritti al proprietario ma nessun diritto agli altri, si utilizzerà "chmod 700" (4 + 2 + 1 = 7). Se si desidera concedere solo i diritti di lettura e scrittura a tutti (4 + 2 = 6), si utilizzerà "chmod 666".

Questi valori sono noti a tutti i programmi/client FTP, quindi sarà possibile inserire direttamente il numero nel programma/client FTP per modificare le autorizzazioni.

Per modificare le autorizzazioni di file o directory in PHP, è anche possibile utilizzare la funzione “chmod”, come nell'esempio seguente:

chmod ("/a_folder/a_file", 0755)

Si noti che il valore da applicare deve essere in formato ottale, da cui lo zero iniziale obbligatorio. Prestate attenzione: se memorizzate il valore in una variabile, potreste riscontrare un problema di tipo di dati, che potete risolvere utilizzando la funzione octdec(), come nell'esempio seguente:

$mode = 0755;chmod("a_folder/a_file", octdec($mode))

Questa FAQ è stata utile?