Samba4- und OpenLDAP-Passwortsynchronisierung

Hier könnt ihr eure Tipps und Tricks zur Verwendung von Samba4 teilen
Gesperrt
ee68
Nachrichten: 11
Anmeldung: 8. Februar 2017 – 13:24 Uhr

8. Februar 2017 – 14:07 Uhr

Hallo,

vielen Dank für Ihre unschätzbare Samba4-Dokumentation! :D

Ich versuche, mithilfe Ihrer Dokumentation Samba4-Passwörter mit OpenLDAP zu synchronisieren.

Zu diesem Zweck habe ich einen DC3 (Debian) mit Samba 4.5.1 und GPGME hinzugefügt:
# smbd -b | grep "GPGME"
HAVE_GPGME_H
HAVE_GPGME
HAVE_GPGME_NEW
HAVE_LIBGPGME
ENABLE_GPGME


DC1 und DC2 laufen ebenfalls mit Samba 4.5.1, unterstützen aber kein GPGME, obwohl sie von Ihren DEB-Paketen aktualisiert wurden.
Ich glaube, ich habe die Antwort auf meine Frage gefunden: GPGME-Unterstützung ist auf allen DCs erforderlich!

Auf DC3 scheint alles zu funktionieren:
- das Skript syncpwd.py
- die Verbindung zum OpenLDAP-Server
- das Passwort-Caching mit samba-tool
- der Dienst samba-syncpasswords.service.

Der Benutzer-Hash lässt sich jedoch nicht mit dem Befehl
`samba-tool user getpassword xxx --attributes=virtualSSHA,samaccountname --decrypt-samba-gpg
dn: CN=xxx,CN=xxx,DC=xxx,DC=xxx
sAMAccountName: xxx

Got password OK` abrufen.


Die erforderlichen Pakete
(rng-tools, python-ldap, python-crypto, python-m2crypto, python-gpgme, python-gpgme-dbg und libgpgme11-dev) sind korrekt installiert.

Haben Sie eine Idee, wie ich die Benutzer-Hashes abrufen kann?
Sollte ich Samba 4.5.1 mit GPGME-Unterstützung auf DC1 und DC2 neu installieren?
Mit virtuellen Maschinen wäre es zwar möglich, aber etwas kompliziert.

Vielen Dank im Voraus für Ihre Hilfe,

Eric.
Benutzeravatar
Ssamson
Nachrichten: 245
Anmeldung: 20. Juni 2014 - 10:29 Uhr

1. März 2017 - 15:32 Uhr

Hallo,

ja, Sie benötigen GPME-Unterstützung auf allen Domänencontrollern.
Diese benötigen außerdem einen GPG-Schlüssel und die zugehörige ID in der smb.conf-Datei.

Das Skript funktioniert nur für Benutzer, die ihr Passwort nach der Implementierung geändert haben.

Sie können versuchen, Samba Version 4.5.4 anstelle einer Neuinstallation der Domänencontroller zu verwenden.
https://samba.tranquil.it/jessie64/samba-4.5.4/
Steven Samson - Tranquil IT Systems
Teilen Sie uns gerne Ihre Meinung zu Wapt im Forum mit oder beantworten Sie unsere Fragebögen :).
ee68
Nachrichten: 11
Anmeldung: 8. Februar 2017 – 13:24 Uhr

1. März 2017 - 17:54 Uhr

Hallo,

vielen Dank für Ihre Antwort.

Ich werde es so bald wie möglich mit Ihren Paketen testen, indem ich auf Version 4.5.4 aktualisiere.
Hoffentlich ist die GPGME-Unterstützung nach dem Update aktiviert.

Ich melde mich, sobald ich weiß, ob es funktioniert.

Schönen Abend noch.
ee68
Nachrichten: 11
Anmeldung: 8. Februar 2017 – 13:24 Uhr

9. Mai 2017 - 14:39 Uhr

Hallo,

ich habe auf allen Domänencontrollern auf Samba 4.5.4 aktualisiert und habe nun GPGME-Unterstützung.
Es funktioniert fast...
Ich kann den Passwort-Hash nach einer Passwortänderung erfolgreich abrufen:
virtualSSHA: {SSHA}am+7UkRfBjpH/9mu7THj14z5Qci6tdZp.
Passwort erfolgreich abgerufen.


Die Replikation in das OpenLDAP-Verzeichnis funktioniert jedoch nicht. In den Samba-SyncPasswords-Logs erhalte ich die Fehlermeldung „Exception global name 'time' is not defined“:
samba-syncpasswords[27698]: Di., 9. Mai 2017, 10:25:52: pid[27698]: DONE-EXIT: Exception global name 'time' is not defined
samba-syncpasswords[27698]: DONE-EXIT: change password to adldaps.


Die Verbindung zum LDAP-Verzeichnis funktioniert korrekt, und die Bindung im LDAP-Administratormodus ist erfolgreich. Wenn ich jedoch das Passwort eines AD-Benutzers ändere, der nicht in LDAP existiert, erhalte ich die Meldung: DONE-EXIT: User 'aduser3' not exist.

jemand eine Idee, wie ich das debuggen kann?

Weitere Fragen:
Benötigt jeder Domänencontroller einen eigenen Schlüssel und eine eigene ID in der smb.conf, oder sollten diese für alle Domänencontroller identisch sein?
Denn wenn ich auf einem Domänencontroller, dessen Passwort nicht geändert wurde, den Hash anfordere:
`samba-tool user getpassword adldaps --attributes=virtualSSHA,samaccountname --decrypt-samba-gpg`,
erhalte ich folgende Fehlermeldung: `WARNUNG: 'adldaps': SambaGPG kann nicht in Klartext entschlüsselt werden: ERR_BAD_SECKEY: Entschlüsselung fehlgeschlagen`.

Logischerweise sollte der Dienst `samba-syncpasswords` auf jedem Domänencontroller laufen?

Vielen Dank im Voraus

, Eric
Benutzeravatar
Ssamson
Nachrichten: 245
Anmeldung: 20. Juni 2014 - 10:29 Uhr

1. Juni 2017 - 16:31 Uhr

Die Replikation in das OpenLDAP-Verzeichnis funktioniert jedoch nicht. In den Protokollen von samba-syncpasswords erscheint die Fehlermeldung „Exception global name 'time' is not defined“:
samba-syncpasswords[27698]: Di 9. Mai 10:25:52 2017: pid[27698]: DONE-EXIT: Exception global name 'time' is not defined
samba-syncpasswords[27698]: DONE-EXIT: change password to adldaps
Die Angabe "Importzeit" fehlt am Anfang des Skripts
Die Verbindung zum LDAP-Verzeichnis funktioniert einwandfrei, und die Bindung als LDAP-Administrator ist erfolgreich. Wenn ich jedoch das Passwort eines AD-Benutzers ändere, der nicht in LDAP existiert, erhalte ich die Fehlermeldung: „ DONE-EXIT: Benutzer 'aduser3' existiert nicht“.

Hat jemand eine Idee, wie ich das debuggen kann?
Es findet keine Benutzerreplikation statt, nur die Passwortreplikation.
Sie müssen eine andere Methode finden, um Benutzer zu replizieren.
Weitere Fragen:
Benötigt jeder Domänencontroller (DC) einen eigenen Schlüssel und eine eigene ID in der smb.conf, oder sollten diese für alle DCs identisch sein?
Denn wenn ich den Hash auf einem DC anfordere, dessen Passwort nicht geändert wurde:
`samba-tool user getpassword adldaps --attributes=virtualSSHA,samaccountname --decrypt-samba-gpg`
WARNUNG: 'adldaps': SambaGPG kann nicht in CLEARTEXT entschlüsselt werden: ERR_BAD_SECKEY: Entschlüsselung fehlgeschlagen.

Und sollte der Dienst `samba-syncpasswords` logischerweise auf jedem DC ausgeführt werden?
Ja, Sie benötigen denselben GPG-Schlüssel und dieselbe GPG-ID auf allen Domänencontrollern.
Ja, der Dienst samba-syncpasswords muss auf jedem Domänencontroller ausgeführt werden
Steven Samson - Tranquil IT Systems
Teilen Sie uns gerne Ihre Meinung zu Wapt im Forum mit oder beantworten Sie unsere Fragebögen :).
julinux
Nachrichten: 9
Anmeldung: 1. Februar 2018 - 12:26 Uhr

1. Februar 2018 - 12:33 Uhr

Hallo,

ich habe das Skript gerade auf einem Samba4 4.5.12 (Debian Stretch)-System getestet und erhalte folgenden Fehler im Syslog, den ich nicht interpretieren kann.
Die Benutzer werden korrekt gefunden, aber die Synchronisierung schlägt fehl:

Feb 1 12:18:10 dc1 samba-syncpasswords[18022]: dn:
1. Feb. 12:18:10 dc1 samba-syncpasswords[18022]: userAccountControl: 66048
1. Feb. 12:18:10 dc1 samba-syncpasswords[18022]: pwdLastSet: 131619569553456160
1. Feb. 12:18:10 dc1 samba-syncpasswords[18022]: userPrincipalName: john.doe@domaine.lan
1. Feb. 12:18:10 dc1 samba-syncpasswords[18022]: sAMAccountName: john.doe
1. Feb. 12:18:10 dc1 samba-syncpasswords[18022]: objectGUID: 4e3d953f-7d85-4718-9286-4397c5c8cf64
1. Feb. 12:18:10 dc1 samba-syncpasswords[18022]: instanceType: 4 1.
Feb. 12:18:10 dc1 samba-syncpasswords[18022]: # supplementalCredentials::: GEHEIMES ATTRIBUT ENTFERNT 1.
Feb. 12:18:10 dc1 samba-syncpasswords[18022]: # unicodePwd::: GEHEIMES ATTRIBUT ENTFERNT
1. Feb. 12:18:10 dc1 samba-syncpasswords[18022]: 1. Feb. 12:18:10 2018: pid[18022]: #Passwords[28] 4e3d953f-7d85-4718-9286-4397c5c8cf64 S-1-5-21-220842246-1859053709-2034179705-1143
1. Feb. 12:18:10 dc1 samba-syncpasswords[18022]: # attrs=['dn', 'objectGUID', 'sAMAccountName']
1. Feb. 12:18:10 dc1 samba-syncpasswords[18022]: Do 1. Feb. 12:18:10 2018: pid[18022]: Aufruf von Popen[/opt/syncpwd.py] für CN=John Doe,CN=Users,DC=domain,DC=lan
1. Feb. 12:18:10 dc1 samba-syncpasswords[18022]: Do 1. Feb. 12:18:10 2018: pid[18022]: DONE-EXIT: NOK
1. Feb. 12:18:10 dc1 samba-syncpasswords[18022]: Do 1. Feb. 12:18:10 2018: pid[18022]: # Dirsync[29] 5ede31ac-7390-4dd4-91de-bf6293d3dcc0 S-1-5-21-220842246-1859053709-2034179705-1137


Ich habe jedoch die erforderlichen Abhängigkeiten korrekt installiert, und meine Samba-Version sollte GPME prinzipiell unterstützen:

]dc1:samba#smbd -b | grep "GPGME"
HAVE_GPGME_H
HAVE_GPGME
HAVE_GPGME_NEW
HAVE_LIBGPGME
ENABLE_GPGME.

Wenn ich jedoch versuche, den Passwort-Hash abzurufen, wird er nicht angezeigt.
Beispiel:

dc1:samba#samba-tool user getpassword john.doe --attributes=virtualSSHA --decrypt-samba-gpg
dn: CN=John Doe,CN=Users,DC=domain,DC=lan

Passwort erhalten OK.


Haben Sie eine Idee, woran das liegen könnte?

Vielen Dank.
julinux
Nachrichten: 9
Anmeldung: 1. Februar 2018 - 12:26 Uhr

6. Februar 2018 – 16:58 Uhr

Hallo,

