Adicionar e Remover usuário do Samba/Squid (com menu)

Publicado por André Lourenço Pedroso 11/04/2006

[ Hits: 17.038 ]

Homepage: http://apedroso.blogspot.com

Download usuarios.txt




Esse script visa facilitar e automatizar a inserção de novos usuários no squid, contando com o auxílio de um meno simples.

obs: Sou iniciante em linux e esse é meu primeiro script. Me informem melhorias para que eu possa evoluir. - Grato!

  



Esconder código-fonte

#! /bin/bash
# Para executar de qualquer lugar
# export PATH = "$PATH:/diretorio"
# em /profile ou /bash_profile
Principal() {
    clear
    echo Adcionar e Remover usuários
    echo ---------------------------
    echo
    echo "Opções:"
    echo "1. Adicionar"
    echo "2. Deletar"
    echo "3. Pesquisar"
    echo "4. Listar"
    echo "5. Sair"
    echo -n "Entre coma opção desejada => "
    read opcao
    echo 
    case $opcao in
   1) Adicionar/Alterar senha ;;
   2) Deletar ;;
   3) Pesquisar;;
   4) Listar;;
   5) exit;;
   *) "Opção desconhecida." ; echo ; Principal ;;
    esac
}

Adicionar(){
    echo -n "Entre com o login do usuário: "
    read login
    if [ `grep -i -w ^$login /etc/samba/smbpasswd | cut -d: -f 1-1` ];
    # Caso o usuário exista será dada a opcao para a troca de senha
    then
   while true
   do
       clear
       echo "Usuário cadastrado! Deseja alterar a senha? [s/n] "
       read op
       if [ $op = "S" ] || [ $op = "s" ] || [ $op = "N" ] || [ $op = "n" ]; 
       then
      if [ $op = "S" ] || [ $op = "s" ];
      then
             echo -n "Entre com a senha do usuário: "
         stty -echo
              read senha
              stty echo
              echo
         echo "Mensagem do sistema: "
              echo
         sudo /usr/sbin/useradd $login -s /bin/false; echo "$senha" | sudo /usr/bin/passwd $login --stdin
              echo
              ( echo $senha ; echo $senha ) | sudo smbpasswd -s -a $login
         #sed -e $login $senha date > /etc/samba/users.log
         echo
              echo "Precione qualquer tecla para continuar..."
              read msg
                  Principal
      else [ $op = "N" ] || [ $op = "n" ];
          Principal    
      fi
       fi       
   done       
    else
   echo -n "Entre com o nome completo do usuário: "
        read nome
        echo -n "Entre com a senha do usuário: "
        stty -echo
        read senha
        stty echo
        echo
        echo "Mensagem do sistema: "
        echo
        sudo /usr/sbin/useradd $login -c "$nome" -s /bin/false; echo "$senha" | sudo /usr/bin/passwd $login --stdin
        echo
        ( echo $senha ; echo $senha ) | sudo smbpasswd -s -a $login
        #sed -e $login $senha date > /etc/samba/users.log
        echo
        echo "Precione qualquer tecla para continuar..."
        read msg
        Principal
    fi
}

Deletar(){
    echo -n "Entre com o login do usuário para deletar: "
    read login
    echo
    echo "Mensagens do sistema: "
    echo
    sudo /usr/bin/smbpasswd -x $login
    echo
    sudo /usr/sbin/userdel $login
    echo
    echo "Pressione qualquer tecla para continuar..."
    read msg
    Principal
}
Pesquisar(){
    echo "Entre com o login: "
    read login
    if [ `grep -i -w ^$login /etc/samba/smbpasswd | cut -d: -f 1-1` ];
    then
   echo "$login - Usuário cadastrado"
   read msg
   Principal
    else
   echo "Usuário não existe"
   read msg
   Principal
    fi
}
Listar(){
    echo "Lista de usuários do Samba: "
    echo
    tail /etc/samba/smbpasswd | cut -d: -f 1-1 | more
    echo 
    echo "Pressione qualquer tecla para continuar..."
    read msg
    Principal
}
Principal

Scripts recomendados

Gerando logs para arquivos sem sobrescrever

Capturando tela em modo gráfico (Melhorado)

Administração de usuários Linux

Script para usar o sopcast

NMAP - Script que monitora portas que foram abertas e envia por email


  

Comentários
[1] Comentário enviado por apedroso em 16/07/2007 - 16:21h

Meu site com outros scripts:

http://apedroso.blogspot.com

:)

[2] Comentário enviado por loirojones em 13/12/2012 - 12:23h

Tem um erro no seu script colega.


nessa variável

case $opcao in
1) Adicionar/Alterar senha ;;

Adicionar(){
echo -n "Entre com o login do usuário: "
read login

correção

case $opcao in
1) Add ;;


Add(){
echo -n "Entre com o login do usuário: "
read login

Add = Add ====> Sacou.... o que vc declarou na variável vc tem que declarar na opção...

T +..........


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts