Adicionar e Remover usuário do Samba/Squid (com menu)
Publicado por André Lourenço Pedroso 11/04/2006
[ Hits: 17.274 ]
Homepage: http://apedroso.blogspot.com
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!
#! /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
Instalação do Python 3.5.1 no Linux
Script para Controlar Conexao Speedy
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Programa fora de escala na tela do pc (33)
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (0)









