Automatizar o controle de um servidor de compartilhamentos Samba
Publicado por Denilson Martins (última atualização em 10/02/2015)
[ Hits: 4.283 ]
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
Alterar o papel de parede aleatoriamente
Script para monitorar memória do servidor
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Instalando partes faltantes do Plasma 6
Adicionar botão "mostrar área de trabalho" no Zorin OS
Como montar um servidor de backup no linux
Estou tentando ser legalista, mas tá complicado! (9)
espelhar monitores nao funciona (2)
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (1)









