+1

Modificando senha de usuarios Linux no PHP

criado por Rodrigo Romano Moreira em 29/01/2004 9:04am
O script em php para alterar a senha:

<?php
// Autor(a):  Heloisa Karina Costa
// Fonte : http://bazar.conectiva.com.br/listas/linuxisp-br/arquivo/2001/10/msg00370.html
// Conexão para trocar senha de usuário sistema
// $servidor = ip do servidor de poppassd e autenticação
// $porta = porta específica do serviço
// $login = login do usuário
// $senhaold = senha atual
// $senhanew = nova senha


$socket = fsockopen($servidor,$porta);
if (!$socket) {
    echo "Conexão Recusada!"; 
}

$out = fgets($socket,4096);

if (strpos("$out","500")>-1) {
    echo "Conexão Recusada!"; 
}

fwrite($socket,"user $login\n");
$out = fgets($socket,4096);

if (strpos($out,"500")>-1) {
    echo "Usuário Inválido!"; 
}

fwrite($socket,"pass $senhaold\n");
$out = fgets($socket,4096);

if (strpos($out,"500")>-1) {
    echo "Senha inválida!"; 
}

fwrite($socket,"newpass $senhanew\n");
$out = fgets($socket,4096);

if (strpos($out,"200") >-1) {
    echo "Senha Alterada com Sucesso!"; 
}

fwrite($socket,"quit\n");
?>

Agora é só criar um formulário e alterar o script para suas necessidades.


Até a próxima.

Comentários:

Mostrando 1 - 10 de 10 comentários
Antonio disse:
Configurei o poppassd, embora está dando um pequeno problema em /etc/hosts.deny conexao recusada...

Gostaria de saber
Como eu faria para criar usuários tb pela web?


Obrigado.
10/09/2004 4:03pm (~14 anos atrás)

no meu conectiva 8 aparace o seguinte erro

Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/trocasenha.php on line 46

a linha 46 tem o seguinte:
fwrite($socket,"pass $senhaold\n");

pode me dar uma ajuda ..
18/04/2004 12:22am (~14 anos atrás)

Se não foi a dica que eu passei ,posta ela aqui.
10/02/2004 6:35pm (~15 anos atrás)

Ricardo disse:
Obrigado. Consegui instalar a biblioteca.
10/02/2004 1:14pm (~15 anos atrás)

Infelizmente Conectiva não é minha area .Uso Debian e Suse.
Mais no conectiva você pode utilizar apt.
Dá um apt-cache search pam e vê os resultados . Caso achei o pacote , dê um apt-get install e nome do pacote.
10/02/2004 12:35pm (~15 anos atrás)

Ricardo disse:
Caro Rodrigo,
Sou usuário iniciante em Linux. Uso o Conectiva 8. Como consigo instalar as bibliotecas necessárias para a autenticação dos usuários.

Se houver como, poderia me dar uma dica?

Obrigado.
10/02/2004 12:14pm (~15 anos atrás)

Obrigado.
Saiu na Revista do Linux recentemente um artigo sobre o Horde. Ele indicaram o poppassd para trocar a senha.
05/02/2004 10:06am (~15 anos atrás)

Testei e funciona perfeitamente no Debian, porém, acho interessante informar que o usuário do apache no Debian é www-data, entao o passo 6 ficaria assim:
6.Adicione ao arquivo /etc/hosts.deny:
poppassd: www-data@localhost: allow
poppassd: ALL: deny
e que não é necessária nenhuma alteração no arquivo /etc/pam.d/poppassd como explicado no passo 7. Ou seja, se vc está usando o Debian, ignore o passo 7.
Parabéns pelo artigo Rodrigo.
05/02/2004 7:56am (~15 anos atrás)

Concordo com vc.Utilizava esse script em conjunto com Uebimiau.
Criei esse artigo ,por que toda hora tem um pedindo isso no php-pt.
Uma boa ideia tambem é definir um tamanho minimo para senha e obrigar a mescla de letras com numeros.
04/02/2004 6:03am (~15 anos atrás)

Cléver Anjos disse:
Grande Rodrigo,
Apenas para comentar, acho que seria interessante colocar alguma validação neste script antes de enviar para o serviço.

Eu usaria um substr() para cortar a string e evitar um possivel buffer overflow no servico (nao tive tempo de olhar o codigo fonte) mas é sempre bom conferir, né?

Mas de qualquer forma valeu!
02/02/2004 7:43am (~15 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)