Bug 26508 - Squid Benutzer wird in S4 angelegt
Squid Benutzer wird in S4 angelegt
Status: CLOSED FIXED
Product: UCS@school
Classification: Unclassified
Component: Proxy services
UCS@school 3.0
Other Linux
: P5 normal (vote)
: UCS@school 3.0 MS2
Assigned To: Arvid Requate
Felix Botner
:
Depends on:
Blocks: 27278
  Show dependency treegraph
 
Reported: 2012-03-15 06:35 CET by Stefan Gohmann
Modified: 2012-06-11 06:29 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-03-15 06:35:04 CET
Der Squid Samba 4 Benutzer http-proxy-$hostname wird scheinbar im S4 LDAP angelegt. Da dieser im Join Skript angelegt wird, kann er auch direkt per UDM angelegt werden.

Wenn der Benutzer lokal per S4 LDAP auf einem selektiv replizierten Slave angelegt wird, so können Konflikte beispielsweise im Namen auftreten, die nicht bemerkt werden.
Comment 1 Arvid Requate univentionstaff 2012-03-15 09:58:08 CET
Das Problem war hier, dass an das Samba4-Objekt ein servicePrincipalName-Attribut geschrieben werden muss und das nicht den OpenLDAP-Schemata bzw. im S4 Connector Mapping abgebildet ist.

Nach Anlegen des Benutzers per UDM muss man hier dann die Replikation abwarten, analog zu dem Verfahren bei den DNS-Records.
Comment 2 Arvid Requate univentionstaff 2012-03-15 10:06:00 CET
Auf Memberservern wird das Benutzer per UDM angelegt und dann auf die Replikation gewartet, diesen Code kann man also im Wesentlichen einfach für den Fall DC kopieren.
Comment 3 Stefan Gohmann univentionstaff 2012-04-18 08:04:24 CEST
Aktuell bekomme ich auf einem UCS@school Slave mit Samba 4 die folgende Meldung im join.log und der Join bricht ab:

Join-Ausgabe:
Configure 98univention-samba4-dns.inst                     done
Configure 98univention-squid-samba4.inst                   failed

join-log:
ERROR(ldb): Failed to add user 'http-proxy-slave102':  - Unwilling to perform (53)
ERROR: samAccountName not found for service account http-proxy-slave102
Comment 4 Arvid Requate univentionstaff 2012-04-19 19:46:04 CEST
Der Kerberos service account wird jetzt per UDM statt per samba-tool angelegt:
========================================
RUNNING 98univention-squid-samba4.inst 
Object created: uid=http-proxy-qaslave,cn=users,dc=arschool3i1,dc=qa
Added 1 records with 0 failures
Modified 1 records with 0 failures
EXITCODE=0
========================================

Changelog nicht notewendig wegen Zwischenversion.

Anpassung ist noch nicht nach ucs3.0-2 übernommen, da da noch einige commits vorher ebenfalls noch gemerged werden müssen.
Comment 5 Stefan Gohmann univentionstaff 2012-05-18 14:57:13 CEST
Das funktioniert soweit. Ein Changelog Eintrag ist aber IMHO notwendig, da das eine Verhaltensänderung gegenüber 3.0-1 ist.
Comment 6 Arvid Requate univentionstaff 2012-05-21 13:11:22 CEST
Changelogeintrag für UCS 3.0-2 und UCS@School 3.0 ist hinzugefügt:

\item The Kerberos service principal for the HTTP proxy is now created 
      via UDM instead of via samba-tool in Samba 4 (\ucsBug{26508}).
Comment 7 Stefan Gohmann univentionstaff 2012-05-21 13:57:44 CEST
OK
Comment 8 Felix Botner univentionstaff 2012-05-24 11:00:58 CEST
98univention-squid-samba4.inst führt zu einem Fehler beim Join auf einem Samba 3 Slave.


**************************************************************************
* Join failed!                                                           *
* Contact your system administrator                                      *
**************************************************************************
* Message:  FAILED: 98univention-squid-samba4.inst
**************************************************************************


join.log
Configure 98univention-squid-samba4.inst
Object created: uid=http-proxy-slave,cn=users,dc=ee,dc=rr
ERROR: No S4 Connector Service found in UDM
Comment 9 Arvid Requate univentionstaff 2012-05-24 13:24:06 CEST
Das Joinscript ist so angepasst, dass es zusätzlich zu den Fällen
 * Samba4-DC
 * Samba3-Memberserver in Samba4 Domäne
auch den Fall
 * Samba3-System in Samba3 Domäne
berücksichtigt, bei dem es einfach mit exit 0 beendet.

Weitere fixes:
 * Der service principal wird jetzt im UDM nur in Samba4 Domänen angelegt.
 * In reinen Samba3 Domänen beendet sich das Joinscript mit exit 0
 * udm create wird jetzt mit --ignore-exists aufgerufen
 * In Samba4 domänen beendet sich das Joinscript nicht mehr, wenn
   die keytab für den service Principal schon existiert. Damit tut
   das Jojnscript auch etwasd, wenn man erneut univention-join startet.
 * Auf samba4 DCs wird der service principal wird nur zu secret.ldb hinzugefügt,
   wenn JS_LAST_EXECUTED_VERSION == 0. Dadurch wird ein traceback bei zukünftigen
   Versionen des Joinscripts vermieden.
 * Es wird zusätzlich auch auf DCs überprüft, ob die keytab für den service
   principal existiert. Wenn sie nicht exisitert, wird das Skript zur manuellen
   Generierung der keytab aufgerufen, das auch auf Memberservern verwendet wird.
   Dies ist ein Workaround dafür, das samba4 in der Vergangenheit in seltenen
   Fällen die keytab nicht erzeugt hat.
 * Auf samba3 Memberservern wird die keytab nur dann angelegt, wenn der samba
   account für den Service im Samba4 Verzeichnisdienst gefunden wurde.

Anpassung ist noch nicht nach ucs3.0-2 übernommen, dafür gibt es jetzt Bug 27278.
Comment 10 Felix Botner univentionstaff 2012-05-25 13:36:37 CEST
Slave Samba 4 - OK
Member Samba 3 in Samba 4 Domain - OK

In beiden Fällen wurde
   * der Service principal angelegt
   * die keytab erzeugt
   * servicePrincipalName am Samba Objekt gesetzt

In einer Samba 3 Umgebung wird das Script nun ohne Fehler beendet.


-> univention-check-join-status 
Warning: 'univention-squid-samba4' is not configured.
Error: Not all install files configured: 1 missing
===> Dies wird in 3.0-2 behoben, siehe Bug #27278
Comment 11 Stefan Gohmann univentionstaff 2012-06-11 06:29:44 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"