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;}'`
nslookup
Befehl 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.
-a
Flag bedeutet "Der folgende Benutzername sollte zur lokalen smbpasswd-Datei hinzugefügt werden". Möglicherweise ist die Manpage falsch. aber ich bin misstrauisch.