[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: adicionar usuários através de uma lista



Bom, contribuindo ou não com a lista (ou o flame? :-)

Eu considero *muito* improvável que ninguem teve esse problema antes; Entao,
fiz alguns passos:

--------------------------------
$ dpkg -S `which passwd`; #pra ver o nome do pacote que mexe com senhas
passwd: /usr/bin/passwd
$ dpkg -L passwd | grep bin; #pra ver os programas do pacote
/usr/sbin
/usr/sbin/chpasswd
/usr/sbin/groupadd
/usr/sbin/groupdel
/usr/sbin/groupmod
/usr/sbin/grpck
/usr/sbin/grpconv
/usr/sbin/grpunconv
/usr/sbin/newusers
^C^C^C
-----------------------------

Humm, esse me pareceu interessante, por isso parei no meio! Vamos lá:

-----------------------------
$ man newusers
....
This command is intended to be used in a large  system  environment  where
many accounts are updated at a single time.
....
-----------------------------

Tá lá! Comando newusers. De quebra, vendo as coisas do
/usr/share/doc/passwd, mais uma informação interessante:

-----------------------------
$ zcat README.debian.gz
....
Though you may add users and groups with the SysV type commands,
useradd and groupadd, I recommend you add them with Debian adduser
version 3+.  adduser gives you more configuration and conforms to the
Debian UID and GID allocation.
...
-----------------------------

Bom, pra terminar: o único detalhe é que o adduser não suporta o switch '-p'
pra passar a passwd pela linha de comando. Como os caras são paranóicos, eu
acho que o motivo é óbvio: se alguem der um ps ou top _bem_ na hora, ele
pega a senha! Mais chances ainda se for um batch, criando dúzias de
usuários. :-)

Solução [pra quem não sabe script]? Use o comando newusers. (Alias, o
comando 'paste' do shell pode vir a ser útil)


Vale um artigo num Zine Debian? ;-)

Pro Igor, uma pergunta: Se vc mudou a senha do user, como ele vai ler o
e-mail???? :-)

Abracos,
Marcos

Igor Morgado wrote:

Nao quero iniciar um flame....

Mas sinceramente uma pessoa que nao sabe como fazer isso nao poderia
iniciar um Zine Debian com enfoque TECNICO. (por isso que a primeira
debian zine foi TAO criticada)

A resposta para isso esta nos scripts shell...

E vamos a ela:


igor@gnutech.com.br:/# cat add_users.sh
#!/bin/bash
# Adiciona usuarios baseado numa lista deles.

#DEBUG=echo


relacao.txt


for x in `cat usuarios.txt`; do
        senha=$RANDOM$RANDOM
        usuario=$x
        senha_crypt=`mkpasswd -Hmd5 $senha`

        ${DEBUG} groupadd $usuario
        ${DEBUG} useradd -p $senha_crypt -d /home/$usuario -g $usuario
-G users $usuario

        echo $usuario:$senha >> relacao.txt
done


#!/bin/bash
# Envia mail para os usuarios dizendo q a senha deles mudou
#DEBUG=echo

for x in `cat relacao.txt`; do
        USER=`echo $x | cut -d ":" -f 1`
        PASS=`echo $x | cut -d ":" -f 2`

        cat > corpomail.txt << EOF

Ola $USER,

Aqui quem fala eh o seu amigo admin.
Sua senha mudou pq tu demorou muito a muda-la
Agora eh $PASS.
E nao chore.
Qualquer coisa retorne o mail para /dev/null.

Sem mais,
BOFH777
EOF

        $DEBUG mail -s "Troca de senha (nao entre em panico)"
$USER@dominio.com.br < corpomail.txt
done

==========================================================

Nao me perguntem sobre este script... fiz agora. e funciona aki.

E se alguem perguntar.. nao digam que foi voce que fez.. ;-D

Saudacoes GPL






Reply to: