I permessi dei file stabiliscono chi può leggere, scrivere o eseguire un file o una cartella. Su Linux sono rappresentati da un numero ottale di tre cifre: la prima cifra vale per il proprietario, la seconda per il gruppo, la terza per tutti gli altri. Ogni cifra si compone di lettura (4), scrittura (2) ed esecuzione (1). Permessi impostati male – prima di tutto il diffuso ma pericoloso 777 – consentono a utenti qualsiasi o ad account vicini compromessi su un server condiviso di modificare i tuoi file e iniettare codice dannoso. La raccomandazione di WordPress è: 755 per le cartelle, 644 per i file e un valore più severo di 600 o 640 per wp-config.php. Questa guida mostra come impostare questi valori via SSH o SFTP e quali casi particolari tenere presenti.
Cosa significano 755 e 644?
| Valore | Significato | Uso |
|---|---|---|
| 755 | Proprietario: leggere+scrivere+eseguire; gruppo/altri: leggere+eseguire | Tutte le cartelle (eseguire = entrarci) |
| 644 | Proprietario: leggere+scrivere; gruppo/altri: solo leggere | Tutti i file normali |
| 600 | solo proprietario: leggere+scrivere | wp-config.php (severo) |
| 640 | Proprietario: leggere+scrivere; gruppo: leggere | wp-config.php (se il gruppo deve leggere) |
| 777 | chiunque: leggere+scrivere+eseguire | Da non usare mai |
Passo 1: impostare le cartelle su 755
Collegati via SSH alla directory radice di WordPress e imposta tutte le cartelle in modo ricorsivo:
cd /pfad/zu/wordpress
find . -type d -exec chmod 755 {} \;Passo 2: impostare i file su 644
find . -type f -exec chmod 644 {} \;Questi due comandi impostano l’intera installazione su valori predefiniti sicuri. Eseguili in questo ordine (prima le cartelle, poi i file).
Passo 3: gestire i casi particolari
wp-config.php
Il file più sensibile riceve un permesso più severo:
chmod 600 wp-config.php
# oder, falls der Webserver-Prozess über die Gruppe lesen muss:
chmod 640 wp-config.php.htaccess
Il .htaccess resta a 644. Non renderlo scrivibile per gli altri, altrimenti gli attaccanti potrebbero manipolare le regole di rewrite.
wp-content/uploads
La cartella degli upload deve essere scrivibile dal server web affinché i caricamenti dei media funzionino. 755 per le cartelle di solito basta – ciò che conta è che il proprietario sia corretto (vedi passo 4). Qui non assegnare 777. Importante: in uploads nessun file PHP deve essere eseguibile. Per rafforzare la sicurezza, aggiungi:
# .htaccess in wp-content/uploads/ (Apache)
<Files *.php>
Require all denied
</Files>Passo 4: impostare il proprietario corretto
Quasi più importante dei numeri è il proprietario dei file. Tutti i file di WordPress dovrebbero appartenere all’utente con cui gira il server web o il processo PHP (spesso www-data, apache, nginx o il tuo utente SFTP). Verificare e impostare:
# Aktuellen Eigentümer anzeigen
ls -l
# Eigentümer und Gruppe rekursiv setzen (Beispiel www-data)
sudo chown -R www-data:www-data /pfad/zu/wordpressSe il proprietario è corretto, WordPress può eseguire aggiornamenti e caricamenti senza che tu debba indebolire i permessi. Un errore frequente è passare in fretta a 777 in caso di problemi di aggiornamento, quando in realtà è sbagliato solo il proprietario.
Tutto in una volta (script)
#!/bin/bash
# Im WordPress-Stammverzeichnis ausführen
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
chmod 600 wp-config.php
echo "Dateiberechtigungen gesetzt: 755 Ordner, 644 Dateien, 600 wp-config.php"Come verifico i permessi?
- Verificare un singolo file:
ls -l wp-config.php index.php # Erwartet: -rw------- für wp-config.php, -rw-r--r-- für index.php - Cercare permessi 777 non sicuri:
find . -type d -perm 0777 find . -type f -perm 0777 # Erwartet: keine Ausgabe - Verifica che PHP non venga eseguito nella cartella degli upload richiamando un file di test (dovrebbe restituire 403).
Errori frequenti
- 777 come soluzione rapida: Sembra risolvere i problemi di aggiornamento ma spalanca le porte. Quasi sempre il proprietario è il vero problema.
- Script eseguibili in uploads: Senza blocco PHP nella cartella degli upload, un file dannoso caricato può essere eseguito.
- Permessi dimenticati dopo una migrazione: Dopo un cambio di server o di hosting, proprietario e permessi spesso non coincidono più – reimpostali.
- Hosting condiviso senza SSH: Lì imposti i permessi nel client SFTP (clic destro » permessi) o nel file manager del pannello di hosting.
Domande frequenti (FAQ)
Quali permessi dei file sono consigliati per WordPress?
La raccomandazione di WordPress è 755 per tutte le cartelle, 644 per tutti i file normali e un valore più severo di 600 o 640 per wp-config.php. Le cartelle hanno bisogno del permesso di esecuzione per potervi entrare, per questo si usa 755 anziché 644.
Perché il permesso 777 è pericoloso in WordPress?
777 consente a qualsiasi utente sul server di leggere, modificare ed eseguire il file o la cartella. Su hosting condiviso un account vicino compromesso può così iniettare codice dannoso nella tua installazione. In quasi tutti i casi la vera causa dei problemi di aggiornamento non è il permesso, ma il proprietario del file errato.
Perché il proprietario del file è più importante dei numeri?
Tutti i file di WordPress dovrebbero appartenere all’utente con cui gira il server web o il processo PHP (spesso www-data, apache o nginx). Se il proprietario è corretto, WordPress può eseguire aggiornamenti e caricamenti senza che tu debba indebolire i permessi con valori non sicuri come 777.
Come impedisco l’esecuzione di file PHP nella cartella degli upload?
Crea un .htaccess in wp-content/uploads che neghi l’accesso ai file PHP (su Apache con un blocco <Files> e Require all denied). Così un file dannoso caricato non può essere eseguito come PHP anche se arriva nella cartella degli upload.
Come aiuta InspectWP con i permessi dei file?
InspectWP non può leggere i permessi del file system dall’esterno, ma verifica le conseguenze sintomatiche di configurazioni non sicure: ad esempio se file sensibili sono raggiungibili pubblicamente, se PHP viene eseguito nella directory degli upload o se un listing di directory è esposto. Tali riscontri nel report sono un forte segnale per rivedere i permessi di file e cartelle.