State cercando di capire quali sono i permessi corretti di WordPress per i file e le cartelle? Oppure siete un po’ confusi riguardo ai permessi di WordPress?

I permessi dei file di WordPress sono essenziali per la sicurezza e il funzionamento del vostro sito, quindi dovete comprenderli bene. Se avete un hosting WordPress, il vostro host ha quasi certamente già configurato i permessi per voi, ma è comunque utile capire questi concetti nel caso in cui vi imbattiate in qualche problema.

Quindi, se non avete mai sentito parlare dei permessi sui file o se state solo cercando i permessi corretti sui file di WordPress, allora leggete questo post. Se avete già familiarità con i permessi sui file, potete far clic sul secondo link per saltare direttamente ai permessi ottimali per i file di WordPress.

Cosa Sono i Permessi sui File?

In poche parole, i permessi sui file stabiliscono il modo in cui i diversi utenti possono interagire con i file sul server del vostro sito WordPress. Più specificamente, i permessi sui file controllano chi può leggere, scrivere ed eseguire i file:

  • Read: La capacità di leggere il contenuto di un file.
  • Write: La capacità di alterare un file.
  • Execute: La capacità di “usare” un file (per esempio eseguire uno script).

Quali Sono gli Utenti?

Ci sono tre diversi “tipi” di utenti:

  • Owner: è il proprietario assegnato del file o della directory.
  • Group: sono i membri del gruppo che possiede il file o directory.
  • Public: tutti gli utenti diversi dal proprietario del file o dai membri del gruppo.

Ogni file o cartella è di proprietà di un utente specifico o di un gruppo particolare. Ogni utente può essere membro di più gruppi, ma può avere un solo gruppo principale.

Ad esempio, quando vi connettete al vostro sito via SFTP, state utilizzando un account utente sul vostro server e quell’account utente appartiene a uno o più gruppi, a seconda della configurazione del server.

Nota: la maggior parte delle persone non ha bisogno di comprendere il concetto di “utenti” perché è il vostro host a occuparsi della configurazione. Tuttavia, comprendere gli utenti è essenziale per capire come funzionano i permessi sui file. Se vi sentite un po’ persi in questa sezione, sappiate che nella maggior parte dei casi il vostro host ha già configurato adeguatamente gli utenti per il vostro ambiente server.

Con i permessi sui file, potete controllare cosa ogni tipo di utente (proprietario, gruppo, pubblico) può fare con i file e le cartelle presenti sul vostro server (lettura, scrittura, esecuzione).

In generale, i proprietari dei file dovrebbero avere il maggior numero di permessi; gli utenti che appartengono allo stesso gruppo dovrebbero avere gli stessi permessi o meno; gli utenti pubblici dovrebbero avere gli stessi permessi o meno del gruppo:

Proprietario > Gruppo > Pubblico

L’idea dei permessi sui file è molto simile al sistema di ruoli e capacità di WordPress. Se siete gli amministratori del vostro sito, avete più controllo di un editor. Gli amministratori possono installare nuovi plugin, per esempio, ma un editor non può farlo.

Allo stesso modo, un editor ha molto più controllo di un visitatore anonimo del vostro sito, anche se l’editor non ha tanto potere quanto un amministratore. Ad esempio, un Editor può modificare i post del blog di altre persone e pubblicare nuovi post, ma un Editor non può installare nuovi plugin.

Cosa Significano i Numeri nei Permessi sui File?

I permessi dei file sono rappresentati da un numero di tre cifre chiamato permission mode (ad esempio 777, 440).

Ogni cifra del numero corrisponde a ciò che uno specifico utente può fare:

  • Prima cifra: controlla ciò che può fare un proprietario.
  • Seconda cifra: controlla cosa possono fare gli account utente nel gruppo dell’utente.
  • Terza cifra: controlla ciò che tutti gli altri possono fare (Pubblico).

Ogni cifra del permission mode è la somma dei numeri assegnati ad ogni azione:

  • Read: 4
  • Write: 2
  • Execute: 1

Se non volete concedere alcun permesso, utilizzate il numero 0.

