Samba und Links auf Verzeichnisse

Hallo Leute!

Nachdem Univention ein neues Update (4.2-0 Errata 10) zur Verfügung gestellt hat wurde auch Samba von Version 4.5.3 auf 4.6.1 aktualisiert.

Im freigegebenen Verzeichnis werden unterhalb dessen relative Links auf andere Verzeichnisse verwendet. Diese Links liesen sich in Windows wie normale Verzeichnisse verwenden. Seit dem Update bekommen ich die Windows-Fehlermeldung “Der Verzeichnisname ist ungültig.”

testparm -v [global] follow symlinks = yes

Wie gehe ich weiter vor um den Fehler zu finden?

Viele Grüße aus Dresden
Jens

Moin,

Relative Symlinks innerhalb der Share funktionieren bei mir auch mit Samba 4.6.1 weiterhin; gerade eben getestet.

Können Sie bitte mal die folgenden Dinge zum Symlink selber posten:

cd /da/wo/der/symlink/ist
ls -l symlink-name
ls -ld "$(readlink symlink-name)"

Weiterhin auch bitte diese Angabe:

ucr get samba/wide_links

Danke.

Gruß,
mosu

root@srv45-file:/mnt/ZV/Ablage/BringFix/Kontakte/_U/Univention GmbH# ls -l Allgemein
lrwxrwxrwx 1 Administrator BringFix 49 Jul  7  2016 Allgemein -> ../../../../Allgemein/Kontakte/_U/Univention GmbH

root@srv45-file:/mnt/ZV/Ablage/BringFix/Kontakte/_U/Univention GmbH# ls -ld "$(readlink Allgemein)"
drwxrws--- 4 Administrator BringFix 4096 Dez  2 09:15 ../../../../Allgemein/Kontakte/_U/Univention GmbH

root@srv45-file:/mnt/ZV/Ablage/BringFix/Kontakte/_U/Univention GmbH# ls -l Ulteo
lrwxrwxrwx 1 root BringFix 39 Mai 12 13:59 Ulteo -> ../../../../Allgemein/Kontakte/_U/Ulteo

root@srv45-file:/mnt/ZV/Ablage/Allgemein/Kontakte/_U/Univention GmbH# ls
Partner  Produkte  www.univention.de.url

Die UCR-Variable wide_links war nicht gesetzt. Eine Änderung auf yes brachte auch keinen Erfolg.
Bei dem Symlink Allgemein ist im Linkziel ein Leerzeichen. Deshalb habe ich noch einen Symlink ohne angelegt. Leider auch ohne Erfolg. Die Verzeichnisberechtigungen sind gleich (770).

Kann der Benutzer, mit dem Sie unter Windows testen, denn unter Linux in das Verzeichnis /mnt/ZV/Ablage/BringFix/Kontakte/_U/Univention GmbH/Allgemein wechseln und sich dort den Inhalt anschauen?

jens@srv45-file:/mnt/ZV/Ablage/BringFix/Kontakte/_U/Univention GmbH$ ls -l Allgemein
lrwxrwxrwx 1 Administrator BringFix 49 Jul  7  2016 Allgemein -> ../../../../Allgemein/Kontakte/_U/Univention GmbH

jens@srv45-file:/mnt/ZV/Ablage/BringFix/Kontakte/_U/Univention GmbH$ cd Allgemein
jens@srv45-file:/mnt/ZV/Ablage/BringFix/Kontakte/_U/Univention GmbH/Allgemein$ ls -l
insgesamt 12
drwxrws--- 2 Administrator BringFix 4096 Dez  2 09:15 Partner
drwxrws--- 5 Administrator BringFix 4096 Sep  2  2016 Produkte
-rw-rw---- 1 Administrator BringFix   81 Dez 29  2014 www.univention.de.url

Inzwischen habe ich weiteres getestet. Ein erneuter Domänenbeitritt blieb beim Script 26univention-samba.inst mit einem Fehler hängen. Daraufhin habe ich wieder die Version 4.1-4 gestartet und das Update sowie den kompletten Domänenbeitritt erneut durchgeführt. Leider ohne das die SymLinks erreichbar sind.

Hintergrund der Aktion war, das ich mit der Windows-VM der Domäne erneut beigetreten bin um derartige Fehler auszuschließen. Daraufhin verschwand der srv45-file aus der Struktur und war nicht mehr erreichbar und deshalb der erneute Domänenbeitritt des srv45-file. Alter Status wieder hergestellt. Ich glaube wir suchen an der falschen Stelle.

Gut möglich.

Führen Sie bitte auf dem Fileserver noch mal univention-run-join-scripts aus. Laufen die alle sauber durch (oder sind skipped, weil bereits ausgeführt)?

Dann: ist die Benutzerin, mit der Sie testen, auf dem Fileserver Mitglied der Gruppe BringFix? Dazu bitte auf dem Fileserver die Ausgabe von groups <username> und getent group BringFix anschauen.

root@srv45-file:~# univention-run-join-scripts
univention-run-join-scripts: runs all join scripts existing on local computer.
copyright (c) 2001-2017 Univention GmbH, Germany

Enter DC Master Account : administrator
Enter DC Master Password:

Search LDAP binddn                                         done
Running 03univention-directory-listener.inst               skipped (already executed)
Running 04univention-ldap-client.inst                      skipped (already executed)
Running 08univention-apache.inst                           skipped (already executed)
Running 11univention-pam.inst                              skipped (already executed)
Running 18python-univention-directory-manager.inst         skipped (already executed)
Running 20univention-directory-policy.inst                 skipped (already executed)
Running 20univention-join.inst                             skipped (already executed)
Running 26univention-nagios-common.inst                    skipped (already executed)
Running 26univention-samba.inst                            skipped (already executed)
Running 30univention-appcenter.inst                        skipped (already executed)
Running 30univention-nagios-client.inst                    skipped (already executed)
Running 33univention-portal.inst                           skipped (already executed)
Running 34univention-management-console-server.inst        skipped (already executed)
Running 35univention-appcenter-docker.inst                 skipped (already executed)
Running 35univention-management-console-module-appcenter.inskipped (already executed)
Running 35univention-management-console-module-diagnostic.iskipped (already executed)
Running 35univention-management-console-module-join.inst   skipped (already executed)
Running 35univention-management-console-module-lib.inst    skipped (already executed)
Running 35univention-management-console-module-mrtg.inst   skipped (already executed)
Running 35univention-management-console-module-quota.inst  skipped (already executed)
Running 35univention-management-console-module-reboot.inst skipped (already executed)
Running 35univention-management-console-module-services.insskipped (already executed)
Running 35univention-management-console-module-setup.inst  skipped (already executed)
Running 35univention-management-console-module-sysinfo.instskipped (already executed)
Running 35univention-management-console-module-top.inst    skipped (already executed)
Running 35univention-management-console-module-ucr.inst    skipped (already executed)
Running 35univention-management-console-module-updater.instskipped (already executed)
Running 36univention-management-console-module-apps.inst   skipped (already executed)
Running 81univention-nfs-server.inst                       skipped (already executed)
Running 92univention-management-console-web-server.inst    skipped (already executed)
Running 98univention-pkgdb-tools.inst                      skipped (already executed)
root@srv45-file:~#

root@srv45-file:~# groups jens
jens : Domain Users Users Backup Operators BringFix

root@srv45-file:~# getent group BringFix
BringFix:*:5074:SRV48-XP$,Administrator,WS64-XP$,WS60-XP$,jens,WS61-FIBU$,NB04-SYS1$,join-backup,jaci,srv40-dcm$,srv41-dcb$,WS62-BILD$,WS63-FIBU$
root@srv45-file:~#

Ich kann das hier leider nicht nachstellen, auch nicht direkt mit den von Ihnen gezeigten Verzeichnisnamen/-strukturen.

Gibt es auf dem srv45 evtl. Samba4-Synchronisations-Probleme? Siehe Ausgabe von univention-s4connector-list-rejected.

Haben Sie schon probiert, das Loglevel des Samba-Dämonen deutlich zu erhöhen, die Zugriffe zu versuchen und anschließend die Logdateien zu analysieren?

Ich habe den Befehl getent das erste Mal verwendet. Aber müsste nicht in der Aufzählung der srv45-file auch mit erscheinen?

Den Befehl univention-s4connector-list-rejected kann ich auf srv45-file nicht finden. Dieser ist lediglich ein Memberserver falls das von Bedeutung ist.

Äh ja Quark, natürlich läuft der S4-Connector nur auf dem Master. Daher ist auch der Befehl nur auf dem Master verfügbar. Sorry.

Warum sind Sie der Meinung, dass srv45-file auch in der Ausgabe von getent erscheinen muss? Soll der Rechner auch in der Gruppe BringFix sein? Falls er das soll und nicht ist, so fügen Sie ihn doch einfach über die Management Console hinzu.

Auf die Dateisystemberechtigungen und die Frage, ob der User jens auf die Dateien zugreifen können sollte, sollte die Gruppenmitgliedschaft des Rechners hingegen keinerlei Einfluss haben.

Im Moment habe ich keine weitere Zeit für Experimente. Deshalb habe ich das Backup des Srv45-file mit UCS 4.1-4 Errata 410 wieder eingespielt, Update auf 418 und erneuten Domänenbeitritt durchgeführt. Läuft.
Recht herzlichen Dank für die Unterstützung und Anregungen Moritz !

Heute habe ich das neue UCS-Update (4.2-1 Errata 85) getestet und alles geht. Danke.
Wen’s interessiert : Univention Corporate Server 4.2 erratum 78 (bugfix)

Mastodon