Não sei ao certo o que está sendo feito na linha 4 (iniciada com "pass=$")
Uma coisa interessante de se usar no comando read é o parametro -s (secret--silent)
Veja o que diz o help read (se usar o read integrado do bash
-s do not echo input coming from a terminal
É ideal para ler senhas uma vez que não exibe na tela o que está sendo escrito..
Então eu colocaria da seguinte forma só por boa prática;
read -p "Nome do usuário: " nome
read -sp "Senha: " pass
Parece que temos um erro de sintaxe aqui. Se você ler atentamente ele diz que a opção -i é usada para receber a senha pelo stdin.
Mas você está informando a senha pela linha de comando, então deverias usar como está explicado no próprio exemplo a opção -b.
-b Use the password from the command line rather than prompting for it.
Se você quer muito usar a opção -i, então poderíamos usar o echo por exemplo;
Tenho uma impressão de que há erros aqui. Parece que vc está se referindo a uma variável errada. Ao meu ver não importa o valor que for informado como senha pelo andamento dessas duas linhas. Uma hora você está trabalhando com a variável "pass" e outra hora com a variável "password". É ignorância minha? Estou em dúvida.
3. Re: Script para autenticar usuarios [RESOLVIDO]
celiomagalhaesjrusa Ubuntu
Post recolhido
Enviado em 16/08/2017 - 15:56h
É ideal para ler senhas uma vez que não exibe na tela o que está sendo escrito..
Então eu colocaria da seguinte forma só por boa prática;
read -p "Nome do usuário: " nome
read -sp "Senha: " pass
bash auth
Nome do usuário: teste
Senha: teste
Usage:
htpasswd [-cimBdpsDv] [-C cost] passwordfile username
htpasswd -b[cmBdpsDv] [-C cost] passwordfile username password
htpasswd -n[imBdps] [-C cost] username
htpasswd -nb[mBdps] [-C cost] username password
-c Create a new file.
-n Don't update file; display results on stdout.
-b Use the password from the command line rather than prompting for it.
-i Read password from stdin without verification (for script usage).
-m Force MD5 encryption of the password (default).
-B Force bcrypt encryption of the password (very secure).
-C Set the computing time used for the bcrypt algorithm
(higher is more secure but slower, default: 5, valid: 4 to 31).
-d Force CRYPT encryption of the password (8 chars max, insecure).
-s Force SHA encryption of the password (insecure).
-p Do not encrypt the password (plaintext, insecure).
-D Delete the specified user.
-v Verify password for the specified user.
On other systems than Windows and NetWare the '-p' flag will probably not work.
The SHA algorithm does not use a salt and is less secure than the MD5 algorithm.
Esse é o erro que da ao executar...
No caso a questao de ocultar a senha, nao é necessario pois isso é para um conjunto que estou montando
4. Re: Script para autenticar usuarios
patrickpcsusa Nenhuma
Post recolhido
Enviado em 16/08/2017 - 17:18h
Parece que temos um erro de sintaxe aqui. Se você ler atentamente ele diz que a opção -i é usada para receber a senha pelo stdin.
Mas você está informando a senha pela linha de comando, então deverias usar como está explicado no próprio exemplo a opção -b.
-b Use the password from the command line rather than prompting for it.
Se você quer muito usar a opção -i, então poderíamos usar o echo por exemplo;
Tenho uma impressão de que há erros aqui. Parece que vc está se referindo a uma variável errada. Ao meu ver não importa o valor que for informado como senha pelo andamento dessas duas linhas. Uma hora você está trabalhando com a variável "pass" e outra hora com a variável "password". É ignorância minha? Estou em dúvida.
5. Re: Script para autenticar usuarios [RESOLVIDO]
celiomagalhaesjrusa Ubuntu
Post recolhido
Enviado em 16/08/2017 - 19:21h
patrickpcs escreveu:
Parece que temos um erro de sintaxe aqui. Se você ler atentamente ele diz que a opção -i é usada para receber a senha pelo stdin.
Mas você está informando a senha pela linha de comando, então deverias usar como está explicado no próprio exemplo a opção -b.
-b Use the password from the command line rather than prompting for it.
Se você quer muito usar a opção -i, então poderíamos usar o echo por exemplo;
Tenho uma impressão de que há erros aqui. Parece que vc está se referindo a uma variável errada. Ao meu ver não importa o valor que for informado como senha pelo andamento dessas duas linhas. Uma hora você está trabalhando com a variável "pass" e outra hora com a variável "password". É ignorância minha? Estou em dúvida.
Rapido e rasteiro , ficou perfeito com o uso do "echo + pipe" , quanto ao "pass=..." mais um erro de logica meu, usei o mesmo que uso para criar usuarios...