Come impostare i permessi corretti dei file WordPress
I permessi dei file sono una delle prime linee di difesa del tuo sito WordPress. Permessi troppo aperti permettono a chiunque di leggere o modificare file sensibili, mentre permessi troppo restrittivi impediscono a WordPress di funzionare correttamente. Trovare il giusto equilibrio è fondamentale per la sicurezza. In questa guida ti spiego quali permessi usare per ogni tipo di file e cartella di WordPress.
Come funzionano i permessi su Linux
I server web che ospitano WordPress usano Linux, che gestisce i permessi con un sistema a tre livelli: proprietario (owner), gruppo (group) e altri (others). Ogni livello può avere tre tipi di permesso: lettura (r=4), scrittura (w=2) ed esecuzione (x=1). I permessi si esprimono come un numero a tre cifre: la prima cifra per il proprietario, la seconda per il gruppo, la terza per gli altri. Ad esempio, 755 significa: proprietario può leggere, scrivere ed eseguire (7=4+2+1), gruppo e altri possono solo leggere ed eseguire (5=4+1).
I permessi corretti per WordPress
WordPress ha bisogno di specifici permessi per funzionare in sicurezza. Ecco le impostazioni raccomandate dalla documentazione ufficiale:
- Cartelle: permesso 755 o 750. Permettono al server web di leggere e attraversare le directory.
- File: permesso 644 o 640. Permettono al server web di leggere i file ma non di modificarli.
- wp-config.php: permesso 440 o 400. Questo file contiene le credenziali del database e deve essere il più protetto possibile.
- .htaccess: permesso 644. WordPress ha bisogno di leggerlo per i permalink e altre regole.
Per impostare questi permessi in blocco via SSH, usa questi comandi dalla directory principale di WordPress:
# Impostare 755 su tutte le cartelle
find /var/www/html/ -type d -exec chmod 755 {} ;
# Impostare 644 su tutti i file
find /var/www/html/ -type f -exec chmod 644 {} ;
# Proteggere wp-config.php
chmod 440 /var/www/html/wp-config.php
Il proprietario corretto dei file
Oltre ai permessi numerici, è fondamentale che i file appartengano all’utente corretto. Il proprietario dei file WordPress deve essere l’utente sotto cui gira il server web. Su Ubuntu e Debian è generalmente www-data, su CentOS può essere apache o nginx, su hosting Plesk è l’utente del dominio specifico.
# Impostare il proprietario corretto (esempio Ubuntu) chown -R www-data:www-data /var/www/html/
Se il proprietario è sbagliato, WordPress non potrà scrivere nella cartella uploads, installare plugin o aggiornare il core. Vedrai messaggi come “Impossibile creare la directory” o richieste di credenziali FTP durante gli aggiornamenti.
Permessi per la cartella wp-content
La cartella wp-content è quella dove WordPress scrive attivamente: upload di media, installazione di plugin e temi, file di cache. Questa cartella e le sue sottocartelle devono essere scrivibili dal server web:
- wp-content/: 755
- wp-content/uploads/: 755 (deve essere scrivibile per i caricamenti media)
- wp-content/plugins/: 755 (per installare e aggiornare plugin)
- wp-content/themes/: 755 (per installare e aggiornare temi)
- wp-content/cache/: 755 (se usi plugin di caching)
Non impostare mai il permesso 777 su queste cartelle. Il 777 rende tutto leggibile, scrivibile ed eseguibile da qualsiasi utente del sistema, inclusi potenziali attaccanti. È la causa principale di compromissioni su hosting condivisi dove più siti condividono lo stesso server.
Perché 777 è pericoloso
Il permesso 777 è la scelta peggiore per la sicurezza. Su un hosting condiviso, significa che qualsiasi altro sito sullo stesso server può leggere e modificare i tuoi file. Un attaccante che compromette un altro sito sullo stesso server potrebbe inserire codice malevolo nei tuoi file PHP, leggere le credenziali del database da wp-config.php o caricare una backdoor nella cartella uploads. Molti tutorial obsoleti consigliano 777 come soluzione rapida ai problemi di permessi: non seguirli mai.
Se un plugin o un tema richiede il permesso 777 per funzionare, significa che è mal programmato. Cerca un’alternativa o contatta lo sviluppatore per segnalare il problema. La soluzione corretta è impostare il proprietario giusto sui file, non aprire i permessi a tutti.
Verificare i permessi attuali
Per controllare i permessi attuali dei file WordPress, usa il comando ls -la via SSH:
ls -la /var/www/html/ ls -la /var/www/html/wp-content/
L’output mostra i permessi in formato simbolico (es. drwxr-xr-x per 755) e il proprietario di ogni file. Confronta questi valori con quelli raccomandati. Se non hai accesso SSH, puoi verificare i permessi dal File Manager del tuo pannello hosting, che mostra i permessi in formato numerico accanto a ogni file e cartella.
Problemi comuni legati ai permessi
Ecco gli errori più frequenti causati da permessi sbagliati e come risolverli:
- “Impossibile creare la directory uploads”: la cartella wp-content/uploads non è scrivibile. Imposta il proprietario corretto e il permesso 755.
- Richiesta credenziali FTP per aggiornamenti: WordPress non può scrivere nei file perché il proprietario è sbagliato. Correggi con chown.
- Errore 403 Forbidden: i permessi sono troppo restrittivi. Verifica che le cartelle abbiano almeno 755 e i file 644.
- Plugin che non salvano le impostazioni: la cartella del plugin o il file di configurazione non è scrivibile. Verifica i permessi della sottocartella specifica.
Serve aiuto con la sicurezza?
Se vuoi un controllo completo dei permessi e della sicurezza del tuo sito WordPress, il team di SoccorsoWP può eseguire un audit approfondito e correggere ogni problema. Apri un ticket e rendi il tuo sito sicuro e funzionale.