Henrique,

Teria que escrever dois programas em linguagem C, um que validasse o usuário e 
outro que fizesse a troca de senha (O passwd não aceita passar usuário e senha 
diretamente), nenhum dos dois é complexo, e ambos deveriam estar com 777 e 
stick bit levantado, em outras palavram rodariam como root, o que pode levar a 
uma brecha de segurança.

Já a página web em php chamaria primeiro a validação da senha antiga e depois a 
troca, não é complexo também.

Aí que complica um pouco, se o usuário que quer trocar a senha tiver o 
/usr/sbin/nologin no /etc/passwd, ou tiver com o 'restrict shell' ativo, não 
conseguirá fazer a validação da senha antiga.

O que me leva a algumas questões:

  *   Os usuários tem que trocar a senha de tempos em tempos?
  *   Como resolver se um usuário esquecer a senha antiga?
  *   Esta página web rodará pro mundo (Extremamente perigoso) ou só numa 
intranet?

Uma ideia, seria fazer um formulário mais simples, este poderia rodar pho mundo 
(Um pouco menos perigoso, mas teria que colocar um captcha para não ter robôs 
tentando autenticar) ou só na intranet, onde o usuário se autentica via 
.htaccess com a senha antiga e preenche a senha nova, esta senha nova viria via 
e-mail ao administrador da rede (pelo mail do PHP ou PHPMailer), mas a troca 
não seria imediata, isto deve estar bem escrito no formulário (o que pode 
demandar tempo/disponibilidade do administrador), e o administrador deve trocar 
duas senhas (a do .htpasswd e a do usuário), isto pode vir no e-mail pro 
administrador lembrar (o usuário não vê isto).

Não sei se isto lhe ajudaria.

Att,
Paulo


Em 30/11/2017 18:21, Henrique Fagundes escreveu:

Prezados Colegas,

Boa tarde e saudações "pinguianas" para todos.

Gostaria de saber se alguém pode me indicar uma alternativa ao Usermin. Preciso 
implementar uma forma do usuário poder alterar a senha dele a partir de uma 
página web.

Pode ser em php.

Só é preciso que ele possa entrar com a senha antiga dele, colocar a nova e 
confirmar.

Os usuários são nativos do Linux, então basicamente o que o sistema tem que 
fazer é um "passwd usuario".

Alguém conhece alguma solução em PHP que faça isso?

Ficarei muito grato se alguém puder ajudar.

Atenciosamente,

Henrique Fagundes
henri...@linuxadmin.com.br<mailto:henri...@linuxadmin.com.br>
Skype: magnata-br-rj
Linux User: 475399

https://www.aprendendolinux.com
https://www.facebook.com/AprendendoLinux
https://youtube.com/AprendendoLinux
https://twitter.com/AprendendoLinux
https://telegram.me/AprendendoLinux
______________________________________________________________________
Participe do Grupo Aprendendo Linux
https://groups.google.com/forum/#!forum/portal-aprendendo-linux

Ou envie um e-mail para:
portal-aprendendo-linux+subscr...@googlegroups.com<mailto:portal-aprendendo-linux+subscr...@googlegroups.com>



Responder a