Criando usuários a partir de uma lista

Publicado por Jorge Luiz Olimpia em 08/11/2002

[ Hits: 11.868 ]

 


Criando usuários a partir de uma lista



Se você tem uma lista para criar usuários, com senha igual ao nome do usuário, proceda da seguinte maneira:
  • crie um arquivo chamado usuario, contendo os nomes dos usuários
  • crie um arquivo chamado criauser e digite as seguintes linhas:


#!/bin/sh

for i in $(awk ´{print $1}´ usuario)  
do
    useradd $i
    grep $i usuarios | awk ´{print $1}´| passwd --stdin $i
done

Dê a permissão para executar este arquivo com o comando CHMOD e execute o comando:

# ./criauser

Outras dicas deste autor

Configurando um servidor X

Leitura recomendada

Remover tags HTML com SED

Expressão regular para validar um IP

Bloqueando tráfego via MAC com iptables

Testando se uma variável é número em shell script

Busca por string dentro dos arquivos

  

Comentários
[1] Comentário enviado por ximex em 20/03/2003 - 10:53h

Nao estou conseguindo da sempre um erro diferente, acho que nao estou sabem disponibilizar as linhas dentro do aquivo ex:
#!/bin/shfor
i in $(awk ´{print $1}´ usuario)
do useradd $i
grep $i usuarios|awk ´{print $1}´|passwd --stdin $i
done
colquei deste jeito sera qu esta certo.

Garto Ximex

[2] Comentário enviado por cesarcardoso em 28/04/2003 - 13:10h

O correto seria

#!/bin/sh
for i in $(awk ´{print $1}´ usuario)
do useradd $i
grep $i usuarios|awk ´{print $1}´|passwd --stdin $i
done

O script dá erro porque /bin/shfor não existe :)

[3] Comentário enviado por fabio em 28/04/2003 - 14:19h

Olá,

Foi erro meu na hora de publicar a dica, corrigi as tags html, agora tá certo :)

[4] Comentário enviado por emanuelbrunopb em 05/06/2003 - 08:38h

Muito bom este script irei anotalo no meu caderno.
Valeu cara
BrunoPB

[5] Comentário enviado por rsouza em 28/08/2003 - 12:25h

Valeu pela dica, eu tinha uma lista com 100 user para criar.....

Agora posso ir para casa. hehhehehehhehe

[6] Comentário enviado por guardiangu em 14/07/2004 - 16:21h

Como posso fazer um menu no Shell para cadastro de usuários, mas só o root pode confirmar o cadastro do novo usuário?

[7] Comentário enviado por Raphael_ADB em 11/08/2004 - 11:00h

Se por acaso eu quiser criar vários usuários, porem com a senha de cada um diferente do nome do usuário...será que tem como???
Alguem ai tem o script pronto?

Valeu.

[8] Comentário enviado por regispadua em 18/02/2005 - 16:38h

Muito bom...Está dentro dos meus scripts de uso diário.

[9] Comentário enviado por bobrezende em 21/03/2006 - 11:48h

No Slackware não há a opção --stdin no comando passwd.

[10] Comentário enviado por thudojorge em 13/06/2008 - 09:12h

Alo!
seis anos depois desta dica tb deparei-me com o problema de ter uma lista de usarios e decidi escrever um script, mas o meu problema eh o mesmo que o do bobrezende . Ou seja o comando passwd nao tem essa opcao --stdin.

Alguem tem alguma outra dica?

Bom esse eh o script que tou escrevendo


#!/bin/bash
seg=$1
tipo=`file $seg 2> ERROS.txt |awk '{print $3}'`

if [ "$tipo" = "text" ];then
for nome in `cat $seg`;do
groupadd $nome 2>err_add
erro=`cat err_add`
if [ "$erro" = "" ]; then
useradd -g $nome -s/bin/bash -d/home/$nome -m -p"$nome" $nome
echo "Adicionado: $nome">> ADICIONADOS.txt
else
while [ true ]; do
let usuario+=1
echo "usuario: $nome exite, adicionando usuario
$nome$usuario">> ALTERADOS.txt
groupadd "$nome$usuario" 2>err_add
erro=`cat err_add`
if [ "$erro" = "" ]; then
useradd -g "$nome$usuario" -s/bin/bash -d/home/"$nome$usuario" -m -p"$nome" "$nome$usuario"
echo "Adicionado: $nome$usuario">> ADICIONADOS.txt
break
fi
done
fi
done


else



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts