Bug 25777 - Zusammenführen von Netlogon-Skripten: Userlogon-Skript und Materialverteilung
Zusammenführen von Netlogon-Skripten: Userlogon-Skript und Materialverteilung
Status: CLOSED FIXED
Product: UCS@school
Classification: Unclassified
Component: Netlogon scripts
UCS@school for UCS 2.4
Other Linux
: P5 normal (vote)
: UCS@school 3.0 MS1
Assigned To: Felix Botner
Stefan Gohmann
:
: 20102 26523 (view as bug list)
Depends on: 23410 25707
Blocks: 26517 26521 26533
  Show dependency treegraph
 
Reported: 2012-01-06 17:10 CET by Sönke Schwardt-Krummrich
Modified: 2012-06-11 06:29 CEST (History)
2 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 Sönke Schwardt-Krummrich univentionstaff 2012-01-06 17:10:15 CET
Die Netlogon-Skripte aus den Paketen ucs-school-netlogon-user-logonscripts und 
ucs-school-umc-distribution sollen in einem Paket zusammengeführt werden. Die einzelnen Funktionalitäten sollen dabei per UCR abschaltbar sein.
Comment 1 Sönke Schwardt-Krummrich univentionstaff 2012-01-16 10:31:43 CET
"sollen in einem Paket" → "in einem Paket und einem Netlogonskript"
Comment 2 Sönke Schwardt-Krummrich univentionstaff 2012-01-16 15:24:28 CET
Das Listener-Modul bitte so umbauen, dass die Benutzerlogonskripte in 
/var/lib/samba/netlogon/userlogonscripts abgelegt werden.

Das Netlogon-Skript aus der Materialverteilung sollte das neue Haupt-Netlogonskript werden. Es setzt optional (sofern per UCR aktiviert) den Symlink für die Materialverteilung auf dem Desktop und ruft (sofern per UCR aktiviert) das benutzerspezifische Userlogonskript direkt von der Netlogonfreigabe auf.

Bitte das Skript in der entsprechenden UCR-Variable (siehe Bug 25776) bei der Installation setzen.
Comment 3 Felix Botner univentionstaff 2012-01-17 17:37:16 CET
siehe Bug #14882

Wir haben jetzt ein Master logon Script, das per UCR definierte logon Script aufruft. Jedes Paket, dass logon Scripte mitbringt muss nun eine Abhängigkeit auf ucs-school-netlogon definieren und sein logon Script per UCR konfigurieren

ucr set ucsschool/netlogon/script/10=demo.cmd

Ein weiteres Zusammenführen von Logon Scripten ist dadurch überflüssig, jedoch müssen alle Pakete, die logon Scripte mitbringen, entsprechend angepasst werden.
Comment 4 Felix Botner univentionstaff 2012-01-17 17:45:15 CET
An diesem Bug wird zusätzlich das Paket ucs-school-netlogon-user-logonscripts nach UCS@school 3.0 übernommen.

Was ist mit den Paketen univention-netlogon-logon und ucs-school-netlogon-italc aus UCS@school 2.4?
Comment 5 Sönke Schwardt-Krummrich univentionstaff 2012-01-18 13:27:21 CET
(In reply to comment #4)
> An diesem Bug wird zusätzlich das Paket ucs-school-netlogon-user-logonscripts
> nach UCS@school 3.0 übernommen.

@QA: Bitte testen, wie lange das Listener-Modul benötigt, um 2000 Benutzer zu importieren.
 
> Was ist mit den Paketen univention-netlogon-logon und ucs-school-netlogon-italc
> aus UCS@school 2.4?

Diese werden in UCS@school 3.0 nicht übernommen.
Comment 6 Felix Botner univentionstaff 2012-01-18 17:37:25 CET
ucs-school-netlogon-user-logonscripts

Änderungen:

   * UCS 3.0 Anpassungen
   * im listener wird die LDAP Verbindung nun mit 
     univention.uldap.getMachineConnection realisiert, die LDAP Suche
     wurde entsprechend angepasst, die Skripte werden nun entweder
     ins Samba 3 netlogon Verzeichnis gelegt, oder falls der Rechner 
     ein Samba 4 Rechner ist in das entsprechende Samba 4 netlogon
     Verzeichnis
   * ein Abhängigkeit auf "ucs-school-netlogon" wurde definiert, 
   * postinst setze zusätzlich 
     "ucsschool/netlogon/script/20?'user\%USERNAME%.vbs'" (Master logon Skript)
     und samba/homedirletter
   * im postinst/preinst wird das Verzeichnis user in netlogon Verzeichnis
     angelegt/gelöscht


QA (mindestens zu prüfen):

   * Klassenshares
   * ucsschool/userlogon/commonshares
   * ucsschool/userlogon/shares/validservers Bug #22222
   * Eigene Shares Link auf dem Desktop
   * Verweis von Eigene Dateien/Dokumente (bzw. Bilder) auf nach 
    "I:\Eigene Dateien", also ins Home Verzeichnis (normalerweise geht das 
    ins Profile) Bug #18515
Comment 7 Felix Botner univentionstaff 2012-01-20 17:29:57 CET
ucs-school-netlogon-user-logonscripts:

Das Anlegen des user Verzeichnis im Netlogon Share für Samba 4 wurde in ein join Skript ausgelagert (vorher postinst), das der Pfad kerberos/realm beinhaltet und der auf nicht gejointen System nicht vorhanden sein muss.
Comment 8 Stefan Gohmann univentionstaff 2012-03-13 08:15:15 CET
Aus der listener.log auf dem DC Slave beim Anlegen eines neuen Benutzers auf dem DC Master:

Traceback (most recent call last):
  File "/usr/lib/univention-directory-listener/system/ucs-school-user-logonscripts.py", line 484, in handler
    userchange(dn, new, old)
  File "/usr/lib/univention-directory-listener/system/ucs-school-user-logonscripts.py", line 468, in userchange
    writeWindowsLinkSkripts(new['uid'][0], links, mappings)
  File "/usr/lib/univention-directory-listener/system/ucs-school-user-logonscripts.py", line 308, in writeWindowsLinkSkripts
    fp = open("%s/%s.vbs" % (scriptpath, uid) ,'w')
IOError: [Errno 2] No such file or directory: '/var/lib/samba/sysvol/dedlock10.local/scripts/user/daniel.vbs'
13.03.12 07:39:25.146  LISTENER    ( WARN    ) : handler: ucs-school-user-logonscript (failed)
Comment 9 Felix Botner univentionstaff 2012-03-13 10:53:49 CET
Das Join Skript lag an der falschen Stelle und konnte daher das betreffende Verzeichnis nicht anlegen.

Im Listener Modul wird nun nur noch einmal nach dem netlogon Verzeichnis gesucht (ldap suche nach univentionService=Samba 4).
Comment 10 Stefan Gohmann univentionstaff 2012-03-14 07:18:36 CET
Configure 80ucs-school-netlogon-user-logonscripts.inst 
/usr/sbin/univention-join: Zeile 637: /usr/lib/univention-install/80ucs-school-netlogon-user-logonscripts.inst: Keine Berechtigung
root@slave102:~#
Comment 11 Felix Botner univentionstaff 2012-03-14 09:22:22 CET
(In reply to comment #10)
> Configure 80ucs-school-netlogon-user-logonscripts.inst 
> /usr/sbin/univention-join: Zeile 637:
> /usr/lib/univention-install/80ucs-school-netlogon-user-logonscripts.inst: Keine
> Berechtigung
> root@slave102:~#

ok, das Join Skript hat jetzt die entsprechenden Berechtigungen:

-> ls -al /usr/lib/univention-install/80ucs-school-netlogon-user-logonscripts.inst 
-rwxr-xr-x 1 root root 1562 14. Mär 2012  /usr/lib/univention-install/80ucs-school-netlogon-user-logonscripts.inst

-> univention-run-join-scripts 
...
Running 80ucsschool-italc-key.inst                         skipped (already executed)
Running 80ucs-school-netlogon-user-logonscripts.inst       done
Running 81univention-nfs-server.inst                       skipped (already executed)
...
Comment 12 Felix Botner univentionstaff 2012-03-14 14:23:12 CET
Im listener Modul ucs-school-user-logonscripts.py aus ucs-school-netlogon-user-logonscripts wird nun das samba3 / samba4 netlogon Verzeichnis angelegt. Da beim ersten join noch nicht entschieden werden kann, ob es ein samba4 oder samba3 System ist, werden die Scripte sowohl im samba3 wie auch im samba4 netlogon abgelegt.
Comment 13 Stefan Gohmann univentionstaff 2012-03-15 10:04:19 CET
(In reply to comment #3)
> siehe Bug #14882
> 
> Wir haben jetzt ein Master logon Script, das per UCR definierte logon Script
> aufruft. Jedes Paket, dass logon Scripte mitbringt muss nun eine Abhängigkeit
> auf ucs-school-netlogon definieren und sein logon Script per UCR konfigurieren
> 
> ucr set ucsschool/netlogon/script/10=demo.cmd

Dazu wurde jetzt Bug #26517 angelegt.
Comment 14 Stefan Gohmann univentionstaff 2012-03-15 15:14:07 CET
(In reply to comment #6)
>    * Klassenshares
OK

>    * ucsschool/userlogon/commonshares

OK

>    * ucsschool/userlogon/shares/validservers Bug #22222

FAILED: die commonshares werden verbunden, die Klassenshares nicht

>    * Eigene Shares Link auf dem Desktop

Ja.

>    * Verweis von Eigene Dateien/Dokumente (bzw. Bilder) auf nach 
>     "I:\Eigene Dateien", also ins Home Verzeichnis (normalerweise geht das 
>     ins Profile) Bug #18515

FAILED: Auf einem Windows 7 kann ich keine Dateien unter Eigene Bilder ablegen. ich bekomme immer den Hinweis: Dateisystemfehler (512).
Comment 15 Felix Botner univentionstaff 2012-03-19 16:49:46 CET
(In reply to comment #14)
> (In reply to comment #6)
> >    * Klassenshares
> OK
> 
> >    * ucsschool/userlogon/commonshares
> 
> OK
> 
> >    * ucsschool/userlogon/shares/validservers Bug #22222
> 
> FAILED: die commonshares werden verbunden, die Klassenshares nicht

Das ist OK, bei den commonshares (über UCR gesetzt) wurden und werden die validservers nicht ausgewertet.

> 
> >    * Eigene Shares Link auf dem Desktop
> 
> Ja.
> 
> >    * Verweis von Eigene Dateien/Dokumente (bzw. Bilder) auf nach 
> >     "I:\Eigene Dateien", also ins Home Verzeichnis (normalerweise geht das 
> >     ins Profile) Bug #18515
> 
> FAILED: Auf einem Windows 7 kann ich keine Dateien unter Eigene Bilder ablegen.
> ich bekomme immer den Hinweis: Dateisystemfehler (512).

Das konnte ich nicht nachvollziehen.


Es gab noch ein Fehler im Join-Skript, dort wurde 

  ucsschool/userlogon/commonshares/server/Marktplatz?"$hostname" \

nicht richtig gesetzt (und damit die globale Freigabe im vbs Skript nicht richtig erzeugt). Außerdem wurde im Listener Modul die Auswertung der Links etwas angepasst. Bisher konnte es dort passieren, das im vbs Skript mehrere gleichnamige Links auf unterschiedliche Freigaben erzeugt wurden. Nun ist es so, dass zunächst die ucsschool/userlogon/commonshares... ausgewertet und in einem Hash gespeichert werden. Im nächsten Schritt werden die Klassenfreigabe untersucht und, falls der Link noch nicht im hash existiert, hinzugefügt.
Comment 16 Felix Botner univentionstaff 2012-03-21 10:09:00 CET
*** Bug 26523 has been marked as a duplicate of this bug. ***
Comment 17 Sönke Schwardt-Krummrich univentionstaff 2012-05-22 15:58:44 CEST
Der User anton3 wurde gelöscht. Das Verhalten ist reproduzierbar.
Es sollten beim Löschen von Benutzern nicht so viele Fehler und Warnungen ausgegeben werden.

21.05.12 15:44:49.611  LISTENER    ( WARN    ) : ucsschool-user-logonscripts: LDAP-search failed for user uid=anton3,cn=schueler,cn=users,ou=mitte,dc=nstx,dc=de
21.05.12 15:44:49.611  LISTENER    ( ERROR   ) : ucsschool-user-logonscripts: failed to get uid
21.05.12 15:44:49.612  LISTENER    ( PROCESS ) : pupilgroups: dn: cn=schueler-mitte,cn=groups,ou=mitte,dc=nstx,dc=de
21.05.12 15:44:49.633  LISTENER    ( WARN    ) : ucsschool-user-logonscripts: LDAP-search failed for user uid=anton3,cn=schueler,cn=users,ou=mitte,dc=nstx,dc=de
21.05.12 15:44:49.633  LISTENER    ( ERROR   ) : ucsschool-user-logonscripts: failed to get uid
21.05.12 15:44:49.633  LISTENER    ( PROCESS ) : pupilgroups: dn: cn=Domain Users mitte,cn=groups,ou=mitte,dc=nstx,dc=de
21.05.12 15:44:49.648  LISTENER    ( WARN    ) : ucsschool-user-logonscripts: LDAP-search failed for user uid=anton3,cn=schueler,cn=users,ou=mitte,dc=nstx,dc=de
21.05.12 15:44:49.650  LISTENER    ( ERROR   ) : ucsschool-user-logonscripts: failed to get uid
21.05.12 15:44:49.650  LISTENER    ( PROCESS ) : pupilgroups: dn: cn=mitte-2A,cn=klassen,cn=schueler,cn=groups,ou=mitte,dc=nstx,dc=de
Comment 18 Felix Botner univentionstaff 2012-05-23 09:43:20 CEST
Eine sinnlose Meldung (failed to get uid) wurde entfernt, eine andere (LDAP-search failed for user) von WARN auf INFO gesetzt.
Comment 19 Stefan Gohmann univentionstaff 2012-05-23 11:08:58 CEST
Verified:

 * Klassenshares: OK
 * ucsschool/userlogon/commonshares: OK
 * ucsschool/userlogon/shares/validservers: OK
 * Eigene Shares Link auf dem Desktop Win7: OK
 * Eigene Shares Link auf dem Desktop WinXP: OK
 * Verweis von Eigene Dateien/Dokumente (bzw. Bilder): OK (für XP und Windows 7, nachdem der Laufwerksbuchstabe auf I: geändert wurde)
Comment 20 Sönke Schwardt-Krummrich univentionstaff 2012-06-05 14:23:37 CEST
*** Bug 20102 has been marked as a duplicate of this bug. ***
Comment 21 Stefan Gohmann univentionstaff 2012-06-11 06:29:58 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"