Automatizar o controle de um servidor de compartilhamentos Samba
Publicado por Denilson Martins (última atualização em 10/02/2015)
[ Hits: 4.188 ]
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
Shell Script - para configurações de Vlans Cisco.
Agendamento de compromissos com avisos baseados no horário
Intel corta Vulkan do oneAPI Construction Kit 5.0
Kernel 6.18 em foco, betas fervilhando e avanços em IA no Linux
O que é o THP na configuração de RAM do Linux e quando desabilitá-lo
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
Como instalar Counter-Strike 1.6? (1)
intervenção politica pode interver no Fedora Linux [RESOLVIDO] (12)
Primeiras impressões do Debian 13 (24)
Fedora não reconhece James Donkey 102 Wireless Gaming Mouse (1)