So sieht die Meldung aus
Your data directory is readable by other users. Please change the permissions to 0770 so that the directory cannot be listed by other users.Häufige Ursachen
- Datenverzeichnis hat 0755 oder 0775 statt 0770, z. B. nach einem Restore oder
cp -r. - Neues Datenverzeichnis wurde als root angelegt und nur per
chmod 755geöffnet. - CIFS/SMB- oder NFS-Mount liefert feste Rechte, die sich mit
chmodnicht ändern lassen. - Docker-Volume mit falscher UID/GID oder Rechten aus dem Host-System.
Prüfen
- Pfad des Datenverzeichnisses aus der Konfiguration lesen
sudo -u www-data php /var/www/nextcloud/occ config:system:get datadirectory - Rechte und Besitzer anzeigen
stat -c '%a %U:%G %n' /var/www/nextcloud/data - Dateisystem und Mount-Optionen prüfen
findmnt -T /var/www/nextcloud/data -o TARGET,FSTYPE,OPTIONS
Lösung
- Rechte setzen:
chmod 0770 /var/www/nextcloud/dataund Besitzerwww-data:www-data. - Bei CIFS-Mounts die Rechte über Mount-Optionen festlegen:
uid=www-data,gid=www-data,file_mode=0770,dir_mode=0770. - Bei NFS Rechte auf dem Server setzen, nicht auf dem Client.
- Nur wenn das Dateisystem keine Unix-Rechte kann:
'check_data_directory_permissions' => falsein der config.php – mit dem Wissen, dass die Prüfung dann fehlt. - Nach Restores grundsätzlich Besitzer und Rechte prüfen.
Häufige Fragen
Reicht es, nur das Hauptverzeichnis zu ändern?
Für die Warnung ja, die Prüfung betrifft das Datenverzeichnis selbst. Darunterliegende Dateien sollten trotzdem dem Webserver-Benutzer gehören.
Warum 0770 und nicht 0750?
Beides funktioniert. Nextcloud verlangt nur, dass „andere“ keinen Zugriff haben. 0750 ist strenger, wenn die Gruppe nicht schreiben muss.