Olá pessoal,
Tenho uma lista de aproximadamente 350 usuários para os quais devo
criar usuários do sistema e usuários SAMBA em um servidor. Tenho o
seguinte script:
NOMES=(`cut -f1 -d ";" $1`)
USUARIOS=(`cut -f2 -d ";" $1`)
i=0
for NOME in ${NOMES[*]}
do
# Gera senha
SENHA=`dd if=/dev/urandom bs=1 count=6 | openssl base64`
useradd -d /home/alunos/$2/$3/${USUARIOS[$i]} -G alunos,users -m ${USUARIOS[$i]}
(echo $SENHA; echo $SENHA;) | passwd ${USUARIOS[$i]}
(echo $SENHA; echo $SENHA) | smbpasswd -s -a ${USUARIOS[$i]}
echo "$NOME ; ${USUARIOS[i]} ; $SENHA" >> log
((i++))
done
Em meu sistema Gentoo (e em um antigo servidor Debian), ele funciona
perfeitamente, enquanto no Slackware 12, isso não é verdade.
Acontece que, na linha "(echo $SENHA; echo $SENHA;) | passwd
${USUARIOS[$i]}" o danado continua pedindo para que as senhas sejam
digitadas. Notem que não quero digitar as senhas, pois são 350
usuários!
Tentei usar "useradd -p $SENHA" mas também não funciona. Neste caso,
ele coloca o conteúdo de SENHA literalmente no /etc/shadow. Em
verdade, a documentação (man) diz que é isso mesmo, eu teria que
criptografar antes usando um tal de crypt que não é um comando e sim
uma função do sistema. Poderia até fazer um programinha em C p/ isso,
mas queria outra solução mais bonita.
Alguém tem alguma idéia ou sugestão de como automatizar este processo?!?!
Obrigado,
Carlos
--
Carlos Eduardo de Andrade
Algoritmos e Programação, Sistemas Operacionais
Escola Agrotécnica Federal de Inconfidentes
---------------------------------------------------------------------------
Esta lista é patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br
Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utilização da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html