Zmień hasło Windows AD z Linuksa

Odpowiedzi:

19

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>

JamesBarnett
źródło
Według strony podręcznika smbpasswd nie zrobi tego dobrze; te -aśrodki flaga „nazwa użytkownika powinna być dodana do lokalnego pliku smbpasswd”. Możliwe, że strona podręcznika jest niepoprawna; ale jestem podejrzliwy.
larsks
Dzięki, sprawdziłem stronę, a potem sprawdziłem google i zmieniłem odpowiedź.
JamesBarnett,
2
Błąd to: NT_STATUS_ACCESS_DENIED. Ale jeśli użyję smbclient -L do próby wyświetlenia listy serwerów, otrzymam inny komunikat o błędzie, że moje hasło wygasło, co oznacza, że ​​hasło, które wpisuję jest prawidłowe.
Trejkaz
I dostać NT_STATUS_IO_TIMEOUT. Czy istnieje port, który należy otworzyć, aby to polecenie działało?
Christoffer Reijer
3

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;}'`
Justin
źródło
1
nslookupKomenda 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.
Mike S
@MikeS to polecenie, które wyświetla wiele serwerów oddzielonych spacjami, ale podejrzewam, że smbpasswd może chcieć jednego serwera.
Trejkaz
@Trejkaz Tak, właśnie to rozumiem przez „odpowiednio odfiltruj”. Rekordy DNS są typu SRV, czyli na początek. Jak uzyskać rekordy SRV, które pokazałem. Teraz, jak wybrać kontroler domeny, tej części nie jestem pewien.
Mike S