Alterando a senha com apenas uma linha de comando

Publicado por vhprice em 07/06/2006

[ Hits: 26.345 ]

 


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

Resoveldo problema com proxy no Conectividade Social

Erros na instalação do MSN-PROXY

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

Leitura recomendada

Base de dados mais organizada em shell script

Renomeando arquivos de maiúsculo para minúsculo

Aprenda a usar o google, e melhore seu currículo

Script para redimensionar muitas fotos

Renomeando extensões de centenas de arquivos de uma só vez

  

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