Automatizar o controle de um servidor de compartilhamentos Samba
Publicado por Denilson Martins (última atualização em 10/02/2015)
[ Hits: 4.156 ]
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
Desenvolvimento Java Para para máquinas "leves" (ou pra quem não quer eclipse, :P)
Script que busca IP Livres em uma rede
Instalação do Gentoo - Parte 1
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Debian 13 Trixie para Iniciantes
Convertendo pacotes DEB que usam ZSTD (Padrão Novo) para XZ (Padrão Antigo)