Zsmb - Script para configurar o Samba
Publicado por Fernando T. Da Silva (última atualização em 22/10/2018)
[ Hits: 8.047 ]
Homepage: http://meumundotux.blogspot.com.br/
Download zsmb-v2-menu-ajuda.tgz
Download zsmb-v4-menu-ajuda.tgz (versão 2)
Download zsmb-v5-ubuntu1604-menu-ajuda.tgz (versão 3)
Simples script em Zenity com ajuda para configurar um novo arquivo smb.conf básico para compartilhar impressoras e pastas do seu computador, permitindo fazer alterações ou não no seu compartilhamento.
Este script foi criado para utilizar em window managers mais simples que não possuem uma ferramenta compartilhar uma pasta do seu computador.
Este script não trabalha com opções complexas no compartilhamento ou na seção global, devendo o usuário ter conhecimento para isto, caso deseje algo a mais que vá além do simples compartilhamento de pasta.
Pontos que podem ser necessários a modificar:
Você deverá alterar no script o nome e o caminho do seu serviço que reinicia os serviços smbd e nmbd que varia conforme a distro, o editor usado para editar o arquivo smb.conf, ter o terminal xterm instalado ou trocar por outro de sua preferência, usar o gksu no lugar do terminal com sudo no arquivo zsmb.desktop.
Notas:
Este script utiliza uma janela de terminal para usar o sudo e para acompanhar o reinicio dos serviços do samba.
Usa o Firefox para ver a ajuda, e cria um atalho no grupo Internet do menu de programa, caso seu gerenciador de janelas, utilizem os arquivos .desktop para os atalhos do menu.
Para instalar:
# tar -xzvf zsmb-v2-menu-ajuda.tgz -C /
Estrutura dos arquivos do pacote:
drwxr-xr-x root/root 2015-01-25 20:13 usr/
drwxr-xr-x root/root 2015-01-25 20:19 usr/share/
drwxr-xr-x root/root 2015-01-25 14:49 usr/share/doc/
drwxr-xr-x root/root 2015-01-25 19:52 usr/share/doc/zsmb/
-rw-r--r-- root/root 2015-01-25 19:44 usr/share/doc/zsmb/zsmb-ajuda.html
drwxr-xr-x root/root 2015-01-25 20:01 usr/share/applications/
-rw-r--r-- root/root 2015-02-23 21:05 usr/share/applications/zsmb.desktop
drwxr-xr-x root/root 2015-01-25 20:19 usr/share/icons/
-rw-r--r-- root/root 2015-01-25 20:19 usr/share/icons/network_36x36.png
drwxr-xr-x root/root 2015-01-25 14:49 usr/local/
drwxr-xr-x root/root 2015-01-25 19:59 usr/local/bin/
-rwxr-xr-x root/root 2015-01-25 19:50 usr/local/bin/zsmb
Versão 2 - Enviado por Fernando T. Da Silva em 23/08/2015
Changelog:
- Adição na linha "map to guest = bad user" como padrão na seção global.
- Dicas de montagem direta com gvfs-mount e problemas que tive com compartilhamento home em distro rodando Samba 4.1.x e as soluções pra contornar este e outros problemas na parte da ajuda.
Download zsmb-v4-menu-ajuda.tgz
Versão 3 - Enviado por Fernando T. Da Silva em 06/10/2018
Changelog: Adicionado item para excluir usuário do samba
Adicionado item para listar usuário no samba
Adicionado item para criar compartilhamento privativo
Trocado o comando responsável para iniciar/parar/reiniciar o servidor samba, altere conforme o que é
usado na sua distro editando o script.
Pequenas modificações nas opções utilizadas no smb.conf
Adicionado mais informações de uso do samba com explicações sobre o tipo de compartilhamento na ajuda
Alterado no script o nome do editor mousepad para leafpad
Modificações feita em outubro de 2018.
Download zsmb-v5-ubuntu1604-menu-ajuda.tgz
while true; do choice="$(zenity --width=400 --height=380 --list --column "Executar" --title="Zsmb Configure" \ "Configurar um novo smb.conf simplificado" \ "Adicionar compartilhamento" \ "Editar o arquivo smb.conf" \ "Adicionar usuario ao Samba" \ "Reiniciar servidor Samba" \ "Ajuda" \ "Sair")" case "${choice}" in "Configurar um novo smb.conf simplificado" ) zenity --question --title "Zsmb Configure" --text "Seu arquivo /etc/samba/smb.conf atual será excluído, faça uma copia de \nbackup manualmente antes ser for necessário, cancelando agora. \n\nDeseja prosseguir adiante?" if [ $? = 1 ]; then zenity --error --title "Zsmb Configure" --text "Configuração cancelada" & exit fi rm /etc/samba/smb.conf echo [global] >> /etc/samba/smb.conf echo server string = Servidor Zsmb >> /etc/samba/smb.conf grupo=$(zenity --title="Zsmb" --entry --text="Digite o nome do grupo de trabalho ") echo workgroup = "$grupo" >> /etc/samba/smb.conf hostname=$(zenity --title="Zsmb" --entry --text="Digite o nome do seu computador (hostname) ") echo netbios name = "$hostname" >> /etc/samba/smb.conf echo local master = no >> /etc/samba/smb.conf echo os level = 33 >> /etc/samba/smb.conf echo preferred master = no >> /etc/samba/smb.conf echo wins support = yes >> /etc/samba/smb.conf modo=$(zenity --title="Zsmb" --entry --text="Digite o mode de compartilhamento, exemplo share (livre) ou user (senha) ") echo security = "$modo" >> /etc/samba/smb.conf echo printing = cups >> /etc/samba/smb.conf echo load printers = yes >> /etc/samba/smb.conf echo >> /etc/samba/smb.conf echo >> /etc/samba/smb.conf echo [printers] >> /etc/samba/smb.conf echo comment = Todas as Impressoras >> /etc/samba/smb.conf echo path = /var/spool/samba >> /etc/samba/smb.conf echo print ok = yes >> /etc/samba/smb.conf echo guest ok = yes >> /etc/samba/smb.conf echo browseable = yes >> /etc/samba/smb.conf echo >> /etc/samba/smb.conf ;; "Adicionar compartilhamento" ) echo >> /etc/samba/smb.conf echo >> /etc/samba/smb.conf zenity --width=800 --height=220 --info --text "Nunca compartilhe pastas essencias do sistema como /, /usr, /etc ... Crie uma pasta especifica abaixo de /mnt como /mnt/partilha ou outra qualquer na sua raiz como /partilha para que todos usuários deste computador possam utilizem a mesma, ou crie dentro do seu HOME para somente você.\n\nAVISO\n\nA permissão da pasta compartilhada foi fixada em 777 (chmod 777) para que todos os usuários deste computador e do remoto possam gravar arquivos nela, caso não deseja isto altere manualmente após concluído o script." compartilhamento=$(zenity --title="Zsmb" --entry --text="Digite um nome curto para o compartilhamento sem espaços em branco no nome. \nExemplos: documentos ou documentos-faculdade ") echo ["$compartilhamento"] >> /etc/samba/smb.conf caminho=$(zenity --title="Zsmb" --entry --text="Digite o caminho completo da pasta ou cole o mesmo, exemplo /mnt/partilha/Documentos da faculdade ") echo path = "$caminho" >> /etc/samba/smb.conf gravar=$(zenity --title="Zsmb" --entry --text="Deseja permitir gravação e alteração nos arquivos? \nDigite yes para sim e no para não. ") echo writable = "$gravar" >> /etc/samba/smb.conf echo guest ok = yes >> /etc/samba/smb.conf chmod 777 "$caminho" ;; "Editar o arquivo smb.conf" ) leafpad /etc/samba/smb.conf ;; "Adicionar usuario ao Samba" ) zenity --info --title "Zsmb" --text "O usuário deve existir no seu sistema" user=$(zenity --title="Zsmb" --entry --text="Digite um nome de usuário do sistema ") xterm -g 45x10 -fa 'Luxi Mono' -fs 12 -hold -e smbpasswd -a "$user" ;; "Reiniciar servidor Samba" ) xterm -g 45x10 -fa 'Luxi Mono' -fs 12 -hold -e /etc/rc.d/rc.samba restart ;; "Ajuda" ) firefox /usr/share/doc/zsmb/zsmb-ajuda.html ;; *) break ;; esac done
Script compartilhar conexão e criar regras de Firewall
Encerrar sessão no terminal com tempo definido
Bloquear Whatsapp, Facebook, Youtube e outros pelo IPTABLES
Gerando QR code com script e Google Chart Tools
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Melhorando a precisão de valores flutuantes em python[AJUDA] (9)
GLPI - Configuração de destinatário com conta Microsoft Exchange (0)
Vou voltar moderar conteúdos de Dicas e Artigos (3)
OpenVPN no MACBOOK conecta mas não pinga pastas de rede compartilhada ... (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta