Automatizar o controle de um servidor de compartilhamentos Samba
Publicado por Denilson Martins (última atualização em 10/02/2015)
[ Hits: 4.379 ]
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
Renomeando múltiplos arquivos com espaços
Calculadora com 4 operações e cálculo de porcentagem
cpb - Copia arquivos executáveis...
Berry Bank: Criando um Banco Digital Gamificado para seus Filhos com Gentoo, Flask e Tailscale
Papagaiando o XFCE com temas e recursos
Instale o DOOM Retro no Gentoo facilmente via Overlay
Steam (Flatpak) rodando jogos em partição NTFS
O dock Plank + U-Launcher deixam qualquer desktop mais produtivo
Instalar Linux em notebook Sony Vaio VPCEG13EB (17)
Alguém tem que acabar com ANATEL!!! (10)
O que você está ouvindo agora? [2] (229)