Come già detto, il numero che vedete nel permission mode è la somma di tutti i permessi di un’entità. Ad esempio, se il proprietario può leggere (4) e scrivere (2), il permission mode è 6 (4+2).

Oppure, se un proprietario ha tutti e tre i permessi, il permission mode è 7 (4+2+1).

Quindi, 777 è la configurazione più permissiva. Ciò significa che:

  • Prima cifra – 7 – Il proprietario può leggere (4), scrivere (2) ed eseguire (1)
  • Seconda cifra – 7 – Il gruppo può leggere (4), scrivere (2) ed eseguire (1)
  • Terza cifra – 7 – Il pubblico può leggere (4), scrivere (2) ed eseguire (1)

Per questo motivo, non dovrete praticamente mai impostare alcun permesso a 777 sul vostro sito WordPress. Ne parleremo più avanti.

Se volete divertirvi un po’, potete utilizzare il chmod calculator per vedere come cambiano i numeri quando assegnate permessi diversi a utenti diversi.

Cosa Significano le Lettere nei Permessi sui File?

Anche se probabilmente incontrerete più spesso il formato numerico, a volte vedrete anche permessi sui file rappresentati da lettere e trattini.

Ad esempio:

rwxr--r--

Ecco come funziona questo formato:

  • r = Permessi di lettura
  • w = Permessi di scrittura
  • x = Permessi di esecuzione
  • (trattino) = Nessuna autorizzazione

Ci sono nove caratteri in totale: i primi tre si applicano al proprietario, i successivi tre si applicano al gruppo e gli ultimi tre si applicano al pubblico.

In questo formato, l’equivalente di 777 sarebbe rwxrwxrwx.

Perché i Permessi sui File di WordPress Sono Importanti?

Dato che i permessi sui file controllano ciò che i diversi utenti possono fare con i file presenti sul vostro server, giocano un ruolo critico nella sicurezza di WordPress.

Immaginate di impostare tutti i file e le cartelle del vostro sito su 777. Ciò significherebbe che chiunque può creare nuovi file, modificare i file esistenti, cancellare i file esistenti, eseguire script e altro. Si potrebbero aggiungere script dannosi per il vostro sito ed eseguirli, il che genererebbe rapidamente ogni tipo di problema. Sarebbe un incubo!

Tuttavia, i permessi sui file richiedono equilibrio e, se siete troppo restrittivi, il vostro sito smetterebbe anche di funzionare.

Ad esempio, se impostate i permessi a 000, il vostro sito WordPress smetterebbe di funzionare completamente perché non sarebbe nemmeno in grado di leggere nessuno dei file presenti sul vostro server.

Per questo motivo, i permessi ottimali sui file di WordPress saranno sempre compresi tra 000 (nessuno ha alcun permesso) e 777 (tutti hanno tutti i permessi).

I permessi sui file possono anche essere complicati, perché anche in situazioni più realistiche, si possono sempre incontrare dei problemi. Ad esempio, 444 è una configurazione molto sicura per il file .htaccess del vostro sito.

Ma, se lo impostate in questo modo, probabilmente incontrerete problemi con alcuni plugin che hanno bisogno di essere in grado di scrivere sul file .htaccess (ad esempio i plugin di caching come WP Rocket e W3 Total Cache).

Quindi, se utilizzate uno di quei plugin che hanno bisogno di accesso in scrittura, potreste aver bisogno di passare a un 644 o addirittura ad un leggermente più permissivo 666, a seconda di come è configurato il vostro server web.

Perché è Necessario Cambiare i Permessi sui File di WordPress?

La maggior parte di voi non ha bisogno di cambiare i permessi sui file manualmente.

Specialmente se avete installato WordPress utilizzando il programma di installazione automatica del vostro host, sappiate che ogni buon host dovrebbe impostare automaticamente i permessi ottimali sui file durante la configurazione. Se si utilizza il programma di installazione di WordPress di Kinsta, ad esempio, si può essere sicuri che stiamo impostando i permessi sui file corretti – questo fa parte del servizio di un host WordPress gestito.

