Adicionar/Deletar Usuarios Samba/Sistema

Publicado por Sandro Roberto Vieira 31/05/2005

[ Hits: 28.677 ]

Download usuarios.sh




Este Script vai ajudar as pessoas que estao iniciando no Linux, pois cadastra/deleta e altera a senha dos usuarios Samba / Sistema Linux.

  



Esconder código-fonte

#!/bin/bash
  # mento báco escrito por leof - www.leofc.tk
  # Adicionado recursos para o SaMBa por
  # Tiago Cruz - tiagocruz@linuxrapido.org
  # Adicionar/Remover usuáos no Linux e no SaMBa
  # Versã0.1 criada em 10/10/2003
  # -----------------------------------------------------
  # Versã0.2 em 13/10/2003 por Tiago Cruz 
  # Senha do usuáo criada junto com a o SaMBa, mas
  # necessita do pacote libgii
  # -----------------------------------------------------
  # Versã0.3 em 18/01/05 por Tiago Cruz
  # Adicionar com o visudo (pacote sudo) para um usuáo
  # mortal poder criar e deletar o povo :)
  # usuario ALL=(ALL) NOPASSWD: /usr/sbin/useradd
  # usuario ALL=(ALL) NOPASSWD: /usr/sbin/userdel
  # usuario ALL=(ALL) NOPASSWD: /usr/bin/smbpasswd
  # usuario ALL=(ALL) NOPASSWD: /usr/bin/passwd
  #######################################################
  Principal() {
     clear
     dir="Diretorio Atual : `pwd`"
     kernel="Kernel : `uname -r`"
     arquitetura="Arquitetura : `uname -m`"
     grupos=groups

     echo "+-------------------------------------------------+"
     echo "|               Utilies for LinuX                 |"
     echo "+-------------------------------------------------+"
     echo "| Adicionar/ Remover usuarios no SaMBa e no Linux |"
     echo "+-------------------------------------------------+"
     echo "| Escrito por:                                    |"
     echo "| Tiago Cruz - www.linuxrapido.org                |"
     echo "| Modificado por:                                 |"
     echo "| Sandro Roberto Vieira - sandro@datapar.com.py   |"
     echo "+-------------------------------------------------+"
     echo
     echo $dir
     echo $kernel
     echo $arquitetura
     echo
     echo "Opcoes:"
     echo "1. Adicionar um Usuario"
     echo "2. Deletar um Usuario"
     echo "3. Modificar senha de Usuario"
     echo "4. Listar Usuarios do Samba"
     echo "5. Sair"
     echo -n "Entre com a opcao desejada => "
     read opcao
     echo
     case $opcao in
        1) Adicionar ;;
        2) Deletar ;;
        3) Modificar ;;
        4) Listar ;;
        5) exit ;;
        *) "Opcao desconhecida." ; echo ; Principal ;;
     esac
  }

Listar() {
     echo "Lista Usuario Samba: "
    cat /etc/samba/smbpasswd | awk 'BEGIN{ FS=":" } { print "Usuario:" $1 "\t" "Id:" $2}'|more
     read msg
     echo "Lista Usuario do Sistema: "
    cat /etc/passwd | awk 'BEGIN{ FS=":" } { print "Usuario:" $1 "\t" "Id:" $3}' |more

     echo "Pressione qualquer tecla para continuar..."
     read msg
     Principal
   }
 
Adicionar() {
     echo -n "Entre com o login do usuario: "
     read login
     echo -n "Entre com o nome completo do usuario: "
     read nome
     echo -n "Entre com o Grupo do usuario: "
     read grupo
     #echo -n "Entre com o depto do usuáo: "
     #read depto
     echo -n "Entre com a senha do usuario: "
     stty -echo
     read senha
     stty echo
     echo
     echo "Mensagens do sistema: "
     echo
     ( echo $grupo ; echo $grupo ) | sudo groupadd -r -f $grupo
     sudo /usr/sbin/useradd $login -c "$nome" -g "$grupo" -d /home/user/$login -s  /bin/bash; echo "$senha" | sudo /usr/bin/passwd $login --stdin
     echo
     ( echo $senha ; echo $senha ) | sudo smbpasswd -s -a $login
     #smbpasswd -a $login $senha
     echo
     echo "Pressione qualquer tecla para continuar..."
     read msg
     Principal
  }

Modificar() {
     echo -n "Entre com o login do usuario para modificar a Senha: "
     read login
     #echo -n "Entre com o depto do usuáo: "
     #read depto
     echo -n "Entre com a senha do usuario para Modificar: "
     stty -echo
     read senha
     stty echo
     echo
     echo "Mensagens do sistema: "
     ( echo $senha ; echo $senha ) | sudo smbpasswd -s  $login
     echo "$senha" | sudo /usr/bin/passwd $login --stdin
#    echo
#     ( echo $senha ; echo $senha ) | sudo smbpasswd -s -a $login
     #smbpasswd -a $login $senha
#    ( echo $senha ; echo $senha ) | sudo smbpasswd -s -a $login
     #smbpasswd -a $login $senha
     echo
     echo "Pressione qualquer tecla para continuar..."
     read msg
     Principal
  }

Deletar() {
     echo -n "Entre com o login do usuario a 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
  }
  Principal

Scripts recomendados

Reativando Placa Wifi

Servidor HTTP em Bash

Limitando largura de banda com o CBQ

Instalador de Código Fonte - Linha de Comando

Pequeno sistema de backup (Rsync + SAMBA + Tar + FTP)


  

Comentários
[1] Comentário enviado por rebinat em 06/10/2005 - 13:59h

achei muito interessante e realmente útil o seu script, mas não entendi porque na função modificar() ficam essas linhas como comentário:

# echo
# ( echo $senha ; echo $senha ) | sudo smbpasswd -s -a $login
#smbpasswd -a $login $senha
# ( echo $senha ; echo $senha ) | sudo smbpasswd -s -a $login
#smbpasswd -a $login $senha


não é necessária essas linhas pra alteração da senha?

[2] Comentário enviado por tecnet em 06/10/2005 - 14:17h

Rebinat, Obrigado pelo comentario, mais essas linhas sao para adicionar usuario, e nao sao necessarias, desculpa era pra mim tirar quando enviei o script.

vlw,

um Abraco,

Sandro

[3] Comentário enviado por sauloreinel em 17/02/2006 - 12:57h

por favor eu preciso de um script que adicione e remova usuarios sem usar a funcao adduser faz parte do trabalho da facul nao usar a funcao adduser , se alguem tiver por favor, entra em contato sauloreinel@hotmail.com.

[4] Comentário enviado por igord em 11/08/2007 - 17:44h

cara olha o erro que deu alguem pode me ajudar?!!!
esse erro acontece ao eu tentar deletar um usuario
startsmbfilepwent_internal: file /etc/samba/smbpasswd did not exist. File successfully created.
Deleted user brjogos.

vipw lockfile (/etc/ptmp) is present.

[5] Comentário enviado por luisclaudiobp em 28/12/2009 - 11:17h

Ainda sou meio leigo no linux, mas retire o /smbpasswd que deve funcionar.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts