Skip to content

Tutto per WordPress, lo sviluppo web — e non solo

🔐 Permessi corretti per file e cartelle di WordPress: una guida completa a 755 e 644

🔐 Permessi corretti per file e cartelle di WordPress: una guida completa a 755 e 644

Hai spostato il sito su un hosting e i plugin hanno smesso di installarsi. Oppure i file media non vengono caricati tramite il pannello di amministrazione. O un aggiornamento del core fallisce con "Could not create directory". Ti suona familiare?

La causa è quasi sempre la stessa: permessi di file e cartelle errati. Un server locale (OpenServer, MAMP) gira con l'utente corrente di Windows/macOS e perdona tutto. Un hosting Linux di produzione no. Ogni file e directory ha un proprietario e tre livelli di permessi, e se il server web non può scrivere nella cartella richiesta, il sito si rompe in silenzio o con un errore criptico.

Qui sotto trovi cosa significano realmente 755 e 644, come impostarli una volta sola tramite FileZilla per l'intero sito e quali file richiedono un trattamento speciale.

💡 Panoramica rapida:

  • Cosa significano i numeri 755 e 644 e perché 777 è una falla di sicurezza
  • Come impostare i permessi in massa con FileZilla in 2 passate: prima le cartelle, poi i file
  • Quali permessi richiedono wp-config.php, .htaccess e la cartella wp-content
  • Come fare la stessa cosa via SSH con un solo comando in 5 secondi

Cosa significano i permessi e perché 777 è un disastro

Ogni file e cartella su un server Linux memorizza tre set di permessi: per il proprietario, per il gruppo e per tutti gli altri. Il numero è una somma di bit: 4 (lettura) + 2 (scrittura) + 1 (esecuzione, che per le cartelle significa potervi accedere).

755 per le cartelle si scompone così: il proprietario può fare tutto (7), il gruppo e gli altri possono leggere e accedere (5). La cartella è accessibile al server web per la scansione e la creazione di file e sottocartelle al suo interno, ma nessun estraneo può eliminarla o rinominarla.

644 per i file: il proprietario può leggere e scrivere (6), gli altri possono solo leggere (4). I file PHP sono eseguiti dall'interprete, non dal sistema, quindi non hanno bisogno del bit di esecuzione.

777 (proprietario+gruppo+altri = tutto) è una porta aperta. Qualsiasi processo sul server, inclusi script di siti vicini su hosting condiviso, può leggere, modificare ed eliminare i tuoi file. Secondo i dati WPScan del 2025, i permessi errati sono tra i primi cinque vettori di attacco WordPress più comuni su hosting condiviso. Non impostare mai 777. Se un plugin o un tema richiede tali permessi, è un campanello d'allarme.

Quali permessi WordPress considera corretti

La documentazione ufficiale di WordPress definisce i permessi raccomandati come segue:

Risorsa

Permessi

Perché

Cartelle (tutti i livelli di annidamento)

755

Il server web deve accedere e creare file al loro interno

File.php,.js,.css e file media

644

Leggibili da tutti, scrivibili solo dal proprietario

wp-config.php

600 o 440

Contiene le password del database, leggibile solo dal proprietario

.htaccess

644

Letto da Apache ma non dovrebbe essere accessibile esternamente

Sulla maggior parte degli host, il proprietario del filesystem corrisponde all'utente con cui gira PHP (configurazione suPHP/FastCGI + suEXEC). In questo setup, i permessi 755/644 sono sufficienti: WordPress può scrivere in wp-content/uploads, aggiornare il core e i plugin e installare temi senza dover elevare a 777.

Verifica se questo vale per il tuo host: vai nel pannello di amministrazione e prova a installare un qualsiasi plugin gratuito. Se si installa senza chiedere credenziali FTP, lo schema 755/644 funziona e i permessi sono già corretti.

Come impostare i permessi tramite FileZilla: passo dopo passo

FileZilla è un client FTP gratuito che può modificare i permessi in modo ricorsivo e in massa. Scaricalo dal sito ufficiale se non lo hai già fatto.

Passo 1: connettiti e naviga fino alla root di WordPress

Connettiti al tuo hosting via FTP (login/password sono gli stessi del tuo account hosting, porta 21). Nel pannello di destra, naviga fino alla cartella root del sito, dove si trovano wp-config.php, wp-content, wp-admin e wp-includes.

Passo 2: imposta 755 su tutte le cartelle

Seleziona tutti i file e le cartelle nella root (Ctrl+A). Tasto destro → "Permessi file".

Menu contestuale di FileZilla che mostra l'opzione dei permessi dei file

Nella finestra che si apre, inserisci 755 nel campo "Valore numerico". Spunta la casella "Ricorsione nelle sottodirectory". Imposta il pulsante di opzione su "Applica solo alle directory". Clicca OK.

Finestra dei permessi di FileZilla che mostra 755 per tutte le directory ricorsivamente

FileZilla esaminerà ogni cartella e sottocartella del sito e imposterà 755. Il processo richiede da pochi secondi a un paio di minuti a seconda della dimensione del sito.

Passo 3: imposta 644 su tutti i file

Seleziona di nuovo tutto nella root (Ctrl+A), di nuovo tasto destro → "Permessi file".

Ora inserisci 644. Spunta "Ricorsione nelle sottodirectory". Imposta il pulsante di opzione su "Applica solo ai file". OK.

Finestra dei permessi di FileZilla che mostra 644 per tutti i file ricorsivamente

Fatto. Due passate (cartelle e file) e l'intero sito è riportato allo standard.

Metodo rapido via SSH: il comando find

Se hai accesso SSH al server, la stessa operazione richiede due comandi e cinque secondi:

1find /path/to/wordpress -type d -exec chmod 755 {} \;
2find /path/to/wordpress -type f -exec chmod 644 {} \;

Il primo esamina tutte le cartelle (-type d) e imposta 755. Il secondo esamina tutti i file (-type f) e imposta 644. Sostituisci /path/to/wordpress con il percorso reale della root del tuo sito (di solito /home/username/public_html).

Dopodiché, restringi separatamente wp-config.php:

1chmod 600 /path/to/wordpress/wp-config.php

E .htaccess, se ne hai uno (server Apache):

1chmod 644 /path/to/wordpress/.htaccess

Se il tuo sito gira su Nginx, non c'è il file .htaccess, quindi salta questo passaggio.

Cosa fare se i permessi vengono resettati

Situazione: hai impostato 755/644, tutto funzionava e una settimana dopo ricevi lo stesso errore. La causa è di solito un processo che gira con un utente diverso.

Colpevoli tipici:

  • Cron job dell'hosting. Alcuni host eseguono script di manutenzione come root e creano file con permessi che il server web non può poi sovrascrivere. Soluzione: chiedi al supporto di configurare il cron per essere eseguito con il tuo utente.
  • Plugin di backup di terze parti. Scrive dump e archivi in wp-content con l'utente con cui viene eseguito. Controlla i log del plugin. Se crea file con un utente diverso dal proprietario del sito, passa a un'alternativa.
  • Plugin di caching. Crea cartelle di cache con permessi errati. Vai nelle impostazioni del plugin e trova il pulsante "Svuota cache" o "Resetta permessi".

Soluzione rapida universale: ripeti la procedura della sezione precedente (FileZilla in 2 passate o due comandi find). Questo non risolverà la causa principale ma riporterà il sito in condizioni di funzionamento.

⁉️🤔 Domande frequenti

Cosa succede se il sito va in "schermata bianca della morte" dopo aver cambiato i permessi?

Una schermata bianca (WSOD) dopo modifiche massive dei permessi è estremamente rara ma possibile. Primo: attiva WP_DEBUG in wp-config.php così vedrai il testo dell'errore invece di una schermata bianca. Secondo: controlla se hai accidentalmente impostato 644 sulle cartelle (le cartelle hanno bisogno del bit di esecuzione, cioè 5 alla fine). Correggi con un comando find: find /path -type d -exec chmod 755 {} \;. Nella maggior parte dei casi questo basta. Se il sito ancora non funziona, ripristina da backup e modifica i permessi gradualmente: prima su wp-content, poi sulla root, osservando le reazioni.

Posso impostare i permessi tramite il file manager integrato dell'hosting?

Sì, ma solo per singoli file e cartelle. Gli host cPanel forniscono un File Manager con "Cambia permessi" nel menu contestuale. Tuttavia, impostare ricorsivamente i permessi su centinaia o migliaia di file tramite interfaccia web è praticamente impossibile. Per operazioni massive, usa FileZilla o SSH.

Che permessi dovrebbe avere la cartella wp-content/uploads?

755 standard, come tutte le altre cartelle. Se un plugin o un tema crea sottocartelle dentro uploads e ha problemi, controlla il proprietario del processo (dovrebbe corrispondere al proprietario della cartella) invece di alzare i permessi a 777. A volte il problema si risolve aggiungendo define('FS_METHOD', 'direct'); a wp-config.php.

Devo impostare i permessi sui file dentro wp-admin e wp-includes?

Sì, 644 standard per i file e 755 per le cartelle, come per il resto del sito. La procedura di FileZilla (selezionando tutto nella root) li gestisce automaticamente.

Il mio host richiede 777 su alcune cartelle. È normale?

No. Richiedere 777 è un segno che PHP sul server gira con un utente diverso dal proprietario dei file (ad esempio, mod_php senza suEXEC). In questa configurazione, WordPress non può scrivere sulle cartelle senza accesso "world". Opzioni: passa a un host che usa suPHP/FastCGI (la maggior parte di quelli moderni lo fa), oppure aggiungi define('FS_METHOD', 'direct'); a wp-config.php, che a volte è sufficiente.

I permessi corretti sono una base, non un'opzione

Impostare 755 sulle cartelle e 644 sui file chiude il canale più comune per gli errori "misteriosi" quando si migra un sito. Due minuti in FileZilla o due comandi SSH fanno risparmiare ore di congetture sui log.

Se il tuo sito è su un buon hosting con suPHP/FastCGI, questi permessi sono sufficienti per tutto: installare plugin, caricare media e aggiornamenti automatici del core. Non elevare i permessi a 777, anche se le istruzioni di un vecchio plugin lo richiedono. E aggiungi wp-config.php come voce separata: chmod 600. Contiene la password del database e gli estranei non devono avervi accesso.