Quindi, se utilizzate l’auto-installer del vostro host e il vostro sito WordPress funziona bene, probabilmente non avete bisogno di armeggiare con i permessi dei file.

Ma potrebbero presentarsi dei problemi se avete installato manualmente WordPress da soli. Potreste anche avere problemi con i permessi sui file durante l’installazione e l’utilizzo dei plugin, come nel nostro esempio dei plugin di caching della sezione precedente.

I Permessi sui File Giusti per WordPress

In questa sezione, parleremo dei permessi dei file corretti per WordPress. Poi, nel caso abbiate bisogno di una mano, vi mostreremo come cambiarli nella sezione successiva.

In primo luogo, è importante notare che i permessi ottimali sui file dipendono in parte da come è configurato il vostro ambiente di hosting. Ciò che è ottimale e sicuro per un ambiente non lo sarà necessariamente per altri ambienti; questo è vero soprattutto per l’hosting condiviso che utilizza suEXEC.

In generale, una buona regola è quella di iniziare con la configurazione meno permissiva e aggiungere i permessi solo se necessario a far funzionare le cose. Ad esempio, per quel che riguarda il file wp-config.php, vedrete valori che vanno da 400 a 644. Se non siete sicuri da dove cominciare, potete iniziare con 400, purché ricordiate che questa configurazione potrebbe causare problemi con la configurazione del vostro server e potrebbe essere necessario renderla più permissiva.

E non dovreste mai impostare i permessi a 777 per nessun file o cartella (a meno che non siate esperti e abbiate un’ottima ragione per farlo).

Permessi Predefiniti per la Maggior Parte dei File/Cartelle di WordPress

In generale, i permessi sui file corretti per WordPress dovrebbero essere i seguenti:

  • File: 644
  • Cartelle: 755

Ma ci sono alcune eccezioni specifiche:

  • File wp-config.php
  • File .htaccess
  • File nginx.conf

Permessi su wp-config.php

Il file wp-config.php del vostro sito è un file particolarmente importante in quanto contiene le credenziali del database del vostro sito e un sacco di altre informazioni importanti.

Un buon punto di partenza per il file wp-config.php è 644, che è il valore che usiamo qui da Kinsta. Ma troverete molti altri consigli, compresi 640 e 600. Per renderlo più sicuro, molti utilizzano anche 444.

Ma se utilizzate il 444, potresti avere problemi, perché molti plugin di WordPress si basano sull’accesso in scrittura al file wp-config.php.

Permessi su .htaccess

Il file .htaccess del vostro sito è un altro importantissimo file di configurazione e merita particolare attenzione.

Un buon punto di partenza per i permessi su .htaccess è 644, che è il valore raccomandato dal Codex di WordPress. Alcuni sviluppatori consigliano anche 444. Tuttavia, se utilizzate 444, potreste limitare i plugin che hanno bisogno di scrivere sul file .htaccess (come la maggior parte dei plugin di caching).

Nota: Se siete su Kinsta, non avrete un file .htaccess perché utilizziamo il webserver Nginx per migliorare le prestazioni. I file .htaccess sono esclusivi dei webserver Apache.

Non dovete preoccuparvi dei permessi su .htaccess se il vostro host è Kinsta perché non c’è nessun file .htaccess.

Permessi su nginx.conf

Le stesse autorizzazioni del file .htaccess si applicano anche a nginx.conf, che è il file di configurazione principale se il vostro host utilizza un webserver Nginx (come Kinsta).

Qui da Kinsta, utilizziamo 644 per il file nginx.conf. Alcuni sviluppatori consigliano anche 444.

Come Verificare Rapidamente i Permessi sui File di WordPress

Se volete un modo veloce e non tecnico per verificare i permessi sui file del vostro sito e scoprire se avete qualche problema, potete utilizzare il plugin gratuito iThemes Security, disponibile su WordPress.org.

Potete anche accedere via FTP o cPanel File Manager, che vi mostreremo nella prossima sezione. Prima vediamo come utilizzare questo plugin per rilevare rapidamente possibili problemi.

Una volta attivato il plugin, andate su Security → Settings e fate clic sul pulsante Show Details sotto File Permissions:

