Come appare il messaggio
Your data directory is readable by other users. Please change the permissions to 0770 so that the directory cannot be listed by other users.Cause frequenti
- La directory dati ha 0755 o 0775 invece di 0770, ad es. dopo un restore o un
cp -r. - Una nuova directory dati è stata creata come root e aperta solo con
chmod 755. - Un mount CIFS/SMB o NFS presenta permessi fissi che
chmodnon può cambiare. - Volume Docker con UID/GID o permessi sbagliati ereditati dall'host.
Verifica
- Leggi il percorso della directory dati dalla config
sudo -u www-data php /var/www/nextcloud/occ config:system:get datadirectory - Mostra permessi e proprietario
stat -c '%a %U:%G %n' /var/www/nextcloud/data - Controlla filesystem e opzioni di mount
findmnt -T /var/www/nextcloud/data -o TARGET,FSTYPE,OPTIONS
Soluzione
- Imposta i permessi:
chmod 0770 /var/www/nextcloud/datae proprietariowww-data:www-data. - Per i mount CIFS imposta i permessi con le opzioni di mount:
uid=www-data,gid=www-data,file_mode=0770,dir_mode=0770. - Per NFS imposta i permessi sul server, non sul client.
- Solo se il filesystem non gestisce permessi Unix:
'check_data_directory_permissions' => falsenel config.php, sapendo che il controllo sparisce. - Dopo ogni restore controlla sempre proprietario e permessi.
Domande frequenti
Basta cambiare solo la directory principale?
Per l'avviso sì, il controllo riguarda la directory dati stessa. I file sotto devono comunque appartenere all'utente del web server.
Perché 0770 e non 0750?
Funzionano entrambi. Nextcloud chiede solo che “altri” non abbiano accesso. 0750 è più stretto se il gruppo non deve scrivere.