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

Responder a