Script forçar usuário digitar senha correta. [RESOLVIDO]

1. Script forçar usuário digitar senha correta. [RESOLVIDO]

Rafael Tavares
RafaelCucaFresca

(usa Ubuntu)

Enviado em 26/07/2016 - 18:31h

Boa noite pessoal, mais uma dúvida!

usando o comando passwd, como faço para que o usuário digite a senha que eu quero que ele informe

ex: passwd fulano, ao solicitar a senha ele deverá informar 123456, se informar uma senha diferente dessa, trazer mensagem de senha invalida até ele digitar a senha correta.

alguem pode me ajudar?




  


2. Re: Script forçar usuário digitar senha correta.

marcio mendes mendes
conectadohost

(usa XUbuntu)

Enviado em 26/07/2016 - 18:45h

Olá,
sua duvida é a mesma do outro post é só editar o script para essa finalidade.
https://www.vivaolinux.com.br/topico/Shell-Script/Criar-usuario-ao-rodar-script-shell

---> A arte de programar consiste na arte de organizar e dominar a complexidade.
---> Dijkstra <---


3. Re: Script forçar usuário digitar senha correta. [RESOLVIDO]

Rafael Tavares
RafaelCucaFresca

(usa Ubuntu)

Enviado em 27/07/2016 - 08:46h

Bom dia!

Desculpe o meu pouco conhecimento, eu sou novo no linux e muito curioso, estou tentando montar o while na definição de senha do usuário mais não estou conseguindo, vou colar o script aqui, voce pode me ajudar?

#!/bin/bash


echo "\033[01;32m NESTE MOMENTO, DEVERÁ CRIAR O USUARIO FULANO DEFINIDO COM A SENHA 123456\033[01;37m"
HOME="fulano"
user=""
senha="123456"
validasenha=""
while [ "$user" != "$HOME" ]; do
echo ""
echo "\033[01;32m DIGITE O USUARIO FULANO\033[01;37m"
read user
if [ "$user" = "$HOME" ]; then
home="/home/"$user""
useradd $user -d $home/ -s /bin/bash -m
echo ""
echo "\033[01;32m USUARIO FULANO CRIADO COM SUCESSO\033[01;37m"
break #Sai do laço do while
else
echo ""
echo "\033[01;32m USUARIO INCORRETO\033[01;37m"
fi
done

while [ "$validasenha" != "$senha" ]; do
echo ""
echo "digite a senha do usuario FULANO"
read validasenha
passwd $user
if ["$validasenha" = "$senha"];
then
echo "senha criada com sucesso"
break
else
echo "senha incorreta"
fi
done


desde já obrigado...


4. Re: Script forçar usuário digitar senha correta.

marcio mendes mendes
conectadohost

(usa XUbuntu)

Enviado em 27/07/2016 - 09:28h

Olá,
opa está no caminho meu rapaz faltou pequenos ajustes.
ajustei e funcionou http://i.prntscr.com/374b2847600542b0b0a7e6f33057584f.png
como usei pra testes removi algumas partes do seu script e não coloquei o comando pra criar a conta
apenas eu exibi a mensagem, mas você pode colocar o comando abaixo da mensagem.
quando você quiser testar 2 funções você usa o sinal de
 &&  

desse modo meio que acaba juntando duas em uma só.
while [ "$user" != "$HOME" ] && [ "$senha" != "$validasenha" ];
na opção read senha você estava lendo a variavel $validasenha no qual era pra ler $senha
echo "digite a senha do usuario FULANO"
read validasenha
se você pede para o usuario digitar a senha você tem que ler a senha e não a validasenha
echo "digite a senha do usuario FULANO"
read senha


#!/bin/bash
SHELL=/bin/sh
PATH=/sbin:/usr/sbin:/usr/bin:/bin

HOME="fulano"
user=""
senha=""
validasenha="123456"
while [ "$user" != "$HOME" ] && [ "$senha" != "$validasenha" ]; do
echo ""
echo "\033[01;32m DIGITE O USUARIO FULANO\033[01;37m"
read user
echo ""
echo "\033[01;32m DIGITE a senha do USUARIO FULANO\033[01;37m"
read senha
if [ "$user" = "$HOME" ] && [ "$senha" = "$validasenha" ] ; then
echo -e " o usuario $user está correto"
echo -e " a senha do usuario $user $senha está correta"
break #Sai do laço do while
else
echo " o usuario está incorreto"
echo " senha incorreta "
fi
done



nesse caso o usuario é obrigado a digitar o usuario e senha corretas, pois se digitar um correto e outro errado da erro e volta para o while até ser digitado os dados corretamente.

como usei para testes não ficou bonito mas você pode dar uma embelezada no script.


---> A arte de programar consiste na arte de organizar e dominar a complexidade.
---> Dijkstra <---


5. Re: Script forçar usuário digitar senha correta.

Rafael Tavares
RafaelCucaFresca

(usa Ubuntu)

Enviado em 27/07/2016 - 10:08h

Obrigado pela resposta amigo, eu identifiquei outro problema.

da forma que está se eu digitar o Usuário incorreto e a senha correta, ele traz a mensagem que o Usuário está incorreto e a senha está correta e grava o Usuário incorreto.

eu quero separar, primeiro ele valida o usuário, verifica se os parâmetros estão corretos, grava ou solicita as informações novamente e depois parte pra validação da senha ...

olha o resultado do erro

DIGITE O USUARIO FULANO
fulano

USUARIO FULANO CRIADO COM SUCESSO

digite a senha do usuario FULANO
123456
Digite a nova senha UNIX:
Redigite a nova senha UNIX:
passwd: password updated successfully
teste.sh: 30: teste.sh: [123456: not found
senha incorreta
root@ubuntu:/original#


vc tem me ajudado muito a aprender sobre script shell, nem sei como te agradecer !!!!!


6. Re: Script forçar usuário digitar senha correta. [RESOLVIDO]

marcio mendes mendes
conectadohost

(usa XUbuntu)

Enviado em 27/07/2016 - 10:35h

Olá,
esse modo que postei seria o mais fácil e o script fica pequeno por que no final você irá precisar dos dois dados corretos para poder criar a conta. eu até sei de outro modo como você quer fazer mas ficaria muito grande os códigos, vamos aguardar outro membro que possa ajudar.


---> A arte de programar consiste na arte de organizar e dominar a complexidade.
---> Dijkstra <---


7. Re: Script forçar usuário digitar senha correta. [RESOLVIDO]

Rafael Tavares
RafaelCucaFresca

(usa Ubuntu)

Enviado em 27/07/2016 - 10:37h

Ok, obrigado.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts