Tenho problemas com minha configuração do Samba. Dirijo o Samba há cerca de 12 ou 13 anos e nunca vi isso antes. Houve um tempo em que eu tinha bastante conhecimento sobre os domínios do Windows, mas o mundo do Windows passou por mim e as várias facetas do Samba que cresceram junto com o Active Directory estão me confundindo.
Minha configuração é muito simples. Acabei de ter um único servidor com algum espaço em disco e uma impressora que desejo compartilhar entre outros quatro computadores. Durante todos esses anos, tenho usado um domínio simples com um único PDC. Ultimamente, algo mudou. Não consigo descobrir se foi para o Lucid ou se foi uma atualização específica do Samba, mas algo continua quebrando no meu banco de dados.
De tempos em tempos, a senha da minha conta ficará “errada”. Serei capaz de fazer login - usando credenciais em cache, presumo - mas não poderei montar as unidades ou imprimir na impressora. Acho que isso acontece a cada 30 dias. Talvez seja 45. Tenho lidado com isso apenas redefinindo a senha no servidor, mas isso se tornou muito chato. Além disso, estou percebendo pelos logs que as senhas das máquinas também estão ficando confusas.
Finalmente adivinhei que meu banco de dados - que migrei e atualizei há cerca de uma dúzia de anos - estava muito desatualizado, então o excluí e comecei do zero em um novo domínio. Agora está acontecendo de novo, então esse claramente não era o problema.
Achei que talvez fosse apenas minha caixa do Windows 7, mas agora minhas máquinas XP também estão fazendo isso.
Eu não acho que seja uma política de expiração de senha. Se fosse, eu deveria receber uma mensagem informando que é hora de alterar minha senha, certo? Quando vou investigar algo assim, fico perdido com todas as diversas permutações de comandos net
e pdbedit
e wbinfo
. Estou acostumado a não precisar deles em geral. Acho que adicionei minha conta ao grupo "Administradores de domínio" com um deles em algum momento, mas não me lembro como isso é feito.
Estou especialmente confuso com a documentação sobre se devo ter o winbind em execução na minha configuração. Acho que não, mas obviamente wbinfo
é necessário correr para fazer diagnósticos, e acho que não estou prejudicando nada ao fazê-lo funcionar. Ele é executado por padrão no Ubuntu, então eu queria deixá-lo e trabalhar com ele, se possível. Winbind NÃO é referenciado em meu /etc/nsswitch.conf.
Estou recebendo muitas mensagens de erro interessantes em meus registros, mas o Google não está me levando a entender nenhuma delas. Aqui está um no smb.conf me dizendo que uma das minhas estações de trabalho não está conectada corretamente:
[2011/08/27 19:02:04, 0] rpc_server/srv_netlog_nt.c:603(_netr_ServerAuthenticate3)
_netr_ServerAuthenticate3: netlogon_creds_server_check failed. Rejecting auth request from client PROXIMA machine account PROXIMA$
Muito deste de log.winbindd-idmap no Google, sem nenhuma indicação clara do que pode estar errado ou se precisa de conserto. (E sim, preciso do idmapd para NFSv4.) Parece específico do Ubuntu. Não tenho ideia do que pode estar "incompleto" na minha "configuração".
[2011/08/27 19:02:04, 0] winbindd/idmap_tdb.c:287(idmap_tdb_open_db)
Upgrade of IDMAP_VERSION from -1 to 2 is not possible with incomplete configuration
[2011/08/27 19:02:04, 1] winbindd/idmap.c:321(idmap_init_domain)
idmap initialization returned NT_STATUS_UNSUCCESSFUL
EUpensareste do log.winbindd é inofensivo, pois o winbindd está apenas descobrindo se meu servidor é um PDC ou outra coisa:
[2011/08/27 17:55:46, 0] libsmb/namequery.c:75(saf_store)
saf_store: refusing to store 0 length domain or servername!
[2011/08/27 17:55:46, 1] rpc_client/cli_pipe.c:949(cli_pipe_validate_current_pdu)
cli_pipe_validate_current_pdu: RPC fault code DCERPC_FAULT_OP_RNG_ERROR received from host EXCELSIOR!
Finalmente, aqui está meu smb.conf:
[global]
workgroup = STARFLEET
map to guest = Bad User
obey pam restrictions = yes
smb passwd file = /var/lib/samba/passdb.tdb
private dir = /var/lib/samba
pam password change = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = yes
log level = 2
load printers = yes
printcap name = cups
add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
add group script = /usr/sbin/addgroup --force-badname %g
add machine script = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u
logon script = %U.bat
logon path =
logon drive = Z:
logon home =
domain logons = yes
os level = 65
preferred master = yes
domain master = yes
wins support = yes
usershare allow guests = yes
use sendfile = yes
[homes]
comment = Home Directories
path = /data/Users/%U
valid users = %S
read only = no
create mask = 0700
directory mask = 0700
[netlogon]
comment = Network Logon Service
path = /var/lib/samba/netlogon
guest ok = yes
browseable = no
browsable = no
share modes = no
[printers]
comment = All Printers
path = /var/spool/samba
create mask = 0700
printable = yes
browseable = yes
browsable = yes
[data]
path = /data
read only = no
guest ok = yes
[temp]
path = /data/Temp
read only = no
guest ok = yes
[homes]
comment = Home Directories
path = /data/Users/%U
valid users = %S
read only = no
create mask = 0700
directory mask = 0700
Então... O que está acontecendo e como posso corrigir isso?