Ответы:
Я сделал это на OS X, такая же команда существует на Linux.
По данным этого сайта . Выглядит как способ избежать добавления имени пользователя в файл smbpasswd для использованияsmbpasswd -U <user> -r <IP address of DC>
NT_STATUS_IO_TIMEOUT
. Для работы этой команды должен быть открыт порт?
Я использую то же решение @JamesBarnett
, что и я, только что создал скрипт, который также получает IP-адрес контроллера домена (я никогда не знаю, что это за IP, когда мне нужно сменить пароль) .
#!/bin/bash
USER="your.username"
DOMAIN="yourdomain.com"
smbpasswd -U $USER -r `nslookup _ldap._tcp.dc._msdcs.$DOMAIN | awk '{print $2;exit;}'`
nslookup
не будет работать, как указано, потому что запись ldap имеет тип DNS SRV. Вы должны выполнить: nslookup -type=SRV ...etc...
и отфильтровать его соответствующим образом (это сложнее, чем простой awk), или еще лучше: $(dig SRV +noall +additional _ldap._tcp.dc._msdcs.$DOMAIN | awk '{print $5}')
заменяет весь nslookup между обратными галочками, которые у вас есть, выше.
-a
флаг означает «имя пользователя , следующие должны быть добавлены в локальный файл smbpasswd». Возможно, справочная страница неверна; но я с подозрением