Antworten:
Ich habe dies unter OS X gemacht, der gleiche Befehl existiert auch unter Linux.
Laut dieser Seite . Sieht so aus, als würde vermieden, den Benutzernamen zur zu verwendenden smbpasswd-Datei hinzuzufügensmbpasswd -U <user> -r <IP address of DC>
NT_STATUS_IO_TIMEOUT. Gibt es einen Port, der geöffnet werden muss, damit dieser Befehl funktioniert?
Ich verwende die gleiche Lösung wie @JamesBarnett, ich habe gerade ein Skript erstellt, das auch die IP des Domänencontrollers abruft (ich weiß nie, wie die IP lautet, wenn ich mein Passwort ändern muss) .
#!/bin/bash
USER="your.username"
DOMAIN="yourdomain.com"
smbpasswd -U $USER -r `nslookup _ldap._tcp.dc._msdcs.$DOMAIN | awk '{print $2;exit;}'`
nslookupBefehl funktioniert nicht wie angegeben, da der LDAP-Eintrag vom DNS-Typ SRV ist. Sie müssen Folgendes ausführen: nslookup -type=SRV ...etc...und es entsprechend filtern (es ist komplizierter als ein einfaches awk), oder noch besser: $(dig SRV +noall +additional _ldap._tcp.dc._msdcs.$DOMAIN | awk '{print $5}')Ersetzt den gesamten nslookup zwischen den Backticks, die Sie oben haben.
-aFlag bedeutet "Der folgende Benutzername sollte zur lokalen smbpasswd-Datei hinzugefügt werden". Möglicherweise ist die Manpage falsch. aber ich bin misstrauisch.