Bug 25776 - Importscripts sollten Profilpfad und Netlogonskript setzen
Importscripts sollten Profilpfad und Netlogonskript setzen
Status: CLOSED FIXED
Product: UCS@school
Classification: Unclassified
Component: Import scripts
unspecified
Other Linux
: P5 normal (vote)
: UCS@school 3.0 MS1
Assigned To: Janek Walkenhorst
Felix Botner
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-01-06 17:06 CET by Stefan Gohmann
Modified: 2012-06-11 06:30 CEST (History)
3 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Gohmann univentionstaff 2012-01-06 17:06:56 CET
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.
Comment 1 Sönke Schwardt-Krummrich univentionstaff 2012-01-13 18:03:32 CET
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.
Comment 2 Sönke Schwardt-Krummrich univentionstaff 2012-01-16 15:18:39 CET
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.
Comment 3 Sönke Schwardt-Krummrich univentionstaff 2012-01-16 15:20:46 CET
Ist kein Wert in der UCR-Variable für das Netlogonskript gesetzt, sollte vom Importskript am Benutzer auch kein Netlogonskript definiert werden.
Comment 4 Janek Walkenhorst univentionstaff 2012-01-17 12:25:55 CET
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)
Comment 5 Sönke Schwardt-Krummrich univentionstaff 2012-01-18 14:32:19 CET
(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).
Comment 6 Janek Walkenhorst univentionstaff 2012-01-18 14:35:05 CET
(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.
Comment 7 Janek Walkenhorst univentionstaff 2012-01-19 17:13:44 CET
(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)
Comment 8 Sönke Schwardt-Krummrich univentionstaff 2012-03-13 17:12:05 CET
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.
Comment 9 Felix Botner univentionstaff 2012-03-15 16:43:03 CET
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.
Comment 10 Janek Walkenhorst univentionstaff 2012-03-21 17:04:24 CET
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)
Comment 11 Felix Botner univentionstaff 2012-03-22 15:30:34 CET
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.
Comment 12 Felix Botner univentionstaff 2012-03-26 11:38:40 CEST
ucs-school-metapackage/debian/ucs-school-singlemaster.postinst setzt noch 
ucr set 'ucsschool/import/set/serverprofile/path?yes', dies muss entfernt
werden.
Comment 13 Janek Walkenhorst univentionstaff 2012-04-02 16:00:03 CEST
(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)
Comment 14 Felix Botner univentionstaff 2012-04-10 11:58:25 CEST
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?
Comment 15 Janek Walkenhorst univentionstaff 2012-04-10 12:51:56 CEST
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.
Comment 16 Janek Walkenhorst univentionstaff 2012-05-15 16:00:21 CEST
(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.
Comment 17 Janek Walkenhorst univentionstaff 2012-05-15 17:17:41 CEST
(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.
Comment 18 Janek Walkenhorst univentionstaff 2012-05-18 17:36:40 CEST
(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
Comment 19 Felix Botner univentionstaff 2012-05-21 13:25:37 CEST
(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.
Comment 20 Janek Walkenhorst univentionstaff 2012-05-22 13:01:17 CEST
(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.
Comment 21 Felix Botner univentionstaff 2012-05-22 13:46:14 CEST
OK
Comment 22 Stefan Gohmann univentionstaff 2012-06-11 06:30:01 CEST
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"