[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: [shell-script] Script para criar usuarios no linux e no samba
From: |
geraldo |
Subject: |
RES: [shell-script] Script para criar usuarios no linux e no samba |
Date: |
Tue, 15 Jul 2003 13:49:31 -0300 |
Beleza!!! Vou testar as sugestoes!!!!!!!
Quanto ao email passei diretamente pelo site do yahoo, nao eperava ir em
formato html.
Desculpem-me!!!!!!!!!!!
Ai vai de novo em texto simples!!!!!! Sem as mudancas ainda!!!!!!!!!!
#!/bin/bash
# Verifica se o Root e o executor
ROOT_UID=0
E_NOTROOT=67
if [ "$UID" -ne "$ROOT_UID" ]
then
echo;echo
echo "É preciso ser \"root\" para usar este script."
echo
exit $E_NOTROOT
fi
clear
echo
echo "Digite os caminhos dos arquivos"
echo
read -p "Nome e path do arquivo de Usuarios </root/login>: " USR
echo
#read -p "Nome e path do arquivo de Nomes </root/nome>: " NM
#read -p "Nome e path do arquivo de grupo </root/grupo>: " GRP
#
#Verifica quantas linhas tem o arquivo de usuarios
NL=`wc -l $USR | awk '{print $1}'`
echo "Voce ira cadastrar" $NL "usuarios"
echo
#
#
#Copiando nome do arquivo de usuarios para um ARRAY
n=1
OLDIFS="$IFS"
IFS="
"
for i in `(awk -F "\:" '{print $2}' $USR)`
do
NOME[$n]=$i
let n+=1
done
IFS="$OLDIFS"
#
#Copiando senha arquivo de usuarios para um ARRAY
n=1
for i in `(awk -F "\:" '{print $3}' $USR)`
do
SENHA[$n]=$i
let n+=1
done
#
#Copiando grupo do arquivo de usuarios para um ARRAY
n=1
for i in `(awk -F "\:" '{print $4}' $USR)`
do
GRUPO[$n]=$i
GP=`grep ${GRUPO[$n]} /etc/group`
echo $GP
if [ ! $GP ]
then
groupadd ${GRUPO[$n]}
fi
let n+=1
done
#
#Copiando login do arquivo de usuarios para um ARRAY
n=1
for i in `(awk -F "\:" '{print $1}' $USR)`
do
LOGIN[$n]=$i
let n+=1
done
#
#
:<<__EOF
n=1
while [ "${n:=1}" -le "$NL" ]
do
echo $n "Login: ${LOGIN[$n]} Nome: ${NOME[$n]} Senha: ${SENHA[$n]} Grupo:
${GRUPO[$n]}"
let n+=1
done
echo
echo
__EOF
#
#Criando as contas
#
#:<<__EOF
n=1
while [ "${n:=1}" -le "$NL" ]
do
echo "Cadastrando ..........${NOME[$n]}"
echo "Grupo ................${GRUPO[$n]}"
echo
adduser ${LOGIN[$n]}
usermod -c "${NOME[$n]}" ${LOGIN[$n]}
usermod -g ${GRUPO[$n]} ${LOGIN[$n]}
echo ${SENHA[$n]} | passwd --stdin ${LOGIN[$n]}
groupdel ${LOGIN[$n]}
echo
echo "Adiconando usuario no samba"
smbpasswd -a ${LOGIN[$n]} -s ${SENHA[$n]}
echo
echo "............................Feito"
echo
let n+=1
done
echo
#__EOF
Geraldo Russo Filho
Linux Administrator
Web Master
address@hidden
address@hidden
fone:(35) 9954-4688
-----Mensagem original-----
De: Reinaldo Carvalho [mailto:address@hidden]
Enviada em: terça-feira, 15 de julho de 2003 11:55
Para: address@hidden
Assunto: Re: [shell-script] Script para criar usuarios no linux e no samba
Comentarios..
1. Troque o AWK por CUT.
2.
> adduser ${LOGIN[$n]}
> usermod -c "${NOME[$n]}" ${LOGIN[$n]}
> usermod -g ${GRUPO[$n]} ${LOGIN[$n]}
>
> echo ${SENHA[$n]} | passwd --stdin ${LOGIN[$n]}
> groupdel ${LOGIN[$n]}
Nao precisa remover o grupo... Mas nao crialo...
adduser ${LOGIN[$n]} --ingroup users
3. Nao manda email em HTML!
reinaldo
==>>
--CORTE--
> #!/bin/bash
> # Verifica se o Root e o executor
> ROOT_UID=0
> E_NOTROOT=67
> if [ "$UID" -ne "$ROOT_UID" ]
> then
> echo;echo
> echo "É preciso ser
> \"root\" para usar este script."
> echo
> exit $E_NOTROOT
> fi
> clear
> echo
> echo "Digite os caminhos dos arquivos"
> echo
> read -p "Nome e path do arquivo de Usuarios
> </root/login>: " USR echo
> #
> #Verifica quantas linhas tem o arquivo de usuarios
> NL=`wc -l $USR | awk '{print $1}'`
> echo "Voce ira cadastrar" $NL "usuarios"
> echo
> #
> #
> #Copiando nome do arquivo de usuarios para um ARRAY
> n=1
> OLDIFS="$IFS"
> IFS="
> "
> for i in `(awk -F "\:" '{print $2}' $USR)`
> do
> NOME[$n]=$i
> let n+=1
> done
> IFS="$OLDIFS"
> #
> #Copiando senha arquivo de usuarios para um ARRAY
> n=1
> for i in `(awk -F "\:" '{print $3}' $USR)`
> do
> SENHA[$n]=$i
> let n+=1
> done
> #
> #Copiando grupo do arquivo de usuarios para um ARRAY
> n=1
> for i in `(awk -F "\:" '{print $4}' $USR)`
> do
> GRUPO[$n]=$i
> GP=`grep ${GRUPO[$n]} /etc/group`
> echo $GP
> if [ ! $GP ]
> then
> groupadd
> ${GRUPO[$n]}
> fi
> let n+=1
> done
> #
> #Copiando login do arquivo de usuarios para um ARRAY
> n=1
> for i in `(awk -F "\:" '{print $1}' $USR)`
> do
> LOGIN[$n]=$i
> let n+=1
> done
> #
> #
> :<<__EOF
> n=1
> while [ "${n:=1}" -le "$NL" ]
> do
> echo $n "Login: ${LOGIN[$n]} Nome:
> ${NOME[$n]} Senha: ${SENHA[$n]} Grupo: ${GRUPO[$n]}"
> let n+=1
> done
> echo
> echo
> __EOF
> #
> #Criando as contas
> #
> #:<<__EOF
> n=1
> while [ "${n:=1}" -le "$NL" ]
> do
> echo "Cadastrando ..........${NOME[$n]}"
> echo "Grupo ................${GRUPO[$n]}"
> echo
> #var="adduser -g teste -c \"${NOME[$n]}\"
> ${LOGIN[$n]}" #echo $var
> #read -p "Digite Enter para criar o usuario acima"
> #eval $var
> adduser ${LOGIN[$n]}
> usermod -c "${NOME[$n]}" ${LOGIN[$n]}
> usermod -g ${GRUPO[$n]} ${LOGIN[$n]}
>
> echo ${SENHA[$n]} | passwd --stdin ${LOGIN[$n]}
> groupdel ${LOGIN[$n]}
> echo
> echo "Adiconando usuario no samba"
> smbpasswd -a ${LOGIN[$n]} -s ${SENHA[$n]}
> echo
> echo "............................Feito"
> echo
> let n+=1
> done
> echo
> #__EOF
>
> Abracos a todos e muito obrigado.
> PS: Se alguem puder melhorar o mesmo será bem vindo todas as
>
> melhorias!!!!!!!!!!!
>
> Geraldo Russo Filho
> address@hidden
> address@hidden
>
>
>
>
>
>
>
>
>
>
>
> Yahoo! Groups Sponsor
>
>
> PUBLICIDADE
>
>
>
>
>
>
>
>
>
>
> --------------------------------------------------------------------->
Esta lista não admite a abordagem de outras liguagens dde
> programação, como perl, C etc. Quem insistir em não seguir
> esta regra será moderado sem prévio aviso.
> --------------------------------------------------------------------->
Sair da lista: address@hidden
> --------------------------------------------------------------------->
Esta lista é moderada de acordo com o previsto em
> http://www.listasdiscussao.cjb.net
> --------------------------------------------------------------------->
>
>
>
> Seu uso do Yahoo! Grupos é sujeito aos Termos do Serviço
> Yahoo!.
-- Reinaldo Carvalho
Yahoo! Groups Sponsor
PUBLICIDADE
---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listasdiscussao.cjb.net
---------------------------------------------------------------------
Seu uso do Yahoo! Grupos é sujeito aos Termos do Serviço Yahoo!.