Alterando a senha com apenas uma linha de comando

Publicado por vhprice em 07/06/2006

[ Hits: 26.628 ]

 


Alterando a senha com apenas uma linha de comando



Fala! galera do VOL.

Aqui vai uma dica para quem precisa alterar a senha de um usuário, mas precisa de uma opção que não seja o passwd.

Eu estava fazendo um script, há um tempo atrás, no qual eu precisava alterar a senha de um usuário, mas não podia ficar confimando 2 ou, às vezes, até 3 vezes (weak password) para definir uma senha com o passwd.

Depois de uma furungada mais a fundo descobri o seguinte: existe um comando no Linux chamado "chpasswd" que, com a ajuda de um echo e de um pipe (|), vai nos ajudar. O comando é simples:

# echo [nome_do_usuario]:[nova_senha] | chpasswd

Por exemplo, se eu quero alterar a senha do usuario "carlinhos" para "metal" eu devo digitar:

# echo carlinhos:metal | chpasswd

Era isso aí galera. Espero que ajude alguém!!!

Falow!

Outras dicas deste autor

Erros na instalação do MSN-PROXY

Unable to build data connection: Connection Refused - Firewall barrando FTP

Resoveldo problema com proxy no Conectividade Social

Leitura recomendada

Lendo manpages no Firefox

Shell Script para colorir seus scripts

Como restaurar as cores do terminal

Comando para mostrar o IP utilizado na Internet

Script para manter VPN PPTP ativa

  

Comentários
[1] Comentário enviado por bicalho em 07/06/2006 - 12:18h

Gostei da dica!!!
Já esta na linha lista secreta de soluções simples...

[2] Comentário enviado por kikokiller em 08/06/2006 - 14:29h

ola estou com o seguinte problema tentei usar este comando para o php para colocar senha em um usuario criado o codigo que eu coloquei é o seguinte:
$ellogin = $_POST["login"];
$elsenha = $_POST["password"];
$admuser = "sudo useradd $ellogin";
$executar = shell_exec($admuser);
$admpass = "sudo echo $ellogin:$elsenha |chpasswd";
$executar1 = shell_exec($admpass);

enfim quando executo o codigo ele cria o usuario mas nao colocar a senha, se eu digitar no console do linux funciona ele pega o usuario e cria a senha numa boa, mas quando tento pelo navegador nao da certo até os logs de erro eu ja olhei ele coloca como se o codigo tivesse funcionado, mas a senha que bom nada sabe o que pode ser??
log:
un 8 14:28:53 lab3 sudo: www : TTY=unknown ; PWD=/home/rony/public_html ; USER=root ; COMMAND=/usr/sbin/useradd teste
Jun 8 14:28:53 lab3 sudo: www : TTY=unknown ; PWD=/home/rony/public_html ; USER=root ; COMMAND=/bin/echo teste:123456

se puder ajudar fico agradecido

[3] Comentário enviado por MasterSavage em 08/06/2006 - 17:59h

você pode tentar colocar os comandos em um shell script, que será executado pelo php, o script aceitaria o usuario e a senha como parametros.

[4] Comentário enviado por jefersonlinux em 09/06/2006 - 15:21h

cara essa dica me ajudou muito, estava correndo atras disso faz tempo, valeu!

[5] Comentário enviado por vhprice em 09/06/2006 - 15:42h

P/ KikoKiller ... E ae mew ... blz? cara, o que vc pode fazer para resolver o seu problema eh o seguinte, edite o seu arquivo /etc/sudoers para que o comando tenha permissao de ser executado pelo php...
ex:

apache ALL = (ALL) NOPASSWD: /usr/sbin/chpasswd

no meu caso o usuario foi o Apache.

flw

[6] Comentário enviado por fabiobarby em 03/07/2006 - 22:21h

dica mto boa... ja anotei aqui tbm! mto útil!

[7] Comentário enviado por sblinux em 11/01/2007 - 14:16h

ótima dica, me ajudou muito

OBRIGADO ....

[8] Comentário enviado por xshadow em 02/05/2007 - 18:10h

Bacana, estas dicas de resumir linhas é muito intereçante, é bom que os programadores adquiram o costume de trabalhar em poucas linhas.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts