[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: |
Jefferson Gava |
Subject: |
Res: [shell-script] Script para criar usuarios no linux e no samba |
Date: |
Tue, 15 Jul 2003 16:15:31 -0300 (Hora padrão leste da Am. Sul) |
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]