shell-script-pt
[Top][All Lists]
Advanced

[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 &quot;${NOME[$n]}&quot; ${LOGIN[$n]}
> usermod -g ${GRUPO[$n]} ${LOGIN[$n]}&nbsp;&nbsp;&nbsp;&nbsp;
>
> 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 [ &quot;$UID&quot; -ne &quot;$ROOT_UID&quot; ]
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; then
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo;echo
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo &quot;É preciso ser
> \&quot;root\&quot; para usar este script.&quot;
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit $E_NOTROOT
> fi
> clear
> echo
> echo &quot;Digite os caminhos dos arquivos&quot;
> echo
> read -p &quot;Nome e path do arquivo de Usuarios
> &lt;/root/login&gt;: &quot; USR echo
> #
> #Verifica quantas linhas tem o arquivo de usuarios
> NL=`wc -l $USR | awk '{print $1}'`
> echo &quot;Voce ira cadastrar&quot; $NL &quot;usuarios&quot;
> echo
> #
> #
> #Copiando nome do arquivo de usuarios para um ARRAY
> n=1
> OLDIFS=&quot;$IFS&quot;
> IFS=&quot;
> &quot;&nbsp;
> for i in `(awk -F &quot;\:&quot; '{print $2}' $USR)`
> &nbsp;&nbsp; do
> &nbsp;&nbsp;&nbsp; NOME[$n]=$i
> &nbsp;&nbsp;&nbsp; let n+=1&nbsp;&nbsp;
> done
> IFS=&quot;$OLDIFS&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> #
> #Copiando senha arquivo de usuarios para um ARRAY
> n=1
> for i in `(awk -F &quot;\:&quot; '{print $3}' $USR)`
> &nbsp;&nbsp; do
> &nbsp;&nbsp;&nbsp; SENHA[$n]=$i
> &nbsp;&nbsp;&nbsp; let n+=1
> &nbsp;&nbsp; done
> #
> #Copiando grupo do arquivo de usuarios para um ARRAY
> n=1
> for i in `(awk -F &quot;\:&quot; '{print $4}' $USR)`
> &nbsp;&nbsp; do
> &nbsp;&nbsp;&nbsp; GRUPO[$n]=$i
> &nbsp;&nbsp;&nbsp; GP=`grep ${GRUPO[$n]} /etc/group`
> &nbsp;&nbsp;&nbsp; echo $GP
> &nbsp;&nbsp;&nbsp; if [ ! $GP ]
> &nbsp;&nbsp;&nbsp;&nbsp; then
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; groupadd
> ${GRUPO[$n]}
> &nbsp;&nbsp;&nbsp; fi
> &nbsp;&nbsp;&nbsp; let n+=1
> &nbsp; done
> #
> #Copiando login do arquivo de usuarios para um ARRAY
> n=1
> for i in `(awk -F &quot;\:&quot; '{print $1}' $USR)`
> &nbsp; do
> &nbsp;&nbsp;&nbsp; LOGIN[$n]=$i
> &nbsp;&nbsp;&nbsp; let n+=1
> done
> #
> #
> :&lt;&lt;__EOF
> n=1
> while [ &quot;${n:=1}&quot; -le &quot;$NL&quot; ]
> do
> &nbsp;&nbsp; echo $n &quot;Login: ${LOGIN[$n]} Nome:
> ${NOME[$n]} Senha: ${SENHA[$n]}  Grupo: ${GRUPO[$n]}&quot;
> &nbsp;&nbsp; let n+=1
> done
> echo
> echo
> __EOF
> #
> #Criando as contas
> #
> #:&lt;&lt;__EOF
> n=1
> while [ &quot;${n:=1}&quot; -le &quot;$NL&quot; ]
> do
> echo &quot;Cadastrando ..........${NOME[$n]}&quot;
> echo &quot;Grupo ................${GRUPO[$n]}&quot;
> echo
> #var=&quot;adduser -g teste -c \&quot;${NOME[$n]}\&quot;
> ${LOGIN[$n]}&quot; #echo $var
> #read -p &quot;Digite Enter para criar o usuario acima&quot;
> #eval $var
> adduser ${LOGIN[$n]}
> usermod -c &quot;${NOME[$n]}&quot; ${LOGIN[$n]}
> usermod -g ${GRUPO[$n]} ${LOGIN[$n]}&nbsp;&nbsp;&nbsp;&nbsp;
>
> echo ${SENHA[$n]} | passwd --stdin ${LOGIN[$n]}
> groupdel ${LOGIN[$n]}
> echo
> echo &quot;Adiconando usuario no samba&quot;
> smbpasswd -a ${LOGIN[$n]} -s ${SENHA[$n]}
> echo
> echo &quot;............................Feito&quot;
> &nbsp;&nbsp;&nbsp;&nbsp; echo
> &nbsp;&nbsp;&nbsp;&nbsp; let n+=1
> &nbsp;&nbsp;&nbsp;&nbsp; done
> &nbsp;&nbsp;&nbsp;&nbsp; echo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
> #__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!.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]