Posizione dello strumento per i permessi dei file in WordPress
Posizione dello strumento per i permessi dei file in WordPress

Qui troverete i vostri attuali permessi sui file di WordPress e vedrete se sono diversi dai permessi sui file raccomandati da iThemes Security. iThemes raccomanda 444 per il file wp-config.php e il file nginx.conf o .htaccess (Kinsta utilizza Nginx, ecco perché vedete nginx.conf, ma vedresti .htaccess se il vostro host usa Apache).

Ricordate, però, che il 444 causerà conflitti con alcuni plugin, quindi forse sarebbe meglio evitarlo.

Una funzione di iThemes Security in WordPress che confronta i permessi dei file esistenti con le impostazioni dei permessi suggerite
Una funzione di iThemes Security in WordPress che confronta i permessi dei file esistenti con le impostazioni dei permessi suggerite

Se non pensate di continuare a usare il plugin dopo il setup, consigliamo di cancellarlo.

Come Modificare i Permessi sui File di WordPress

Parliamo ora di come cambiare i permessi sui file del vostro sito WordPress, se necessario. Ci sono diversi metodi – ve ne mostreremo tre:

  • FTP
  • Gestore di file di cPanel
  • SSH/Terminale

FTP/SFTP

Se sapete come usare FTP/SFTP per connettervi al vostro server, qualsiasi buon client FTP dovrebbe permettervi di cambiare rapidamente i permessi sui file.

Vi mostreremo come funziona con FileZilla, un popolare client gratuito e open source.

Una volta che vi siete collegati al vostro server via SFTP, cliccate con il tasto destro sul file o sulla cartella che volete modificare e scegliete File permissions:

Come cambiare i permessi sui file via FTP in FileZilla
Come cambiare i permessi sui file via FTP in FileZilla

Potrete utilizzare le caselle di controllo o inserire direttamente il numero:

Come inserire nuovi permessi sui file con FileZilla
Come inserire nuovi permessi sui file con FileZilla

Gestore di File di cPanel

Se il vostro host vi mette a disposizione cPanel, potete utilizzare il File Manager per modificare i permessi sui file di WordPress.

Nel File Manager di cPanel, fate clic con il tasto destro sul file o sulla cartella che volete modificare e scegliete Change Permissions:

Come cambiare i permessi sui file utilizzando il File Manager di cPanel
Come cambiare i permessi sui file utilizzando il File Manager di cPanel

Quindi spuntate le caselle pertinenti per assegnare i permessi. Facendolo, vedrete i totali cambiare in basso:

Come inserire nuovi permessi sui file usando il cPanel
Come inserire nuovi permessi sui file usando il cPanel

Impostate i permessi corretti e siete pronti!

Linea di Comando

Se lavorate agevolmente dalla linea di comando, potete anche cambiare i permessi dei file del vostro sito utilizzando chmod. A noi piace utilizzare questo calcolatore chmod per ottenere rapidamente i permessi corretti.

Riepilogo

I permessi sui file di WordPress sono una parte essenziale della creazione di un sito sicuro e ben funzionante. Ma non c’è bisogno di preoccuparsi molto dei permessi dei file perché la maggior parte degli host configura tutto correttamente se offre uno strumento di auto-installazione. È così anche per Kinsta.

Ma, se state installando manualmente WordPress, o se qualcosa ha incasinato i permessi originali sui file del vostro sito, potrebbe essere necessario modificare i permessi sui file del vostro sito.

In generale, i permessi sulla directory di WordPress dovrebbero essere 755, e i permessi sui file di WordPress dovrebbero essere 644. Alcune eccezioni importanti sono il file wp-config.php del vostro sito e il file .htaccess o nginx.conf del vostro server, che dovreste rendere leggermente meno permissivi.

E assicuratevi di non impostare mai i permessi sui file a 777 su un sito live (anche se sapete cosa state facendo). Aprireste il vostro sito e il vostro server a enormi vulnerabilità di sicurezza.

Avete qualche domanda a proposito dei permessi sui file di WordPress? Scrivetele nei commenti!

Salman Ravoof

Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.