Odpowiedzi:
Zrobiłem to w systemie OS X, to samo polecenie istnieje w systemie Linux.
Według tej strony . Wygląda na to, jak uniknąć dodawania nazwy użytkownika do używanego pliku smbpasswdsmbpasswd -U <user> -r <IP address of DC>
NT_STATUS_IO_TIMEOUT
. Czy istnieje port, który należy otworzyć, aby to polecenie działało?
Korzystam z tego samego rozwiązania co @JamesBarnett
, właśnie utworzyłem skrypt, który również pobiera adres IP kontrolera domeny (nigdy nie wiem, jaki jest adres IP, kiedy muszę zmienić hasło) .
#!/bin/bash
USER="your.username"
DOMAIN="yourdomain.com"
smbpasswd -U $USER -r `nslookup _ldap._tcp.dc._msdcs.$DOMAIN | awk '{print $2;exit;}'`
nslookup
Komenda nie będzie działać, jak podano, ponieważ rekord LDAP jest typu DNS SRV. Musisz wykonać: nslookup -type=SRV ...etc...
i odpowiednio go przefiltrować (jest to bardziej skomplikowane niż zwykły awk), lub jeszcze lepiej: $(dig SRV +noall +additional _ldap._tcp.dc._msdcs.$DOMAIN | awk '{print $5}')
zastępuje cały nslookup pomiędzy posiadanymi backtickami powyżej.
-a
środki flaga „nazwa użytkownika powinna być dodana do lokalnego pliku smbpasswd”. Możliwe, że strona podręcznika jest niepoprawna; ale jestem podejrzliwy.