
an_drade
(usa Gentoo)
Enviado em 27/02/2008 - 11:07h
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. Queria 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. Notem que não quero digitar as senhas, pois são 350 usuários.
Tente 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