Servidor Samba com troca de senha obrigatória

A necessidade de modificar a senha do usuário do SAMBA no próximo login, surgiu quando resolvi fazer a migração do samba 2 com ldap para o samba 3 com tdbsam.

No post, Gerenciando usuários de um servidor samba com o pdbedit, demonstrei uma solução utilizando o User Manager do Windows, já que o pdbedit não funcionou com o comando:

root# pdbedit --pwd-must-change-time="2010-01-01" \
--time-format="%Y-%m-%d" nome_do_usuario

Qual era o meu problema ?

Modificar a senha de mais de 300 usuário para uma senha padrão, e forçar a troca da senha no próximo login.

Ficaria inviável, fazer pelo User Manager, pois seria usuário por usuário. Perguntei a algumas listas de discução, e recebi a ajuda do FABIANO.

A sugestão foi utilizar o comando net do SAMBA.

Então para forçar a troca de senha no proximo login de um servidor samba, utilizei o comando sugerido.


net sam set pwdmustchangenow nome_do_usuario yes

Funcionou corretamente, para verificar, podemos usar este comando, com o pdbedit


root #>pdbedit -a pedrodelfino
new password:
retype new password:
Unix username: pedrodelfino
NT username:
Account Flags: [U ]
User SID: S-1-5-21-951807190-2904679001-2272606852-1023
Primary Group SID: S-1-5-21-951807190-2904679001-2272606852-1003
Full Name: Pedro Delfino
Home Directory: \\sdl2\pedrodelfino
HomeDir Drive: U:
Logon Script: logon.bat
Profile Path:
Domain: IP
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: never
Kickoff time: never
Password last set: 0
Password can change: 0
Password must change: 0

Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

Oque devemos perceber é esta saída:

Password last set: 0
Password can change: 0
Password must change: 0

Onde o parametro Password must change é oque indica que o usuário deverá trocar a senha no proximo login.

Então para finalizar, coloquei aqui o script, que fiz para modificar a senha de todos os usuário do samba, para uma senha padrão, e já setar a opção Password must change=0.


#!/bin/bash
USER=`pdbedit -L | cut -d: -f1`
for i in $USER; do
(echo senha_padrao; echo senha_padrao)| smbpasswd -s $i
net sam set pwdmustchangenow $i yes
done

Experimente digitar o comando net sam set

net sam set
net sam set homedir Change a user's home directory
net sam set profilepath Change a user's profile path
net sam set comment Change a users or groups description
net sam set fullname Change a user's full name
net sam set logonscript Change a user's logon script
net sam set homedrive Change a user's home drive
net sam set workstations Change a user's allowed workstations
net sam set disabled Disable/Enable a user
net sam set pwnotreq Disable/Enable the password not required flag
net sam set autolock Disable/Enable a user's lockout flag
net sam set pwnoexp Disable/Enable whether a user's pw does not expire
net sam set pwdmustchangenow Force users password must change at next logon

Vai retornar as opções que podem ser modificadas.

Então é isso, encontramos uma solução para o problema. Espero ter ajudado, ainda não terminei a migração do servidor SAMBA, assim que terminar, pretendo colocar uma documentação completa aqui, como já fiz outra fez com a implementação com o SAMBA 2 com ldap (Integração de redes Linux e Windows com Samba e OpenLDAP)
samba com troca de senha obrigatório

6 Responses to “Servidor Samba com troca de senha obrigatória”

  1. Servidor SAMBA com troca de senha obrigatória…

    A necessidade de modificar a senha do usuário do SAMBA no próximo login surgiu quando resolvi fazer a migração do samba 2 com ldap para o samba 3 com tdbsam.
    No post “Gerenciando usuários de um servidor samba com o pdbedit” demonstrei …

  2. Amigo gostaria de saber o pq em especificico migrar de uma base sólida em ldap pra samba 3 com tdbsam não seria melhor samba 3 com ldap ?
    Eu não entendi direito :(

  3. Prezado, o comando net não tem a flag sam na minha instalação do ubuntu server, gostaria de saber se tenho que instalar um pacote especifico ?

    Obrigado

  4. Olá gustavo… Estes testes foram feitos no debian debian

    Testei no meu ubuntu 7.10 funcionou normal

    tenho estes pacotes instalados o samba

    pedrod@pedrod:~$ sudo dpkg -l | grep -i samba
    ii samba 3.0.26a-1ubuntu2.3 a LanManager-like file and printer server fo
    ii samba-common 3.0.26a-1ubuntu2.3 Samba common files used by both the server a

  5. Olá Giorgio …

    Seguinte: Estou utilizando o ldap com samba até hoje na versão 2 do samba e do ldap.

    mas … tenho muitos problemas de lentidão

    o servidor não para, mas é muito lento para fazer uma modificação em um usuário por exemplo.

    lembrando que isto começou a acontecer quando passei dos 300 usuários.

    por este motivo quero fazer a migração até para fazer um teste… depois fica facil tbm migrar para samba 3 com ldap.

    Caso tenha uma experencias de samba 3 com ldap 3 queria saber como é a performace … depois de uns 200 usuários

  6. usando o comando net sam set pwdmustchangenow funciona perfeitamente, quando a estação é xp. Com o vista não funciona. Alguém sabe como resolver?

Leave a Reply