ich antworte mir selbst. Ich habe das Problem gelöst. Es lag offenbar daran, dass das Passwort auf der Samba4-Seite nie geändert worden war. Nachdem ich die Passwörter für einige Testbenutzer geändert hatte, funktionierte es.
Anschließend konnte ich die Passwortsynchronisierung von Samba4 mit einem entfernten LDAP-Verzeichnis (andere Domäne) testen.
Die Synchronisierung funktioniert einwandfrei; mir ist jedoch etwas aufgefallen, das ich nicht verstehe.

Wenn ich versuche, das Passwort eines Benutzers über die Kommandozeile zu ändern:

`samba-tool user setpassword toto` `
Neues Passwort:
Passwort wiederholen:
Passwortänderung OK`

`#samba-tool user getpassword toto --attributes=virtualSSHA --decrypt-samba-gpg
dn: CN=toto,CN=Users,DC=domaine,DC=lan
virtualSSHA: {SSHA}Lnfkk3WSTzwJux3o7wCMCXjnlC/4zuCs

Passwort OK`


und die Logs in `/var/log/syslog` überwache, wird die Passwortänderung nicht sofort übernommen. Sie tritt nur auf, wenn ich das Passwort eines anderen Benutzers ändere. Gibt es eine Möglichkeit, die Änderung sofort wirksam werden zu lassen?

Das Anhängen dieses Skripts an den Befehl `samba-tool user syncpasswords` und dessen Ausführung über systemd scheint als Auslöser für die Weitergabe von Änderungen zu fungieren, aber in meinem Fall funktioniert es nur etwa bei jeder zweiten Änderung.

Hat jemand eine Idee?
Vielen Dank im Voraus. :)
julinux
Nachrichten: 9
Anmeldung: 1. Februar 2018 - 12:26 Uhr

11. Dezember 2018 - 12:06 Uhr

Guten Morgen,

Ich beantworte mir die Frage selbst, aber aus einem anderen Blickwinkel.
Meine vorherigen Tests wurden auf Red Hat 7 mit Ihren Paketen in Version 4.6.4 durchgeführt.
Nachdem ich auf einige Probleme mit Replikationstopologien gestoßen war, bin ich zu einer klassischeren Plattform zurückgekehrt, nämlich Ubuntu 18 und Samba 4.7.6 (und damit waren die Replikationsprobleme Geschichte).
Aber als ich das samba4-Passwortsynchronisierungsskript zusammen mit dem Skript syncpwd.py wieder eingefügt habe, bin ich nun auf ein anderes Problem gestoßen.

Hier ist die Spur davon:

Code: Alle auswählen

Dec 11 11:51:36 DC01 samba-syncpasswords[13698]: Tue Dec 11 11:50:24 2018: pid[13698]: DONE-EXIT: Exception {'desc': u'Other (e.g., implementation specific) error'}

Ich scheine keine Abhängigkeitsprobleme mit Python-Paketen zu haben und kann ein Passwort über die Befehlszeile entschlüsseln (der Passwort-Cache wurde korrekt initialisiert):

Code: Alle auswählen

 samba-tool user getpassword toto --attributes=virtualSSHA --decrypt-samba-gpg
dn: CN=Toto toto,CN=Users,DC=domaine,DC=fr
virtualSSHA: {SSHA}MdPe1hbGUSNJdKEhdgYSJCQCRaS3EuNxumB

Haben Sie Ideen, wie man dieses Problem beheben kann?
julinux
Nachrichten: 9
Anmeldung: 1. Februar 2018 - 12:26 Uhr

12. Dezember 2018 - 09:04 Uhr

Guten Morgen,

Hat jemand dieses Skript unter Ubuntu 18 getestet?
Ich möchte darauf hinweisen, dass die Konfiguration exakt derjenigen entspricht, die unter Red Hat 7 eingerichtet wurde und sehr gut funktioniert hat.
Ich habe das Skript sogar so angepasst, dass es die Samba4-Passwörter der Benutzer mit den Feldern „userpassword“ und „sambantpassword“ eines entfernten LDAP-Servers synchronisiert. (Falls es jemanden interessiert …)

In diesem Fall habe ich versucht, das python-ldap-Paket von Stretch (2.4.28-0.1) auf Ubuntu (Version 3.0.0-1) zurückzuportieren, jedoch ohne Erfolg.
Ich habe außerdem den samba-syncpassword-Dienst auf debuglevel=10 gesetzt, um mehr herauszufinden.

