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

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

[ Hits: 17.093 ]

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

Mostrando arquivos de forma diferente

Limpar Cache do Squid

Script para verificação do serviço do Apache (webserver) em sistemas Linux Ubun

Convertendo bases numéricas

Adicionar usuários para serem autenticados pelo squid


  

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