script para criar varios usuarios

1. script para criar varios usuarios

elias santiago diniz
eliasdiniz

(usa Debian)

Enviado em 23/06/2006 - 21:42h

ola,
eu preciso criar varios usuarios numa maquina e resolvi usar um script para isso.
pequei um script pronto aqui no site mas ele naum funcionou. alguem tem algum script pronto para adicionar varios usuarios?


  


2. Re: script para criar varios usuarios

Gustavo Pardellas Feijó
chmod000

(usa Debian)

Enviado em 30/06/2006 - 10:13h

Estou postando um script que funciona bem no Debian.
Você vai precisar ter instalado na máquina um utilitário chamado makepasswd, que é quem vai gerar as senhas aleatoriamente.
O script pega os nomes e logins de usuários que estão em um arquivo separado, com o nome cria_users.conf.
Como resultado vc terá uma lista com os logins e senhas criados.
Vou colar o script aqui, mas vou postar na seção de scripts também.

#!/bin/bash
if [ $UID != 0 ]
then
echo -e "\n\tYou must be root!\n"
exit
fi

OLD_IFS=${IFS}
IFS='
'

login=( ${login[@]} `cat cria_users.conf | cut -d ':' -f 2` )
nome=( ${nome[@]} `cat cria_users.conf | cut -d : -f 1` )
IFS=${OLD_IFS}

echo '' > usuariosXsenhas.txt
for i in $(seq 0 $((${#login[@]} - 1 ))); do {
pass=`makepasswd --chars 8`
`groupadd ${login[i]}`
echo `useradd -c "${nome[i]}" -d /home/${login[i]} -m -g ${login[i]} -s /bin/bash ${login[i]}`
echo -e "$i - USUARIO: ${nome[i]}\t LOGIN: ${login[i]}\t SENHA: ${pass}\n" >> usuariosXsenhas.txt
echo "${login[i]}:${pass}" | `chpasswd -m`
}
done
exit



3. Re: script para criar varios usuarios

elias santiago diniz
eliasdiniz

(usa Debian)

Enviado em 30/06/2006 - 16:51h

muito obrigado!!
soh mias uma coisa, eh possivel eu modificar o script para usar as senhas q eu colocar em um arquivo txt??


4. Re: script para criar varios usuarios

Gustavo Pardellas Feijó
chmod000

(usa Debian)

Enviado em 01/07/2006 - 09:53h

É sim. Faça assim:

1 - no arquivo dos nomes coloque mais um campo com as senhas. Ficaria desta forma o arquivo; Nome Completo:login:senha

2 - Declare a variável pass logo abaixo das declarações de login e nome
login=( ${login[@]} `cat cria_users.conf | cut -d ':' -f 2` )
nome=( ${nome[@]} `cat cria_users.conf | cut -d : -f 1` )
pass=( ${pass[@]} `cat cria_users.conf | cut -d : -f 3` ) # pegando as senhas

3 - Retire a linha 'pass=`makepasswd --chars 8`' de dentro do for

4 - Substitua a linha de criação de senha por esta:
echo "${login[i]}:${pass[i]}" | `chpasswd -m`

Pronto, seu script vai gerar as senha de acordo com o que vc colocar no arquivo cria_users.conf.

Espero ter ajudado.

[]'s


5. Re: script para criar varios usuarios

elias santiago diniz
eliasdiniz

(usa Debian)

Enviado em 04/07/2006 - 13:01h

soh pra confirmar, o script ficará assim:
#!/bin/bash
if [ $UID != 0 ]
then
echo -e "\n\tYou must be root!\n"
exit
fi

OLD_IFS=${IFS}
IFS='
'

login=( ${login[@]} `cat cria_users.conf | cut -d ':' -f 2` )
nome=( ${nome[@]} `cat cria_users.conf | cut -d : -f 1` )
pass=( ${pass[@]} `cat cria_users.conf | cut -d : -f 3` ) # pegando as senhas
IFS=${OLD_IFS}

echo '' > usuariosXsenhas.txt
for i in $(seq 0 $((${#login[@]} - 1 ))); do {
echo "${login[i]}:${pass[i]}" | `chpasswd -m`
`groupadd ${login[i]}`
echo `useradd -c "${nome[i]}" -d /home/${login[i]} -m -g ${login[i]} -s /bin/bash ${login[i]}`
echo -e "$i - USUARIO: ${nome[i]}\t LOGIN: ${login[i]}\t SENHA: ${pass}\n" >> usuariosXsenhas.txt
echo "${login[i]}:${pass[i]}" | `chpasswd -m`
}
done
exit

está certo?? ou errei algo?:(






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts