samba (sambax)

sambax

Categoria: Samba

Software: samba

[ Hits: 12.906 ]

Por: Eduardo Assis


Um Front-end para facilitar na configuração do samba (smb.conf).
Ele roda em Xdialog, bastando tê-lo instalado junto com o samba
para poder funcionar.



Ele foi desenvolvido no CL9 com o padrão LSB, no qual o samba fica
em /etc/samba/smb.conf. Se você utilizar outra distro na qual o samba
esteja em outro caminho, vocÊ precisará mudar o caminho no
código do script.


#!/bin/bash
clear
DIALOG=`which Xdialog`
procura_samba=`which samba`
if [ ! $DIALOG ]
then
   echo " Xdialog nao encontrado"
   exit 1
fi
if [ ! $procura_samba ]
then
   echo " Samba nao encontrado"
   exit 1
fi

MENU=`$DIALOG --stdout --center --fixed-font --keep-colors --no-cancel --ignore-eof --smooth --help " Qualquer duvidas favor entrar em contato\n\nEduardo Assis\n\neduardodoctor@bol.com.br" --title " SAMBAX " --menu " Front-end para configuração do Samba\nEscolha uma das Opções abaixo: " 18 45 10 SOBRE "ESTE PROGRAMA" DEFINIR "GRUPO DE TRABALHO" COMPARTILHAR DIRETÓRIO REMOVER COMPARTILHAMENTO INICIAR SAMBA PARAR SAMBA FIM "SAIR DO MENU"`
case $MENU in
   SOBRE)

      `$DIALOG --stdout --center --fixed-font --keep-colors --no-cancel --ignore-eof --smooth --title " SAMBAX " --msgbox " Script Feito por Eduardo Assis\nemail: eduardodoctor@bol.com.br\n\nEsse Script tem por objetivo facilitar \na nossa vida de Administrador de Redes Linux\nEle irá te ajudar a configurar um samba\nfacilmente, bastando definir o grupo de trabalho\ne criar um compartilhamento\nEle trabalha com permissões de root\n quando for roda-lo use-o como root\n\nLembrando que este script funciona\njunto com o padrão LSB, onde o samba fica\n em /etc/samba e o smb.conf dentro\nNão valendo para Distro fora do padrão LSB\n\nLembrando que foi testado na Distro\nConectica Linux 9\nversão do samba ( samba-2.2.8-27519cl )\nmas vai depender da versão do Samba de\nsua Distro Linux favorita\n\nQualquer duvidas ou sugestões mesmo que \nem forma de elogio ou critica eu agradeço\n\nAbraços\ntucs " 35 45`
   ;;
   DEFINIR)
      while [ ! $grupo ]
      do
         grupo=`$DIALOG --stdout --center --fixed-font --keep-colors --no-cancel --ignore-eof --smooth --title " SAMBAX " --inputbox " Favor digitar o nome do Grupo de Trabalho: " 10 45`
      done
         sed '18c\ workgroup = '$grupo'' /etc/samba/smb.conf > /etc/samba/smb.out
         mv /etc/samba/smb.out /etc/samba/smb.conf
         sed '56c\ security = share' /etc/samba/smb.conf > /etc/samba/smb.out
         mv /etc/samba/smb.out /etc/samba/smb.conf
         sed '172a\unix password sync = yes' /etc/samba/smb.conf > /etc/samba/smb.out
         mv /etc/samba/smb.out /etc/samba/smb.conf
         sed '173a\map to guest = never' /etc/samba/smb.conf > /etc/samba/smb.out
         mv /etc/samba/smb.out /etc/samba/smb.conf
         sed '174a\password level = 0' /etc/samba/smb.conf > /etc/samba/smb.out
         mv /etc/samba/smb.out /etc/samba/smb.conf
         sed '175a\null passwords = yes' /etc/samba/smb.conf > /etc/samba/smb.out
         mv /etc/samba/smb.out /etc/samba/smb.conf
         sed '176a\os level = 0' /etc/samba/smb.conf > /etc/samba/smb.out
         mv /etc/samba/smb.out /etc/samba/smb.conf
         sed '177a\preferred master = no' /etc/samba/smb.conf > /etc/samba/smb.out
         mv /etc/samba/smb.out /etc/samba/smb.conf
         sed '178a\domain master = no' /etc/samba/smb.conf > /etc/samba/smb.out
         mv /etc/samba/smb.out /etc/samba/smb.conf
         sed '179a\wins support = no' /etc/samba/smb.conf > /etc/samba/smb.out
         mv /etc/samba/smb.out /etc/samba/smb.conf
         sed '180a\dead time = 0' /etc/samba/smb.conf > /etc/samba/smb.out
         mv /etc/samba/smb.out /etc/samba/smb.conf

         `$DIALOG --stdout --center --fixed-font --keep-colors --no-cancel --ignore-eof --smooth --title " SAMBAX " --msgbox " Grupo ( $grupo ) definido com sucesso !!!  " 10 45`
      ;;

        COMPARTILHAR)
      while [ ! $nome_comp ]
      do
         nome_comp=`$DIALOG --stdout --center --fixed-font --keep-colors --no-cancel --ignore-eof --smooth --title " SAMBAX " --inputbox " Favor Digitar o Nome do Compartilhamento:\nEx: sambax " 10 45`
      done
      while [ ! $caminho_comp ]
      do
         caminho_comp=`$DIALOG --stdout --center --fixed-font --keep-colors --no-cancel --ignore-eof --smooth --title " SAMBAX " --inputbox " Favor Digitar o Caminho do Compartilhamento:\nEx: /home/$nome_comp " 10 45`
      done
         if [ ! -s $caminho_comp ]
            then
            if `$DIALOG --title " SAMBAX " --default-no --yesno " O caminho ( $caminho_comp ) que você digito não existe\nDeseja criar agora ? " 10 70`
            then
            mkdir $caminho_comp
            chown nobody.nobody $caminho_comp
            chmod 777 $caminho_comp
            fi
         fi
         echo [$nome_comp] >> /etc/samba/smb.conf   
         echo available = yes >> /etc/samba/smb.conf
            echo browseable = yes >> /etc/samba/smb.conf
             echo path = $caminho_comp >> /etc/samba/smb.conf
             echo public = yes >> /etc/samba/smb.conf
             echo guest only = yes >> /etc/samba/smb.conf
             echo writable = yes >> /etc/samba/smb.conf
             echo only user = no >> /etc/samba/smb.conf
         
         `$DIALOG --stdout --center --fixed-font --keep-colors --no-cancel --ignore-eof --smooth --title " SAMBAX " --msgbox " Configuração concluida com sucesso !!!\nNome do Compartilhamento:     $nome_comp\nCaminho do Compartilhamento:  $caminho_comp " 10 45`
      ;;
   REMOVER)
      while [ ! $remover ]
      do
         remover=`$DIALOG --stdout --center --fixed-font --keep-colors --no-cancel --ignore-eof --smooth --title " SAMBAX " --inputbox " Favor Digitar o Nome do Compartilhamento para Remover:\nEx: sambax\nFaz Diferença se você criou o compartilhamento\ncom NOME MAIUSCULO " 10 50`         
         
         if `$DIALOG --title " SAMBAX " --default-no --yesno " Tem certeza que deseja apagar o compartilhamento ( $remover ) do Sistema ? " 10 70`
         then         
            sed '/'$remover'/d' /etc/samba/smb.conf > /etc/samba/smb.out
            mv /etc/samba/smb.out /etc/samba/smb.conf
         fi
      done
      ;;
   INICIAR)
         if `$DIALOG --title " SAMBAX " --yesno " Deseja que o Samba seja iniciado junto com o Sistema? " 10 50`
         then
            service smb start
            echo service smb start >> /etc/rc.d/rc.local
            `$DIALOG --stdout --center --fixed-font --keep-colors --no-cancel --smooth --title " SAMBAX " --msgbox " Serviço Iniciado com Sucesso !!! " 10 45`
         else
            service smb start
            `$DIALOG --stdout --center --fixed-font --keep-colors --no-cancel --smooth --title " SAMBAX " --msgbox " Serviço Iniciado com Sucesso !!! " 10 45`
         fi
         
      ;;
   PARAR)
      service smb stop
      `$DIALOG --stdout --center --fixed-font --keep-colors --no-cancel --ignore-eof --smooth --title " SAMBAX " --msgbox " Comando concluido com Sucesso !!! " 10 45`   

      ;;
   FIM)
      clear
      exit
      ;;
esac
clear
sh $0
  


Comentários
[1] Comentário enviado por k2 em 20/07/2003 - 12:50h

Acredito para quem deseja soluções rápidas e com interface gráfica via Shell Script, o Xdialog é a ferramenta ideal.

Viva o Linux, Viva a Comunidade Open Source!!!

[2] Comentário enviado por kampz em 04/10/2004 - 17:49h

eu não consegui compilar, alguem pode me ajudar??? No entanto o smb.conf que baixei do site me deu um horizonte para ativar meu servidor linux.

Grato

[3] Comentário enviado por edgar.frastrone em 24/05/2006 - 17:25h

Amigo gostaria de saber como adicionar um .conf, tenho um exemplo muito bom, porem não consigo adicionar


Contribuir com comentário

  



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts