Univention Bugzilla – Bug 25776
Importscripts sollten Profilpfad und Netlogonskript setzen
Last modified: 2012-06-11 06:30:01 CEST
Mit Samba 4 müssen die Profil Pfade der Benutzer im LDAP gesetzt werden. Auf dem DC kann nicht mehr per UCR definiert werden, dass Serverseitige Profile verwendet werden. Deshalb sollten die Import Skripte den Profil Pfad per Default setzen.
Neue UCR-Variable, die definiert ob das Importskript beim _Anlegen_ von Benutzern den Pfad für serverseitige Profile im LDAP setzen soll: a) nicht setzen → wenn z.B. Samba3 zum Einsatz kommt b) immer Logonserver setzen → Samba3 oder Samba4 → \\%LOGONSERVER%\%USERNAME%\windows-profiles\%....% Das ... ist noch zu ermitteln :-) c) via LDAP-Suche ermitteln: 1) Suche nach Serverobjekten in der jeweiligen OU mit Service "Windows Profile Server" (oder ähnlichem). Diesen fest im Profilpfad statt %LOGONSERVER% eintragen: \\FOOBARBAZ\%USERNAME%\windows-profiles\%....% 2) Falls nicht gefunden, gleiche Suche nach Service "Samba 4". 3) Falls nicht gefunden, Profilpfad beim User nicht setzen. Für c1) muss im LDAP ein neuer Servicetyp definiert werden, damit dieser im UDM ausgewählt werden kann → Joinskript.
Bitte wie besprochen eine weitere UCR-Variable hinzufügen, die den Namen des Netlogonskriptes enthält. Das Importskript soll dann beim Anlegen eines Benutzers, den Wert aus der UCR-Variable auslesen, und in die Benutzerproperty für das Netlogonskript eintragen.
Ist kein Wert in der UCR-Variable für das Netlogonskript gesetzt, sollte vom Importskript am Benutzer auch kein Netlogonskript definiert werden.
Logik wie beschrieben umgesetzt mit: \\%LOGONSERVER%\%USERNAME%\windows-profiles\default UCR-Variablen: ucsschool/import/set/serverprofile/path ucsschool/import/set/netlogon/script/path ucs-school-import (8.0.1-1)
(In reply to comment #4) > Logik wie beschrieben umgesetzt mit: > \\%LOGONSERVER%\%USERNAME%\windows-profiles\default > > UCR-Variablen: > ucsschool/import/set/serverprofile/path > ucsschool/import/set/netlogon/script/path Welche Werte können hier gesetzt werden und wie verhält sich dann das Skript? Das Single-Server-Metapaket sollte Variante b) auf dem Master aktivieren (bitte auf Paketdependencies achten; das sollte nur ein Setzen via "?" sein).
(In reply to comment #5) > (In reply to comment #4) > > Logik wie beschrieben umgesetzt mit: > > \\%LOGONSERVER%\%USERNAME%\windows-profiles\default > > > > UCR-Variablen: > > ucsschool/import/set/serverprofile/path > > ucsschool/import/set/netlogon/script/path > > Welche Werte können hier gesetzt werden und wie verhält sich dann das Skript? (In reply to comment #1) ucsschool/import/set/serverprofile/path=no > a) nicht setzen → wenn z.B. Samba3 zum Einsatz kommt ucsschool/import/set/serverprofile/path=yes > b) immer Logonserver setzen → Samba3 oder Samba4 → > \\%LOGONSERVER%\%USERNAME%\windows-profiles\%....% > Das ... ist noch zu ermitteln :-) ucsschool/import/set/serverprofile/path=ldap > c) via LDAP-Suche ermitteln: > 1) Suche nach Serverobjekten in der jeweiligen OU mit Service > "Windows Profile Server" (oder ähnlichem). Diesen fest im Profilpfad > statt %LOGONSERVER% eintragen: > \\FOOBARBAZ\%USERNAME%\windows-profiles\%....% > 2) Falls nicht gefunden, gleiche Suche nach Service "Samba 4". > 3) Falls nicht gefunden, Profilpfad beim User nicht setzen. > ucsschool/import/set/netlogon/script/path Wenn gesetzt und nicht leer wird der gesetzte Wert gesetzt, ansonsten wird kein Netlogon-Skript gesetzt.
(In reply to comment #5) > Das Single-Server-Metapaket sollte Variante b) auf dem Master aktivieren (bitte > auf Paketdependencies achten; das sollte nur ein Setzen via "?" sein). ucs-school-metapackage (4.0.2-1) unstable; urgency=low * activate setting profile path on user creation for single-master (Bug #25776) Es wurde noch ein Logik-Problem, wenn für Variante b) ("ldap") keine Server gefunden werden, behoben. ucs-school-import (8.0.9-1) unstable; urgency=low * fix profile path calculation (Bug #25776)
Bitte das Verhalten noch einmal anpassen: Es soll nur noch zwei Verhaltensweisen geben. Falls die UCR-Variable ucsschool/import/set/serverprofile/path gesetzt ist, wird davon ausgegangen, dass sie einen konkreten Pfad zum Profil enthält (z.B. "\\%LOGONSERVER%\%USERNAME%\windows-profiles\default"), welcher dann bei den zu importierenden Benutzern gesetzt wird. Sollte die jeweilige Variable nicht gesetzt sein, wird eine abgewandelte Variante c) verwendet: c) via LDAP-Suche ermitteln: 1) Suche nach Serverobjekten in der jeweiligen OU mit Service "Windows Profile Server" (oder ähnlichem). Diesen fest im Profilpfad statt %LOGONSERVER% eintragen: \\FOOBARBAZ\%USERNAME%\windows-profiles\.... 2) Falls kein Serverobjekt gefunden, wird "\\%LOGONSERVER%\%USERNAME%\windows-profiles\default" als Profilpfad gesetzt. Auf einem Single-Master sollte ucsschool/import/set/serverprofile/path im postinst auf den Profilpfad aus c2) gesetzt werden. Auf einem Master/Slave sollte die UCR-Variable leer sein.
Noch ein Hinweis, bei der Verwendung von %LOGONSERVER% dürfen keine \\ am Anfang gesetzt werden, da diese bereits in der Variable stehen -> echo %LOGONSERVER% \\master Der Profil Pfad am UDM Benutzerobjekt muss also so gesetzt werden, falls %LOGONSERVER% verwendet wird: %LOGONSERVER%\%USERNAME\windows-profiles\default So verhält es sich zumindest mit Win7.
Wenn ucsschool/import/set/serverprofile/path gesetzt ist, wird der Wert einfach übernommen. Wenn die UCRV nicht gesetzt ist, wird nach einem "Windows Profile Server" gesucht und dessen Name zwischen "\\" und "\%USERNAME%\windows-profiles\default" gestellt. Wenn kein Computer gefunden wird, wird stattdessen "%LOGONSERVER%\%USERNAME%\windows-profiles\default" verwendet. Im Joinskript wird der Dienst "Windows Profile Server" angelegt. Changelog angepasst. ucs-school-import (8.0.42-1)
sambaLogonScript wird aus ucsschool/import/set/netlogon/script/path übernommen. sambaProfilePath wird entweder aus ucsschool/import/set/serverprofile/path übernommen, oder es wird er erste Computer mit service="Windows Profile Server" aus der OU verwendet, oder es wird %LOGONSERVER%\%USERNAME%\windows-profiles\default gesetzt. Mit Win7 in einer Samba4 Domäne hat das geklappt. Changelog Eintrag vorhanden.
ucs-school-metapackage/debian/ucs-school-singlemaster.postinst setzt noch ucr set 'ucsschool/import/set/serverprofile/path?yes', dies muss entfernt werden.
(In reply to comment #12) > ucs-school-metapackage/debian/ucs-school-singlemaster.postinst setzt noch > ucr set 'ucsschool/import/set/serverprofile/path?yes', dies muss entfernt > werden. Wurde entfernt. ucs-school-metapackage (4.0.13-2)
Nach der Zusammenfassung der jetzigen Implementierung und der Möglichkeiten/Beschränkungen in Samba, wird das Problem nochmal angegangen. Wieso wird der Service "Windows Profile Server" in ucs-school-import/82univention-ucs-school-import-custom-attributes.inst und ucs-school-import/35ucs-school-import.inst angelegt?
Samba3 * globale Einstellung über smb.conf möglich * %LOGONSERVER%, %USERNAME% etc in profilePath möglich ABER, der Profilpfad muss als Verzeichnis existieren, sonst kann das Profil nicht gespeichert werden (die Pfade werden beim Anlegen der HOME erzeugt). Samba4 * globale Einstellung über smb.conf NICHT möglich * %LOGONSERVER%, %USERNAME% etc in profilePath möglich Aktuelle Logik "server profile": * Wenn die UCRV ucsschool/import/set/serverprofile/path gesetzt ist, wird deren Wert genutzt. * Wenn ein Rechner mit dem "Windows Profile Server"-Dienst in der OU gefunden wird, wird dieser um "%USERNAME%\windows-profiles\default" erweitert genutzt. * Ansonsten wird "%LOGONSERVER%" um "%USERNAME%\windows-profiles\default" erweitert genutzt. Aktuelle Logik "netlogon script": * Wenn die UCRV ucsschool/import/set/netlogon/script/path gesetzt ist, wird deren Wert genutzt.
(In reply to comment #15) > Aktuelle Logik "netlogon script": Bitte einmal prüfen welches Verhalten hier korrekt ist, sodass das Master-Logon-Skript für S3/S4 korrekt referenziert wird. Auch wird ein sinnvolles Verhalten beim Update benötigt.
(In reply to comment #16) > (In reply to comment #15) > > Aktuelle Logik "netlogon script": > Bitte einmal prüfen welches Verhalten hier korrekt ist, sodass das > Master-Logon-Skript für S3/S4 korrekt referenziert wird. > Auch wird ein sinnvolles Verhalten beim Update benötigt. Die UCRV ucsschool/import/set/netlogon/script/path sollte im import-Paket auf das Master-Logon-Skript gesetzt werden, damit das Verhalten bei neuinstallation mit S3 und S4 funktioniert. Für das Update gibt es einen extra Bug.
(In reply to comment #17) Das Master-Logon-Skript existiert nicht mehr, daher jetzt folgendes Verhalten: Wenn die UCRV ucsschool/import/set/netlogon/script/path gesetzt ist, wird deren Wert verwendet. Wenn sie nicht gesetzt ist, wird "user/<Benutzer>.vbs" gesetzt. Außerdem wird die UCRV nicht mehr automatisch gesetzt. ucs-school-import (8.0.50-1) > Für das Update gibt es einen extra Bug. Bug #27134
(In reply to comment #18) > (In reply to comment #17) > Das Master-Logon-Skript existiert nicht mehr, daher jetzt folgendes Verhalten: > Wenn die UCRV ucsschool/import/set/netlogon/script/path gesetzt ist, wird deren > Wert verwendet. > Wenn sie nicht gesetzt ist, wird "user/<Benutzer>.vbs" gesetzt. > Außerdem wird die UCRV nicht mehr automatisch gesetzt. Doch, das Master Logon Script sollte es geben, wenn nicht dann => Fehler Bitte in ucs-school-import ucsschool/import/set/netlogon/script/path?ucs-school-logon.vbs setzen. Beim Import wird geprüft, ob in die Variable gesetzt. Wenn ja wird der Wert am Benutzerobjekt gespeichert, wenn leer dann nicht. Der Fallback auf user/USER.vbs kann raus.
(In reply to comment #19) > Bitte in ucs-school-import > > ucsschool/import/set/netlogon/script/path?ucs-school-logon.vbs > > setzen. Beim Import wird geprüft, ob in die Variable gesetzt. Wenn ja wird der > Wert am Benutzerobjekt gespeichert, wenn leer dann nicht. Der Fallback auf > user/USER.vbs kann raus. ucs-school-import (8.0.52-1) Changelog aktualisiert.
OK
UCS@school 3.0 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer neueren Version von UCS@school erneut auftreten, so sollte dieser Bug dupliziert werden: "Clone This Bug"