Hier ist der vollständige Track:

Code: Alle auswählen

Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]: lpcfg_servicenumber: couldn't find ldb
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]: ERROR(exception): uncaught exception - ERROR: 1 - cn=Thomas Dupont,ou=Clients,dc=remotedomain,dc=lan
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]: Traceback (most recent call last):
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:   File "/opt/syncpwd.py", line 64, in <module>
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:     set_user_password(ldap_destination, user['sAMAccountName'], user['password'])
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:   File "/opt/syncpwd.py", line 50, in set_user_password
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:     ldap_destination.modify_s(dn, ldif)
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:   File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 629, in modify_s
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:     return self.modify_ext_s(dn,modlist,None,None)
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:   File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 602, in modify_ext_s
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:     resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:   File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 749, in result3
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:     resp_ctrl_classes=resp_ctrl_classes
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:   File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 756, in result4
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:     ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:   File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 329, in _ldap_call
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:     reraise(exc_type, exc_value, exc_traceback)
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:   File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 313, in _ldap_call
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:     result = func(*args,**kwargs)
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]: ldap.OTHER: {'desc': u'Other (e.g., implementation specific) error'}
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:   File "/usr/lib/python2.7/dist-packages/samba/netcmd/__init__.py", line 176, in _run
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:     return self.run(*args, **kwargs)
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:   File "/usr/lib/python2.7/dist-packages/samba/netcmd/user.py", line 2281, in run
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:     sync_loop(wait)
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:   File "/usr/lib/python2.7/dist-packages/samba/netcmd/user.py", line 2170, in sync_loop
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:     dirsync_loop()
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:   File "/usr/lib/python2.7/dist-packages/samba/netcmd/user.py", line 2147, in dirsync_loop
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:     handle_object(ri, r)
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:   File "/usr/lib/python2.7/dist-packages/samba/netcmd/user.py", line 1964, in handle_object
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:     run_sync_command(obj.dn, ldif)
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:   File "/usr/lib/python2.7/dist-packages/samba/netcmd/user.py", line 1933, in run_sync_command
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:     raise Exception("ERROR: %s - %s\n" % (res, reply))
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]: Wed Dec 12 08:45:21 2018: pid[4731]: Using cache_ldb[/var/lib/samba/private/user-syncpasswords-cache.ldb]
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]: Wed Dec 12 08:45:21 2018: pid[4731]: currentPid: 4731
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]: Wed Dec 12 08:45:21 2018: pid[4731]: Wait before connect - sleep(1)
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]: Wed Dec 12 08:45:22 2018: pid[4731]: Connecting to 'ldapi:///var/lib/samba/private/ldap_priv/ldapi'
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]: Wed Dec 12 08:45:22 2018: pid[4731]: Resuming monitoring
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]: dirsyncFilter: (&(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=512)(!(sAMAccountName=krbtgt*)))
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]: dirsyncControls: ['dirsync:1:0:0:TVNEUwMAAACAmlevZ5HUAQAAAAAAAAAAoAAAAEnQAAAAAAAAAAAAAAAAAABJ0AAAAAAAAIzV6KNOBVBGkH8wcdL4YbEBAAAAAAAAAAYAAAAAAAAAjNXoo04FUEaQfzBx0vhhsUnQAAAAAAAAAiZpGzM1hUKp/pa8km+OEANyCAAAAAAAOYtMZ5FpwE+BYxhasmoMpkNuBwAAAAAA1WFydNCQ10eFOIIMdBpXTLHZCAAAAAAAkjvogTKirk2lnUjQTB/7g7yWAAAAAAAAROqcq1Vng0K7L30S0XzA5hc6BwAAAAAA', 'extended_dn:1:0']
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]: syncCommand: /opt/syncpwd.py
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]: Wed Dec 12 08:45:22 2018: pid[4731]: dirsync_loop(): results 1
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]: Wed Dec 12 08:45:22 2018: pid[4731]: # Dirsync[0] d95c335d-1c98-46be-a198-ad7d5de43e2c S-1-5-21-659298242-1763559122-495668692-1592
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]: dn: <GUID=d95c335d-1c98-46be-a198-ad7d5de43e2c>;<SID=S-1-5-21-659298242-1763559122-495668692-1592>;CN=Thomas Dupont,CN=Users,DC=localdomain,DC=lan
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]: pwdLastSet: 131890743129894340
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]: objectGUID: d95c335d-1c98-46be-a198-ad7d5de43e2c
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]: instanceType: 4
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]: # supplementalCredentials::: REDACTED SECRET ATTRIBUTE
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]: # unicodePwd::: REDACTED SECRET ATTRIBUTE
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]: # dBCSPwd::: REDACTED SECRET ATTRIBUTE
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]: Wed Dec 12 08:45:22 2018: pid[4731]: # Passwords[0] d95c335d-1c98-46be-a198-ad7d5de43e2c S-1-5-21-659298242-1763559122-495668692-1592
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]: # attrs=['dn', 'objectGUID', 'sAMAccountName', 'virtualClearTextUTF8', 'virtualSSHA']
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]: Wed Dec 12 08:45:22 2018: pid[4731]: Call Popen[/opt/syncpwd.py] for CN=Thomas Dupont,CN=Users,DC=localdomain,DC=lan
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]: Wed Dec 12 08:45:22 2018: pid[4731]: cn=Thomas Dupont,ou=Clients,dc=remotedomain,dc=lan
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]: Traceback (most recent call last):
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:   File "/opt/syncpwd.py", line 64, in <module>
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:     set_user_password(ldap_destination, user['sAMAccountName'], user['password'])
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:   File "/opt/syncpwd.py", line 50, in set_user_password
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:     ldap_destination.modify_s(dn, ldif)
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:   File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 629, in modify_s
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:     return self.modify_ext_s(dn,modlist,None,None)
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:   File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 602, in modify_ext_s
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:     resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all=1,timeout=self.timeout)
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:   File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 749, in result3
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:     resp_ctrl_classes=resp_ctrl_classes
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:   File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 756, in result4
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:     ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:   File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 329, in _ldap_call
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:     reraise(exc_type, exc_value, exc_traceback)
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:   File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 313, in _ldap_call
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]:     result = func(*args,**kwargs)
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]: ldap.OTHER: {'desc': u'Other (e.g., implementation specific) error'}
Dec 12 08:45:22 p-smb-01 samba-syncpasswords[4731]: Wed Dec 12 08:45:22 2018: pid[4731]: RESULT: 1
Dec 12 08:45:22 p-smb-01 systemd[1]: samba-syncpasswords.service: Main process exited, code=exited, status=255/n/a
Dec 12 08:45:22 p-smb-01 systemd[1]: samba-syncpasswords.service: Failed with result 'exit-code'.
Dec 12 08:45:23 p-smb-01 systemd[1]: samba-syncpasswords.service: Service hold-off time over, scheduling restart.

Hier sind auch die Versionen der verwendeten Pakete aufgeführt:

Code: Alle auswählen

python-gpgme                          0.3-1.2 (backporté depuis debian)
python-ldap                           3.0.0-1
python-samba                          2:4.7.6+dfsg~ubuntu-0ubuntu2.5    amd64        Python bindings for Samba
samba                                 2:4.7.6+dfsg~ubuntu-0ubuntu2.5    amd64        SMB/CIFS file, print, and login server for Unix
samba-common                          2:4.7.6+dfsg~ubuntu-0ubuntu2.5    all          common files used by both the Samba server 
tis-sysvolsync                        0.2.2                             amd64        Install a sync process for samba4 sysvol directory using syncthing tool.

python --version
Python 2.7.15rc1
julinux
Nachrichten: 9
Anmeldung: 1. Februar 2018 - 12:26 Uhr

12. Dezember 2018 - 11:14 Uhr

Um meine Frage selbst zu beantworten: Die Ausnahme lag einfach daran, dass der entfernte LDAP-Server nicht mehr schreiben konnte (volle Partition...) :)
Gesperrt