Automatizar o controle de um servidor de compartilhamentos Samba
Publicado por Denilson Martins (última atualização em 10/02/2015)
[ Hits: 4.434 ]
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
Compilação automática do GCC-4.7.3 para Ubuntu 12.04+ 64 bits
Script para verificação do JAVA configurado no PATH
administrador do farmacia administra una farmacia
Maquina modesta - a vez dos navegadores ferrarem o usuario
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Como rodar o Folding@home no Linux
Criando um painel de controle (Dashboard) para seu servidor com o Homepage
Utilizando a Ferramenta xcheckrestart no Void Linux
Pisando no acelerador do Linux Mint: Kernel XanMod, zRAM e Ajustes de Swap
Como compilar kernel no Linux Mint
O que significa essa expressão? (3)
o que é esta mensagem? relatorios do sistema (8)
como usar o caja como cliente FTP no linux mint? (2)
VMWare Player não conecta na rede nem consigo intercambiar arquivos (3)









