UngĂĽltige Nextcloud-Dateinamen

Der Nextcloud-Client für Windows meldet ungültige Dateinamen. Auf der Weboberfläche klappt alles, aber der Client beschwert sich. Wie löse ich das Problem?

vorlesen Druckansicht 1 Kommentar lesen
Lesezeit: 3 Min.

Unter Windows lädt der Nextcloud-Client hunderte Dateien unseres Firmenkontos nicht herunter, sondern meldet, dass die Dateinamen ungültig seien. Die Fehlermeldungen muss ich fast jeden Tag wegklicken. Tatsächlich haben die Dateien Namen wie "Mitarbeiter:innen.doc" oder "Weihnachtsfeier wann?.xls". Die meisten Mitarbeiter nutzen nur die Weboberfläche der Nextcloud, wo Dateinamen mit solchen ansonsten unzulässigen Zeichen problemlos funktionieren. Was kann ich tun?

Der Nextcloud-Client, hier unter macOS, liefert nun eine Fehlermeldung, wenn man eine Datei mit einem unter Windows ungültigen Namen hochladen möchte.

Sie selbst können – außer einem Umstieg auch auf die Weboberfläche – nichts tun, sondern müssen mit Ihrem Admin sprechen.

Seit Nextcloud 28 kann der Admin in die config.php die Zeile

'forbidden_chars' => array('?', '<', '>', ':', '*', '|', '"', '/', '\'),

einfügen. Dann sind keine Dateinamen mit ungültigen Zeichen mehr zulässig. Die Clients zeigen eine Fehlermeldung inklusive praktischem Umbenennen-Knopf, wenn man so eine Datei beispielsweise von Linux oder macOS hochladen möchte, und die Weboberfläche erlaubt die Zeichen beim Hochladen, Erzeugen und Umbenennen von Dateien nicht.

Nextcloud 30 ändert den Eintrag in forbidden_filename_characters und fügt zusätzlich forbidden_filename_basenames, forbidden_filename_extensions und forbidden_filenames hinzu. Zudem muss man sich das alles nicht mehr merken, sondern der Admin findet unter Verwaltungseinstellungen/Grundeinstellungen unten den Schalter "Windows-Kompatibilität erzwingen". Die macht dann nichts anderes, als in der config.php diese Parameter mit sinnvollen Werten zu füllen. Als ungültige Basenames sind beispielsweise auch die alten DOS-Namen con, prn, aux, nul, lpt0, com1 und weitere eingetragen.

Neue Dateien mit ungültigen Windows-Namen kann man daraufhin weder in der Weboberfläche noch in den Clients oder Apps anlegen. Auch das Problem, dass iOS-Geräte gerne Dateinamen mit abschließendem Leerzeichen anlegen, ist gelöst.

Schon vorhandene, falsch benannte Dateien bleiben unberührt, auf sie haben alle Nutzer Lesezugriff, und die Windows-Nutzer bekommen weiterhin die Fehlermeldungen. Nextcloud sieht keinen Mechanismus vor, diese Dateien umzubenennen. Da müssen der Admin oder fleißige Nutzer selbst ran – und zwar, bevor diese Parameter gesetzt werden: Sind sie gesetzt, kann man die Dateien nur noch lesen, also auch nicht mehr umbenennen.

Umbenennen können Sie die Dateien in der Weboberfläche sowie unter Android, iOS, macOS und Linux. Wer Zugriff auf den Server hat: Per FTP oder in einer Shell per mv oder rename geänderte Dateinamen bekommt Nextcloud nicht mit und findet die Datei danach nicht mehr. Nutzen Sie in einer Shell entweder nach dem Umbenennen php occ files:scan --all, was sehr lange dauern kann und wodurch Dateieigenschaften wie individuelle Freigaben verloren gehen. Oder ändern Sie die Dateinamen einzeln mit php occ files:move <altername> <neuername>. Ein Skript zum Umbenennen gibt es beispielsweise auf GitHub. Ausprobiert haben wir es nicht.

Neugierig geworden?

(jow)