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
SED - texto para maiúsculas, minúsculas, pascal case e camel case
Baixando todos os arquivos de uma URL com o wget
Extraindo seu endereço IP com shell script (egrep + awk)
Listar comandos mais utilizados (via histórico de shell)
Screen (janelas) no modo shell?
Comentários
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
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 :)
Mensagem
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 :)
Olá,
Foi erro meu na hora de publicar a dica, corrigi as tags html, agora tá certo :)
Mensagem
Olá,
Foi erro meu na hora de publicar a dica, corrigi as tags html, agora tá certo :)
Muito bom este script irei anotalo no meu caderno.
Valeu cara
BrunoPB
Mensagem
Muito bom este script irei anotalo no meu caderno.
Valeu cara
BrunoPB
Valeu pela dica, eu tinha uma lista com 100 user para criar.....
Agora posso ir para casa. hehhehehehhehe
Mensagem
Valeu pela dica, eu tinha uma lista com 100 user para criar.....
Agora posso ir para casa. hehhehehehhehe
Como posso fazer um menu no Shell para cadastro de usuários, mas só o root pode confirmar o cadastro do novo usuário?
Mensagem
Como posso fazer um menu no Shell para cadastro de usuários, mas só o root pode confirmar o cadastro do novo usuário?
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.
Mensagem
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.
Muito bom...Está dentro dos meus scripts de uso diário.
Mensagem
Muito bom...Está dentro dos meus scripts de uso diário.
No Slackware não há a opção --stdin no comando passwd.
Mensagem
No Slackware não há a opção --stdin no comando passwd.
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
Mensagem
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
Enviar