Bug 27469 - Aufruf des S4-Joinskript auf einem 2. Samba4-Server nicht erfolgreich, wenn S4 nur auf Backups installiert wird
Aufruf des S4-Joinskript auf einem 2. Samba4-Server nicht erfolgreich, wenn S...
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: Samba4
UCS 3.0
Other Linux
: P5 normal (vote)
: UCS 3.1
Assigned To: Arvid Requate
Stefan Gohmann
: interim-3
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-06-06 14:48 CEST by Moritz Muehlenhoff
Modified: 2012-12-12 21:08 CET (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
join.log (88.23 KB, text/plain)
2012-11-13 09:36 CET, Stefan Gohmann
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Moritz Muehlenhoff univentionstaff 2012-06-06 14:48:22 CEST
Folgendes Szenario:

1. Auf dem Master ist kein Samba installiert.
2. Der Join eines DC Backup mit Samba 4 funktioniert wie erwartet
3. Anschließend soll ein zweiter DC Backup installiert werden:

Das 96-samba4-Join-Skript zeigt zwar an, dass es erfolgreich durchgelaufen sei, effektiv ist das aber nicht der Fall, ldbsearch -H /var/lib/samba/private/sam.ldb zeigt überhaupt keine Daten. In der Folge wird dann auch das 97-s4-connector-Skript nicht aufgeführt.

Der Join des zweiten Systems funktionierte erst, als die UCR-Variable samba4/dc auf den FQDN des ersten Samba-Servers gesetzt wurde. Folgender Codeblock ist im Joinskript:

# try again with --server
if [ -n "$samba4_dc" ]; then
   samba-tool domain join "$domainname" "$samba4_role" -U"$dcaccount"%"$bindpwd" --realm="$kerberos_realm" --server "$samba4_dc"
else
   samba-tool domain join "$domainname" "$samba4_role" -U"$dcaccount"%"$bindpwd" --realm="$kerberos_realm" --server "$ldap_master"
fi

Ich denke, wenn samba-tool fehlschlägt, sollte das Joinskript fehlschlagen und ggf. ein Hinweis auf samba4/dc ausgegeben werden.

Kann man nicht über die Service-Einträge an Rechnerobjekten feststellen, welche Systeme Samba4-Systeme sind? Dann sollte statt ldap/master eher eins dieser Systeme verwendet werden und nicht per Default der Master.
Comment 1 Stefan Gohmann univentionstaff 2012-07-17 17:09:51 CEST
UCS 3.1 will be the next release.
Comment 2 Tobias Peters univentionstaff 2012-09-25 14:36:53 CEST
Im Rahmen von  Bug #27457 wurde schon hinzugefügt, dass das Skript abbricht falls samba-tool fehlschlägt. Es wurde nun noch eine entsprechende Fehlermeldung hinzugefügt.
Comment 3 Stefan Gohmann univentionstaff 2012-10-15 09:27:42 CEST
(In reply to comment #0)
> Kann man nicht über die Service-Einträge an Rechnerobjekten feststellen, welche
> Systeme Samba4-Systeme sind? Dann sollte statt ldap/master eher eins dieser
> Systeme verwendet werden und nicht per Default der Master.

Ja, das kann man herausfinden und das sollte auch gemacht werden.

Reihenfolge:
 - zunächst so versuchen
 - wenn es nicht erfolgreich war, dann samba4/dc (wenn gesetzt)
 - wenn das auch nicht erfolgreich war im LDAP nach S4 DCs suchen und damit versuchen
 - erst abbrechen wenn das auch nicht erfolgreich war

→ interim-3
Comment 4 Tobias Peters univentionstaff 2012-10-23 10:15:18 CEST
Das Joinscript arbeitet nun nach der beschriebenen Reihenfolge. Ein Changelog Eintrag wurde hinzugefügt.
Comment 5 Stefan Gohmann univentionstaff 2012-11-13 09:35:45 CET
In meinem Test funktioniert das nicht:

+ samba-tool domain join deadlock32.local DC -UAdministrator%univention --realm=DEADLOCK32.LOCAL --server backup322.deadlock32.local --machinepass=tH0SIUYF --keep-existing
Failed to bind - LDAP error 1 LDAP_OPERATIONS_ERROR -  <SASL:[GSS-SPNEGO]: Failed to get session info: NT_STATUS_ACCESS_DENIED> <>
Failed to connect to 'ldap://backup322.deadlock32.local' with backend 'ldap': (null)
ERROR(ldb): uncaught exception - None
  File "/usr/lib/python2.6/dist-packages/samba/netcmd/__init__.py", line 168, in _run
    return self.run(*args, **kwargs)
  File "/usr/lib/python2.6/dist-packages/samba/netcmd/domain.py", line 563, in run
    machinepass=machinepass, use_ntvfs=use_ntvfs, dns_backend=dns_backend)
  File "/usr/lib/python2.6/dist-packages/samba/join.py", line 1116, in join_DC
    machinepass, use_ntvfs, dns_backend, promote_existing, keep_existing)
  File "/usr/lib/python2.6/dist-packages/samba/join.py", line 79, in __init__
    credentials=ctx.creds, lp=ctx.lp)
  File "/usr/lib/python2.6/dist-packages/samba/samdb.py", line 56, in __init__
    options=options)
  File "/usr/lib/python2.6/dist-packages/samba/__init__.py", line 114, in __init__
    self.connect(url, flags, options)
  File "/usr/lib/python2.6/dist-packages/samba/samdb.py", line 71, in connect
    options=options)
Comment 6 Stefan Gohmann univentionstaff 2012-11-13 09:36:18 CET
Created attachment 4785 [details]
join.log

join.log mit set -x im S4 Join Skript auf dem Slave
Comment 7 Arvid Requate univentionstaff 2012-11-13 12:07:20 CET
* Im univention-samba4 Joinscript wird jetzt generell kein Kerberos mehr zur Authentifikation beim Samba Domain join verwendet.

* Falls samba4/dc in UCR gesetzt ist, wird jetzt nur noch genau diese Maschine verwendet.

* Variablen-Deklaration für samba4/dc gibt es jetzt auch. Paket ist gerade für x86 gebaut, dauert für amd64 noch einem Moment.

* Changelog Eintrag ergänzt:

\item If Samba 4 cannot itself find a DC during a join the \ucsName{univention-samba4} joinscript will try joining against all DCs it an find in LDAP        offering Samba 4 services in turn. The \ucsUCRV{samba4/dc} can be used to specify a server to join against instead. Kerberos will not be used during Samba   domain join (\ucsBug{27469}).
Comment 8 Stefan Gohmann univentionstaff 2012-11-14 14:39:09 CET
Der Join Vorgang war grundsätzlich erfolgreich. Dabei sind weitere Bugs aufgefallen, die separat behandelt werden: Bug #29217  + Bug #28737 + Bug #29225.
Comment 9 Stefan Gohmann univentionstaff 2012-12-12 21:08:16 CET
UCS 3.1-0 has been released: 
 http://forum.univention.de/viewtopic.php?f=54&t=2125

If this error occurs again, please use "Clone This Bug".