Univention Bugzilla – Bug 37611
homeShare and homeSharePath are not unmapped
Last modified: 2017-07-05 13:06:16 CEST
Hallo, Current UCS version is 4.0-0 errata48 Ich bin mir nicht sicher ob ich einen Bug gefunden oder nur ein Feature nicht verstanden habe, beim Versuch alle Userhomes auf ein NFS Share zu bekommen. Folgendes Vorgehen, hier am Beipiel der cli. (Verhalten des Webinterface ist identisch zur CLI) # udm shares/share list --filter name=homes |grep DN DN: cn=homes,cn=shares,dc=belug,dc=de --> Das Share ist da. # udm users/user list --filter username=lutz |grep homeShare homeShare: None homeSharePath: None --> Kein Share ist für den User gesetzt. # udm users/user modify --dn uid=lutz,cn=users,dc=belug,dc=de \ --set homeShare=cn=homes,cn=shares,dc=belug,dc=de \ --set homeSharePath=lutz Object modified: uid=lutz,cn=users,dc=belug,dc=de --> Share wird für User gesetzt. # udm users/user list --filter username=lutz |grep homeShare homeShare: None homeSharePath: None --> Das Share ist für den User nicht gesetzt?? ??? Hä? Ich hätte hier in etwa folgende Ausgabe erwartet, die aber nicht kommt: homeShare: cn=homes,cn=shares,dc=belug,dc=de homeSharePath: lutz Gleiches passiert, wenn anstelle der cli die Weboberfläche benutzt wird: Es fühlt sich so an, als wenn homeShare sowie homeSharePath nicht gespeichert wird. (Man kann sowohl über web als auch auf cli ohne Probleme/Fehler die Einstellungen entsprechend setzen) Im Ldap wird das sehr wohl gespeichert: # univention-ldapsearch -LLL uid=lutz automountInformation dn: uid=lutz,cn=users,dc=belug,dc=de automountInformation: -rw nfs.belug.lan:/nfs/homes/lutz ... und dementsprechend funktioniert auch alles wie es soll: # su lutz -c "cd ~; pwd ; df ." /home/lutz Dateisystem 1K-Blöcke Benutzt Verfügbar Verw% Eingehängt auf nfs.belug.lan:/nfs/homes/lutz 102049152 61504 96780800 1% /home/lutz freundliche, wenn auch verwirrte Grüße Lutz Willek
Hallo und vielen Dank für das Feedback! Vielleicht hilft die folgende Handbuchstelle die Zusammenhänge genauer zu erklären: http://docs.univention.de/manual-4.0.html#windows:serverhome:samba4 Sicher ist, dass an dieser Stelle eine Fehlernachricht oder auch ein zusätzlich erläuterneder UMC-Tooltip helfen würde. Viele Grüße Alexander Kläser
(In reply to Alexander Kläser from comment #1) > Vielleicht hilft die folgende Handbuchstelle die Zusammenhänge genauer zu > erklären: > > http://docs.univention.de/manual-4.0.html#windows:serverhome:samba4 Sehr geehrter Herr Kläser, dankeschön für den Verweis aufs Handbuch. Leider ist diese Stelle im Handbuch wenig hilfreich für mich: Wir setzen hier kein Windows und kein Samba ein, UCS wird hier in einer reinen Linuxumgebung betrieben. Die Frage war ausgehend von einem mount des unix homedir eines users von einem NFS-Share gestellt. Ich glaube hier liegt auch ein Missverständnis vor: Per udm erstellte NFS-Shares werden angezeigt und können auch ausgewählt werden. Kein Wunder, schließlich ist das genau so gedacht, siehe auch univention/admin/handlers/users/user.py, Zeile 651, Zeile 662. Nach dem setzen des Homeshares per udm wird nach dem Login des Users über /etc/pam.d/common-session der mount getriggert, genauer wegen dem dem Eintrag: "session required pam_runasroot.so program=/usr/sbin/univention-mount-homedir". Kurz: Das Heimatverzeichnis wird anstandslos über NFS gemountet. Das war auch alles gar nicht die Fragestellung, weil das setzen per udm funktioniert genau wie erwartet und die Funktion ist genau wie per udm eingestellt, hier also alles schön! Meine Frage ist lediglich, warum *nach* dem setzen des shares die gesetzten Einstellungen nicht mehr mit "udm users/user list" angezeigt werden. (bzw. das entsprechende Feld auf der Weboberfläche wieder leer ist) Schließlich kann ich es ja auch setzen und es wird ja auch problemlos benutzt. Hintergrund der Fragestellung: Nicht alle User haben ein über NFS freigegebenes Heimatverzeichnis, sondern einige haben einen ganz normalen Ordner (/home/<username>), dann eben jeweils auf dem lokalen Rechner auf dem der User sich gerade anmeldet. Mittels udm ist so momentan nicht erkennbar ob für den User jetzt ein share gemountet werden wird oder nicht. Einzige Möglichkeit an diese Information zu kommen ist momentan ein ldapsearch, wie bereits in der Ursprungsmail geschrieben. Was mache ich falsch? Wie kann das Share so gesetzt werden, das es mittels udm nach dem setzen auch per udm angezeigt wird? Oder sollte das eigentlich angezeigt werden und ich bin hier über einen Bug gestolpert? Gruß Lutz Willek > Sicher ist, dass an dieser Stelle eine Fehlernachricht oder auch ein > zusätzlich erläuterneder UMC-Tooltip helfen würde. > > Viele Grüße > Alexander Kläser
(In reply to Alexander Kläser from comment #1) > Hallo und vielen Dank für das Feedback! > > Vielleicht hilft die folgende Handbuchstelle die Zusammenhänge genauer zu > erklären: > > http://docs.univention.de/manual-4.0.html#windows:serverhome:samba4 > > Sicher ist, dass an dieser Stelle eine Fehlernachricht oder auch ein > zusätzlich erläuterneder UMC-Tooltip helfen würde. In der Bug-Beschreibung geht es um den homePath und homeSharePath (POSIX) und nicht um den verlinkten Windows-Home-Path. I reproduced the problem and did a little code review. Yes, the homeShare and homeSharePath are correctly set in LDAP but it is not unmapped leading to the problem that it is always displayed as empty in UMC or UDM-CLI.
(In reply to Lutz Willek from comment #2) > Was mache ich falsch? Wie kann das Share so gesetzt werden, das es mittels > udm nach dem setzen auch per udm angezeigt wird? Oder sollte das eigentlich > angezeigt werden und ich bin hier über einen Bug gestolpert? Sie machen nichts falsch, das ist tatsächlich ein Produktfehler! Siehe auch comment #3. Vielen Dank für Ihr Feedback und viele Grüße Florian Best
Created attachment 6665 [details] patch I created a patch for this: The error consists of 2 errors: A ldap search using the UDM property names instead of the LDAP attributes was done. The ldap search may fail if the set up share did not have a trailing slash / on it's path defined.
(In reply to Florian Best from comment #5) > Created attachment 6665 [details] Sehr geehrter Herr Best, Kurz: Patch getestet, alles schön so, vielen Dank! Lang: Der Patch aus comment #5 gegen ucs 4.0-1 errata82 getestet löst das Problem vollständig. Über cli und auch auf der Weboberfläche können jetzt posix homeshares gesetzt und auch wieder ausgelesen werden. Vor dem Einspielen des Patches angelegte Sharedefinitionen werden korrekt angezeigt. udm users/user list --filter username=lutzm |grep homeShare homeShare: None homeSharePath: None udm users/user modify --dn uid=lutzm,cn=users,dc=belug,dc=de --set homeShare=cn=homes,cn=shares,dc=belug,dc=de --set homeSharePath=lutzm Object modified: uid=lutzm,cn=users,dc=belug,dc=de udm users/user list --filter username=lutzm |grep homeShare homeShare: cn=homes,cn=shares,dc=belug,dc=de homeSharePath: lutzm Btw: Schön zu sehen wie die Informationen aus automountInformation wieder in homeShare und homeSharePath zerlegt werden. Gruß Lutz Willek
(In reply to Florian Best from comment #5) > Created attachment 6665 [details] > patch > > I created a patch for this: The error consists of 2 errors: > A ldap search using the UDM property names instead of the LDAP attributes > was done. The ldap search may fail if the set up share did not have a > trailing slash / on it's path defined. Applied patch: r 80651 univention-directory-manager-modules (12.0.17-32) * Bug #37661: Applied patch from Florian Best - Correctly unmap homeShare and homeSharePath r 80653 univention-directory-manager-modules (12.0.17-33) * Bug #37661: Applied additional patch for escaping YAML: r 80652
OK: change still works ^^ homeShare and homeSharePath are correctly unmapped OK: ldap filter escaping OK: YAML
<http://errata.software-univention.de/ucs/4.2/79.html>