Respostas:
Eu fiz isso no OS X, o mesmo comando existe no linux.
De acordo com este site . Parece o caminho para evitar adicionar o nome de usuário ao arquivo smbpasswd para usarsmbpasswd -U <user> -r <IP address of DC>
NT_STATUS_IO_TIMEOUT
. Existe uma porta que precise ser aberta para que este comando funcione?
Estou usando a mesma solução @JamesBarnett
que acabei de criar um script que também obtém o IP do controlador de domínio (nunca sei qual é o IP quando preciso alterar minha senha) .
#!/bin/bash
USER="your.username"
DOMAIN="yourdomain.com"
smbpasswd -U $USER -r `nslookup _ldap._tcp.dc._msdcs.$DOMAIN | awk '{print $2;exit;}'`
nslookup
comando não funcionará como fornecido, porque o registro ldap é do tipo DNS SRV. Você precisa executar: nslookup -type=SRV ...etc...
e filtrá-lo adequadamente (é mais complicado do que um simples awk), ou melhor ainda: $(dig SRV +noall +additional _ldap._tcp.dc._msdcs.$DOMAIN | awk '{print $5}')
substitui todo o nslookup entre os backticks que você possui acima.
-a
sinalizador significa "o nome de usuário a seguir deve ser adicionado ao arquivo smbpasswd local". É possível que a página de manual esteja incorreta; mas eu suspeito.