Automatizar o controle de um servidor de compartilhamentos Samba
Publicado por Denilson Martins (última atualização em 10/02/2015)
[ Hits: 3.971 ]
Homepage: www.vivaolinux.com.br
Criei o script para automatizar o controle de usuários no Samba, cabe melhorias mas por enquanto é um script de uma ideia inicial.
#!/bin/bash # @uthor - Denilson Martins -- 01/2015 listaUsuarios=/etc/passwd listaGrupos=/etc/group Menu() { clear echo "#################################################" echo "# USUARIOS COMPARTILHAMENTO: #" echo "# --------------------------------------------- #" echo "# 1-> ADICIONAR USUARIO: #" echo "# 2-> DELETAR USUARIO: #" echo "# 3-> TROCAR SENHA USUARIO: #" echo "# 4-> ADICIONAR GRUPO DE USUARIOS: #" echo "# 5-> DELETAR GRUPO DE USUARIOS: #" echo "# 6-> ADICIONAR USUARIO A UM GRUPO EXISTENTE: #" echo "# 7-> REMOVER USUARIO DE UM GRUPO EXISTENTE: #" echo "# 8-> LISTAR USUARIOS DE UM GRUPO EXISTENTE: #" echo "# QUALQUER TECLA DIFERENTE PARA SAIR: #" echo "# --------------------------------------------- #" echo "# DIGITE UMA OPCAO: #" echo "#_______________________________________________#" read op case $op in 1) Adicionar ;; 2) Deletar ;; 3) TrocarSenha ;; 4) AdicionarGrupo ;; 5) DeletarGrupo ;; 6) AdicionarUsuarioGrupo ;; 7) RemoverUsuarioGrupo ;; 8) ListarUsuarioGrupo ;; *) exit ;; esac } Adicionar(){ listaUsuarios echo "Digite o nome do usuario" read user adduser --no-create-home --disabled-login $user smbpasswd -a $user /etc/init.d/samba restart listaUsuarios msgVoltar } Deletar(){ listaUsuarios echo "Digite o nome do usuario" read user smbpasswd -x $user deluser $user /etc/init.d/samba restart listaUsuarios msgVoltar } TrocarSenha(){ listaUsuarios echo "Digite o nome do usuario" read user smbpasswd -a $user /etc/init.d/samba restart msgVoltar } AdicionarGrupo() { listaGrupos echo "Digite o nome do grupo: " read grupo addgroup $grupo listaGrupos msgVoltar } DeletarGrupo() { listaGrupos echo "Digite o nome do grupo: " read grupo delgroup $grupo clear listaGrupos msgVoltar } AdicionarUsuarioGrupo() { listaUsuarios echo "Digite o nome do usuario" read user listaGrupos echo "Digite o nome do grupo" read grupo adduser $user $grupo msgVoltar } RemoverUsuarioGrupo() { listaUsuarios echo "Digite o nome do usuario" read user listaGrupos echo "Digite o nome do grupo" read grupo deluser $user $grupo msgVoltar } ListarUsuarioGrupo() { listaGrupos echo "Digite o nome do grupo" read grupo cat $listaGrupos | grep $grupo | awk -F: '{ print "--------------------------- \n" "Usuarios do grupo $grupo:\n" $4}' echo "---------------------------" echo "Enter para continuar:" read msgVoltar } ## Funcoes basicas mas com bastante repeticao listaUsuarios() { clear echo "---------------------------" echo "Usuarios ativos no compartilhamento" echo "---------------------------" cat $listaUsuarios | grep [0-1][0-9][0-9][0-9] | awk -F: '{print $1}' echo "---------------------------" } listaGrupos() { clear echo "---------------------------" echo "Grupos ativos no compartilhamento" echo "---------------------------" cat $listaGrupos | grep [0-1][0-9][0-9][0-9] | awk -F: '{print $1}' echo "---------------------------" } msgVoltar(){ echo "--------------------------" echo "Voltando ao Menu principal" echo "--------------------------" sleep 3 Menu } Menu
Instalação do Eclipse for PHP Developers
Agenda de telefone em Shell usando Dialog
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Não consigo instalar o WineHQ no meu notebook vaio FE15 (Debian) (7)
Montar Partição para usar no Timeshift (8)
Instalação da Imagem ISO do Tails (8)
Não consigo atualizar para LinuxMint 22 com o Mintupdate (7)