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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Script dando maior trabalho...


From: pythondeveloper
Subject: Script dando maior trabalho...
Date: Mon, 22 May 2006 19:23:41 -0000
User-agent: eGroups-EW/0.82

Salve salve galera...

Estou criando um script para adicionar um usuario no Linux e assim que
cadastrar o usuario ele ja esteja cadastrado no samba. Vejam.

#!/bin/bash
# Cadastra Usuarios
clear
Principal(){
echo "Deseja cadastrar um novo usuario para o sistema? [sn]"
read resposta
if [ $resposta != 's' -a $resposta != 'n' ]; then
  echo "Voce precisa decidir por s ou n"
  exit
fi

if [ -z $resposta ]; then
  echo "Informe a opcao desejada"
  exit
fi
test $resposta = "n" && exit

echo "Digite o nome do usuario:"
read nome
if [ -z $nome ]; then
  echo "Informe o nome"
  exit
fi

echo "Digite o grupo que o usuario ira participar:"
read grupo
if [ -z $grupo ]; then
  echo "Grupo vazio"
  exit
fi

cat /etc/group | grep $grupo 
if [ $? = 0 ]; then
  echo "O grupo ( $grupo ), e necessario um grupo valido para
continuar, devo adicionar o grupo $grupo ?[sn]"
  read AdicionaGrupo
fi

if [ $AdicionaGrupo != 's' -a $AdicionaGrupo != 'n' ]; then
   echo "Voce precisa decidir por s ou n"
   exit
fi

if [ $AdicionaGrupo = 's' ]; then
  groupadd $grupo
  echo "O grupo ( $grupo ), foi adicionado com sucesso"
else
  echo "E preciso um grupo valido para continuar"
  exit
fi

echo "Digite o login do usuario:"
read login_
if [ -z $login_ ]; then
  echo "Informe o login"
  exit
fi

grep $login_ /etc/passwd ; echo "Procurando por $login_"
if [ $? = 0 ]; then
  echo "O usuario $login_, ja esta cadastrado no sistema"
  exit
else
  useradd -g $grupo -c "$nome" -m -d /home/"$login_" $login_
fi
  
echo "Senha para usuario $login:"
passwd $login_

echo "Deseja que $login_ esteja no Samba ?[sn]"
read Resposta_Samba
if [ -z $Resposta_Samba ]; then
  echo "Escolha s ou n"
  exit
fi

if [ $Resposta_Samba = 's' ]; then
  CadastraSamba
else
  echo "Usuario $login_, cadastrado no sistema com sucesso..."
  id $login_
  Principal
fi  
}

CadastraSamba(){
  echo "Digite a senha para o samba:"
  smbpasswd -a $login_
  killall smbd -HUP
  killall nmbd -HUP
Principal
}
Principal

#EOF

1) Onde eu Adiciono o "Nome" do usuário, se estiver com espacos da
erro...exemplo:
Nome do Usuario
Fernando Paiva

Da o seguinte erro => /usr/sbin/cadastrausuario: line 20: [: Fernando:
binary operator expected

2) No comando grep quero pegar o retorno se ele encontrou ou nao uma
ocorrencia do nome do grupo no arquivo "/etc/group"

3) Tem horas que ele adiciona o grupo, mas cria uma copia do arquivo
"group" em /etc ficando os dois arquivos assim

group-  group

Não estou entendendo o pq acontece esses erros, as sintaxes estao
erradas ?

desde ja, agradeço
[]'s
Fernando Paiva










reply via email to

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