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: Wed, 16 Jul 2003 15:15:38 -0300

Nao, primeiro eu preparo uma lista dos usuarios que irei cadastrar da
seguinte forma:

jribeiro:Joao Ribeiro:45grt34:grupo:
jmane:Joao Mane:23543:grupo2:
e assim por diante.

salvo esse arquivo com o nome de usuarios ou qualquer outro nome:).

quando chamar o script e ira perguntar o path do arquivo que contenha os
usuarios que vc. quer cadastrar, se o script estiver no /root e o arquivo
tambem e so informar o nome do arquivo.

Pronto ele vai criar os usuarios que estao na sua lista.

Geraldo Russo Filho
Linux Administrator
Web Master
address@hidden
address@hidden
fone:(35) 9954-4688
-----Mensagem original-----
De: Jefferson Gava [mailto:address@hidden]
Enviada em: terça-feira, 15 de julho de 2003 16:16
Para: address@hidden
Assunto: Res: [shell-script] Script para criar usuarios no linux e no samba


Achei estranho este script...
Ele pega todos os usuarios q ja estao cadastrados... e faz algum tipo de
teste ?????
Pq o que pude ver.. que ele pega um usuario e vai adicionando ..... achei
estranho....

e apresentou estes erros:

./usuarios: [: too many arguments
bin:x:1:root,bin,daemon wheel:x:10:root mail:x:12:mail news:x:13:news
uucp:x:14:uucp man:x:15: console:x:16: floppy:x:19: users:x:100:
slocate:x:21: postfix:x:101: popusers:x:231:

Ele verifica se o usuario existe..... ????Isso pode causar algum problema...
pq no meu caso.. possuo mais de 100 usuarios cadastrados.. se ele executar
este processo toda vez que for incluir um usuarios... UFA!!!!!!!!!!!!

-------Mensagem original-------

De: address@hidden
Data: Terça-feira, 15 de Julho de 2003 10:52:18
Para: address@hidden
Assunto: [shell-script] Script para criar usuarios no linux e no samba

Pessoal finalmente consegui o que eu queria e esta aqui para quem
precisar.
Primeiramente quero agradecer aos companheiros da lista ( Mateus
Moysis e outros) e em particular o meu amigo Carlos Miranda professor
de linux da People Computacao de Campinas excelente pessoa e um
excelente profissional. Aos amigos da lista que fui ate um pouco
chato as vezes com muitas perguntas mas é que cabeça quente as vezes
nao nos deixa enxergar coisas elementares.

Bem o script e para cricao de usuarios no linux e no samba no seu
respectivo grupo e respectiva senha.

O arquivo de usuarios ficou assim (ex:)

jsilva:Jose da Silva:5jqw23:enfermagem:
mjose:Maria Jose:3hd5t2:agropecuaria:

e o script segue abaixo:

#!/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 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!.

[As partes desta mensagem que não continham texto foram removidas]



Yahoo! Groups Sponsor


Faça sua busca:  Ache agora a sua vaga! Profissional Diretoria Gerência
Supervisão Superior Técnico Outros Recém-formados Estágiários





---------------------------------------------------------------------
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]