### SCRIPT HTPASSSWD - Urgente ###
Boa tarde Pessoal,
Sou iniciante no shell script e gostaria da ajuda de vcs.
Tenho 300 usuários para criar no htpasswd e senha.
No entanto, é impossível de criar 1 a 1 na mão e ir confirmando a senha deles. Fiz esse script para ver se ele cria e depois busca a senha, mas não funcionou, alguém pode me ajudar nisso ?
#!/bin/bash
#antes checar se o arquivo usuario existe
ARQ1=$(/etc/squid/usuarios)
ARQ2=$(/etc/squid/passwd)
for i in `cat $ARQ1`
do
uso=$(echo $i | cut -d: -f1)
echo $uso
done
htpasswd -b $ARQ1 $ARQ2
***
/etc/squid/usuarios = arquivo onde tenho a listagem de usuários a criar, no formato " usuario:usuario "
/etc/squid/passwd = arquivo onde ele vai gerar. Ex: usuario:12$%^@y$
Qualquer idéia será bem vinda,
Abraço,
Beto
### SCRIPT HTPASSSWD - Urgente ###
Cara, faça o seguinte:
[root@frikasoide root]# vi criar
Dentro do arquivo "criar" ponha:
#!/bin/bash
for usuario in `cat usuarios.txt` ; do
useradd -m -c $usuario -d /home/$usuario -s '/bin/false' $usuario
echo $RANDOM > tmp
passwd --stdin $usuario < tmp
for senha in `cat tmp` ; do
echo -e "$usuario: $senha" >> usuariosesenhas.doc
done
echo -e "$usuario" >> usuariosmailsemformato.txt
done
#FIM
Repare que na primeira linha do script ele chama o arquivo usuarios.txt, esse arquivo é o que contém todos os usuários separados por ENTER. Então, ele criará os usuários no /home como /bin/false, no caso, isso se destina mais a usuários de e-mail, caso queira mudar :). Bom, depois ele jogará uma senha randomica para cada usuário e listará usuario e senha no arquivo usuariosesenhas.doc em formato para ser entendido por WORD. Logo depois faz também a listagem apenas dos usuários separados por ENTER no arquivo usuariosmailsemformato.txt.
Bom, para executar, é simples, basta da: ./criar
Espero ter ajudado...
Re: ### SCRIPT HTPASSSWD - Urgente ###
Citação:
Postado originalmente por frikasoide
Cara, faça o seguinte:
[root@frikasoide root]# vi criar
Dentro do arquivo "criar" ponha:
#!/bin/bash
for usuario in `cat usuarios.txt` ; do
useradd -m -c $usuario -d /home/$usuario -s '/bin/false' $usuario
echo $RANDOM > tmp
passwd --stdin $usuario < tmp
for senha in `cat tmp` ; do
echo -e "$usuario: $senha" >> usuariosesenhas.doc
done
echo -e "$usuario" >> usuariosmailsemformato.txt
done
#FIM
Repare que na primeira linha do script ele chama o arquivo usuarios.txt, esse arquivo é o que contém todos os usuários separados por ENTER. Então, ele criará os usuários no /home como /bin/false, no caso, isso se destina mais a usuários de e-mail, caso queira mudar :). Bom, depois ele jogará uma senha randomica para cada usuário e listará usuario e senha no arquivo usuariosesenhas.doc em formato para ser entendido por WORD. Logo depois faz também a listagem apenas dos usuários separados por ENTER no arquivo usuariosmailsemformato.txt.
Bom, para executar, é simples, basta da: ./criar
Espero ter ajudado...
Valeu garoto, obrigado pela dica, mas consegui resolver.
Dei um for no arquivo de usuários principal e abaixo no arquivo de usuário principal e no arquivo de senha de cada um na ordem TAC...,
Valeu mesmo,
( ),s
Beto