Adicao automatica de usuarios

1. Adicao automatica de usuarios

Jorge
thudojorge

(usa Debian)

Enviado em 13/06/2008 - 09:31h

Alo gente boa!

Tou com um probleminha, preciso de uma opcao que me possibilite atribuir uma senha a um usuario sem ter que digitar repetidamente.

O que esta acontecendo eh que eu estou escrevendo um script que recebe como parametro uma lista de usuarios por adicionar ao sistema, mas eu primeiro usei a opcao useradd -g usuario -s/bin/bash -d/home/usuario -m -p "password" usuario

e desta forma a password eh escrito no ficheiro /etc/shadow de forma nao encriptada, como consequencia o usuario nao consegue fazer login.

Entao, depois do comando useradd decidi escrever echo usuario | passwd --stdin usuario, isto seguindo uma das dicas que encontrei em pesquisa.

O mau eh que o meu comado passwd nao tem essa opcao: --stdin. E no man nao ha algo que a substitua.

Alguem tem alguma outra opcao?


O script que estou 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.txt
erro=`cat err_add`
if [ "$erro" = "" ]; then
useradd -g $nome -s/bin/bash -d/home/$nome -m $nome
echo $nome | passwd --stdin $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.txt
erro=`cat err_add.txt`
if [ "$erro" = "" ]; then
useradd -g "$nome$usuario" -s/bin/bash -d/home/"$nome$usuario" -m "$nome$usuario"
echo $nome |passwd --stdin $nome
echo "Adicionado: $nome$usuario">>ADICIONADOS.txt
break
fi
done
fi
done


else
echo "O uso eh: $0 e um ficheiro ascii (*.txt)"
exit
fi



  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts