Samba Servidor de arquivos Linux com estações Windows

8
Samba: Servidor de arquivos Linux com estações Windows mcfmlt 14/01/2010 Esse artigo tem por objetivo mostrar como implementar um servidor compartilhados seguro usando Linux + Samba. Assim como eu, muitos trabalham em redes mistas (Windows e Linux). Então mãos a obra! Por: Milton Caetano Filho | Blog: http://www.miltoncaetanofilho.blo [ Hits: 40105 ] Conceito: 10.0 + quero dar nota ao artigo Denuncie + Favoritos Versão para impressora Indicar para um amigo Enviar artigo Cenário para implantação Vamos primeiramente identificar o cenário, ou seja, a topologia d 1. É necessário um servidor Linux, nesse caso usei a distro Debia 2. Clientes que acessarão o serviço. Podem ser arquitetura Unix, Nesse caso específico estamos usando estações Windows, pois a mai funcionários não têm o conhecimento necessário para usar Linux po desde falta de treinamento ou até mesmo o software no qual trabal para Linux. Instalação dos pacotes. # apt-get install samba Configuração do arquivo /etc/samba/smb.conf . Renomeie o arquivo /etc/samba/smb.conf: # cd /etc/samba # mv smb.conf smb.conf.bkp Vamos criar um novo arquivo com o mesmo nome: # touch smb.conf Feito isso adicionaremos o seguinte conteúdo ao arquivo smb.conf. comando use seu editor de preferência, neste caso usei o vim: # vim smb.conf

Transcript of Samba Servidor de arquivos Linux com estações Windows

Samba: Servidor de arquivos Linux com estaes Windows

mcfmlt 14/01/2010 Esse artigo tem por objetivo mostrar como implementar um servidor de arquivos compartilhados seguro usando Linux + Samba. Assim como eu, muitos administradores trabalham em redes mistas (Windows e Linux). Ento mos a obra! Por: Milton Caetano Filho | Blog: http://www.miltoncaetanofilho.blogspot.com [ Hits: 40105 ] Conceito: 10.0 + quero dar nota ao artigo Denuncie + Favoritos Verso para impressora Indicar para um amigo Enviar artigo

Cenrio para implantaoVamos primeiramente identificar o cenrio, ou seja, a topologia de nossa rede. 1. necessrio um servidor Linux, nesse caso usei a distro Debian 5.0. 2. Clientes que acessaro o servio. Podem ser arquitetura Unix, Linux e Microsoft. Nesse caso especfico estamos usando estaes Windows, pois a maioria dos funcionrios no tm o conhecimento necessrio para usar Linux por "N" motivos, desde falta de treinamento ou at mesmo o software no qual trabalham no ter similar para Linux. Instalao dos pacotes. # apt-get install samba Configurao do arquivo /etc/samba/smb.conf. Renomeie o arquivo /etc/samba/smb.conf: # cd /etc/samba # mv smb.conf smb.conf.bkp Vamos criar um novo arquivo com o mesmo nome: # touch smb.conf Feito isso adicionaremos o seguinte contedo ao arquivo smb.conf. No prompt de comando use seu editor de preferncia, neste caso usei o vim: # vim smb.conf

[global] # Substituir xxxxxx pelo nome do domnio desejado caso necessrio workgroup = linux # Substituir xxxxxx pelo nome do servidor caso necessrio netbios name = debmirror server string = Samba domain master = yes preferred master = yes local master = yes domain logons = no logon path = %systemroot%\%u #logon script = todos.bat security = user @root encrypt passwords = yes os level = 200 time server = yes unix charset = iso8859-1 display charset = cp850 ##Arquivo de log log file = /var/log/samba/%m.log max log size = 5000 debug level = 2 ##Encrypta as senhas digitadas na rede, porm no funciona em estaes## Windows 95 e Windows 3.11 smb passwd file = /etc/samba/smbpasswd username map = /etc/samba/smbusers ##Garantir melhor desempenho do servidor socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 ##Permite a utilizao de impressoras compartilhas em estaes Linux load printers=yes printing=lprng printcap name = /etc/printcap

[Software] path = /home/software guest ok = yes browseable = no public = yes writable = yes read only = no [programacao] path = /home/programacao

guest ok = no browseable = yes public = no writable = yes read only = no Neste caso estamos criando duas pastas compartilhadas:

Software - /home/software programacao - /home/programacao

A pasta software ser usada pela equipe de TI para fazer atualizaes em estaes de trabalho. A pasta programacao tambm ser usada pela equipe de TI, porm apenas o pessoal de programao ter acesso. Nesse ponto da configurao do sistema nosso servidor Samba permitir acesso s pastas sem requisio de senha. altamente recomendvel adicionarmos uma senha para esses diretrios.

Configurando acesso ao SambaPrimeiro criaremos os usurios e senhas para que o acesso fique mais seguro. No prompt de comando digite: # adduser --disabled-login --no-create-home teste Assim criamos uma espcie de usurio fantasma que existe e pode acessar arquivos do sistema (de acordo com as permisses de acesso), mas que, por outro lado, no pode fazer login (nem localmente, nem remotamente via SSH), nem possui diretrio home. Cadastrando o usurio criado no Samba: # smbpasswd -a teste Feito isso nosso sistema j est apto para receber conexes autenticadas. Para garantir que tudo as configuraes sejam aplicadas reiniciaremos o servio do Samba: # /etc/init.d.samba restart

Configurando permisso na pasta de acessoAgora que j adicionamos o usurio teste, setaremos as permisses necessrias para que este usurio possa incluir, excluir e modificar o contedo da pasta.

# chmod 777 /home/software Obs.: As permisses podem e devem variar de acordo com a necessidade especfica de cada caso. Para fins didticos e primeiro acesso pasta configurei permisso total para o usurio teste.

Configurando estaes de trabalho Windows para acessar servidor SambaAgora iremos configurar as estaes de trabalho para que acessem os recursos de rede compartilhados pelo servidor Samba. Obs.: existem diversas maneiras de se fazer tal configurao, estou optando pela mais prtica e funcional possvel para o administrador de redes. 1. Sistema cliente utilizado Windows XP com service pack 3. Vamos criar um script para automatizar a tarefa, permitindo que toda vez em que a estao de trabalho seja reiniciada o script seja executado. Clique no Menu Iniciar > Executar Dentro do executar digite notepad. Dentro do notepad (bloco de notas) cole o seguinte contedo. set net = createobject("wscript.network") Set FSODrive= CreateObject("Scripting.FileSystemObject") If not FSODrive.DriveExists("H:") Then Set NW = CreateObject("WScript.Network") NW.MapNetworkDrive "H:", "\\seu_servidor\sua_pasta", False End If wscript.quit Obs.: "\\seu_servidor\sua_pasta" deve ser substitudo pelo endereo ip e pasta definida por voc no seu servidor. No meu caso ficou assim: \\192.168.56.12\software. Aps inserir o contedo no notepad (bloco de notas), clique em Arquivo > Salvar como. Na guia "Salvar Como" salve o documento com o nome "mapdrive.vbs", na opo abaixo "Salvar tipo como", selecione "Todos os arquivos". Obs: Salve seu arquivo na raiz do sistema em c:\.

Editando o registro do Windows

Agora que quase tudo j est pronto, iremos para a etapa final que manipular o registro do Windows XP para executar o comando toda vez que o sistema operacional for inicializado. Mo na massa! Clique no menu iniciar > executar. Dentro de executar digite > regedit Logo aps digitar o comando aparecer a tela do editor de registros do Windows.

No editor de registros no menu ao lado esquerdo aparecer uma lista de pastas do sistema. Navegue pela seguinte sequncia. Meu computador\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVe rsion\Run Dentro da pasta Run, ao lado direito, clicaremos com o boto direito do mouse, aparecer a guia Novo, dentro de Novo teremos "Novo valor de sequncia", coloque o seguinte nome: "MAPEAR UNIDADE DE REDE". Feito isso clicamos com o boto direito do mouse em cima no novo item criado "MAPEAR UNIDADE DE REDE", aparecer a guia modificar, selecione esta guia. Na caixa "Editar Sequncia" que ser aberta, dentro da campo "Dados do Valor" digite dentro das aspas duplas "" a localizao do nosso arquivo "c:\mapdrive.vbs", assim como na imagem abaixo.

Agora toda vez que o PC for inicializado ser carregado junto com sua inicializao o nosso arquivo "mapdrive.vbs", que tem por finalidade mapear o compartilhamento do nosso servidor Samba Linux.

Criando shell script para deletar arquivos com extenses maliciosasComo nem tudo perfeito nessa vida, e para piorar estamos trabalhando em uma rede onde temos estaes Windows que so comumente atacadas por vrus, ns administradores temos que bolar uma sada eficaz para amenizar este problema. Como no mundo *IX Unix, Linux e suas variantes no costuma-se ter esse tipo de problemas, no teria a necessidade da criao desse script, mas no mundo Windows esse problema crnico e temos que agir, seno nosso Linux passa a agir como um hospedeiro de programas maliciosos. Criando o arquivo: # touch deleta_virus.sh Editando o arquivo: # vim deleta_virus.sh Coloque este contedo no arquivo: #!/bin/bash #Arquivo criado para deletar arquivos com a extenso .exe .cmd .bat .pif .aa .js .vbs .src .inf #Criado por Milton Caetano Filho deleta_software()

{ cd /home/software; rm -f [a-zA-Z0-9]*.exe *.cmd *.bat *.pif *.inf *.com *.src *.vbs *.js *.aa; } deleta_programacao() { cd /home/programacao; rm -f [a-zA-Z0-9]*.exe *.cmd *.bat *.pif *.inf *.com *.src *.vbs *.js *.aa; } deleta_software deleta_programacao Vamos utilizar o cron para que o arquivo seja executado de um em um minuto no sistema: 0-59/1 * * * * root /bin/deleta_virus.sh Feito isso nosso servidor Linux est apto a excluir todos os arquivos que contm as expresses acima. Os arquivos que contm tais expresses normalmente acarretam algum tipo de problema no sistema Windows. Utilizando esse shell script estaremos impedindo a propagao desses contedos em nossa rede.

ConclusoProcurei fazer da maneira mais simples e objetiva possvel esse artigo! Com certeza existem vrias outras maneiras de se configurar um servidor Samba em estaes Windows. Optei por uma configurao que utilizo a mais de dois anos com total sucesso. Inicialmente utilizava um servidor Windows 2003 por motivos de fora maior. Mas devido a constantes quedas e instabilidade no aguentei mais e migrei de plataforma. Desde de que foi implantando esse servidor com o Linux assumindo a tarefa no tive mais problemas, com a adio do shell script que monitora e deleta a existncia dos arquivos com a extenses pr-definidas o servidor se tornou um excelente, seno a melhor soluo para tal necessidade. Obs.: Se voc utiliza estaes Windows em sua rede, tenha um bom antivrus de preferncia pago, pois seu servidor Linux estar sempre 100%, j no posso garantir o mesmo da suas estaes de trabalho, pois o Windows esta presente. Espero ter ajudado. Fontes externas :

http://www.samba.org/ http://www.infowester.com/tutregistrowin.php

e-mail: [email protected] site: http://www.scriptsadmin.com Milton Caetano Filho