Está en la página 1de 21

Samba - Compartilhando Arquivos (Parte 1)

http://www.mktecnologia.net.br/index.php?view=article&catid=3:servidores&id=46:samba-co...

Samba - Compartilhando Arquivos (Parte 1)


Sex, 04 de Setembro de 2009 16:28 Administrador

Fonte: www.guiadohardware.net/tutoriais/samba-swat/ Autor: Carlos E. Morimoto

Instalao e configurao usando o Swat


A necessidade de compartilhar arquivos e impressoras motivou o aparecimento das primeiras redes de computadores (ainda na dcada de 70) e continua sendo uma necessidade comum. Mesmo para fazer um simples backup armazenado remotamente, necessrio configurar algum tipo de compartilhamento de arquivos. Existem diversas formas de disponibilizar arquivos atravs da rede, incluindo o NFS, o FTP, o SFTP e at mesmo um servidor web, que pode ser usado para compartilhar a pasta contendo os arquivos e aceitar uploads atravs de um script em PHP, por exemplo. Entretanto, quando falamos em redes locais, o protocolo mais usado o CIFS (Common Internet File System), que o protocolo usado para compartilhar arquivos e impressoras em redes Microsoft. O nome "CIFS" pode soar estranho primeira vista, mas ele nada mais do que a mais nova verso do protocolo SMB, usada a partir do Windows 2000. A histria do SMB e do CIFS comea em 1984, quando a IBM criou o protocolo NetBIOS (Network Basic Input Output), um protocolo para troca de mensagens entre micros PC ligados em rede, originalmente desenvolvido para servir como uma extenso do BIOS da placa-me, oferecendo recursos de rede. Em 1985, o protocolo foi expandido, dando origem ao protocolo NetBEUI, que foi durante muito tempo o principal protocolo usado em redes locais, antes da popularizao do TCP/IP. O SMB (Server Message Block) veio mais tarde, junto com o Windows 3.11. O protocolo SMB governa o compartilhamento de arquivos e impressoras em redes Microsoft, incluindo a navegao na rede, o estabelecimento de conexes e a transferncia de dados. Ele utiliza o NetBIOS para a troca de mensagens entre os hosts e inclui uma verso atualizada do protocolo, que roda sobre o TCP/IP. Acessando as propriedades do protocolo TCP/IP dentro das configuraes de rede de uma mquina com o Windows XP, voc pode ver que ele (NetBIOS) continua presente, com o objetivo de manter compatibilidade com as verses anteriores do Windows:

1 de 21

09/12/2013 17:24

Samba - Compartilhando Arquivos (Parte 1)

http://www.mktecnologia.net.br/index.php?view=article&catid=3:servidores&id=46:samba-co...

O problema com o NetBIOS que ele depende do uso intensivo de pacotes de broadcast e de pacotes UDP. O CIFS a evoluo natural do SMB, que inclui diversos novos recursos, abandona o uso do NetBIOS e passa a utilizar uma nica porta TCP (445) no lugar das trs portas (137 UDP, 138 UDP e 139 TCP) utilizadas pelo SMB. O Samba justamente uma implementao das mesmas funes para sistemas Unix, incluindo no apenas o Linux, mas tambm o BSD, Solaris, OS X e outros primos. Ele comeou como uma implementao do protocolo SMB e foi ento sucessivamente expandido e atualizado, de forma a incorporar suporte ao CIFS e a se manter atualizado em relao aos recursos oferecidos pelas verses mais recentes do Windows.

Um Pouco de Histria
O projeto nasceu no final de 1991, de forma acidental. Andrew Tridgell, um australiano que na poca era estudante do curso de PhD em cincias da computao da Universidade Nacional da Austrlia. Ele precisava rodar um software da DEC (que na poca era uma das gigantes no ramo de tecnologia) chamado "eXcursion", que trabalhava em conjunto com o Patchworks, um software de compartilhamento de arquivos. O Patchworks era um software proprietrio, que utilizava um protocolo obscuro, sobre o qual no existiam muitas informaes disponveis. Como todo bom hacker, ele decidiu estudar o protocolo e assim desenvolver um servidor que pudesse rodar em seu PC. Ele desenvolveu ento um pequeno programa, chamado clockspy, que era capaz de examinar o trfego da rede, capturando as mensagens enviadas pelo cliente e as respostas do servidor. Com isso, ele foi

2 de 21

09/12/2013 17:24

Samba - Compartilhando Arquivos (Parte 1)

http://www.mktecnologia.net.br/index.php?view=article&catid=3:servidores&id=46:samba-co...

rapidamente capaz de implementar o suporte s principais chamadas e a desenvolver um programa servidor, que era capaz de conversar com os clientes rodando o Patchworks. O objetivo desta primeira verso era apenas resolver um problema domstico: interligar um micro PC rodando o MS-DOS ao servidor rodando o Solaris. Depois de algum tempo, Andrew recebeu um e-mail contando que o programa tambm funcionava em conjunto com o LanManager da Microsoft, permitindo compartilhar arquivos de um servidor Unix com mquinas rodando o MS-DOS. O protocolo obscuro usado pelo Patchworks se revelou uma implementao do protocolo SMB, que havia sido desenvolvida internamente pela DEC. Nasceu assim, acidentalmente, o um dos aplicativos open-source mais importantes da atualidade. Pouco depois, em janeiro de 1992, ele disponibilizou o "Server 0.1" no servidor da Universidade, que foi rapidamente seguido por uma verso aprimorada, o "Server 0.5". Este arquivo ainda pode ser encontrado em alguns dos FTPs do http://samba.org, com o nome "server-0.5". Esta verso inicial rodava sobre o MS-DOS. Depois de um longo perodo de hibernao, o software foi portado para o Linux, dando origem verso seguinte (1.5), que foi lanada apenas em dezembro de 1993 e passou a se chamar "smbserver". O nome continuou sendo usado at abril de 1994, quando foi finalmente adotado o nome definitivo. O nome "Samba" surgiu a partir de uma simples busca dentro do dicionrio Ispell por palavras que possussem as letras S, M e B, de "Server Message Blocks", posicionadas nessa ordem. A busca retornou apenas as palavras "salmonberry", "samba", "sawtimber" e "scramble", de forma que a escolha do nome acabou sendo bvia. Uma curiosidade que no existiu um "Samba 1.0", pois a primeira verso a utilizar o nome "Samba" foi a 1.6.05, que foi a sucessora imediata do "smbserver 1.6.4". O projeto comeou a se tornar popular a partir da verso 1.6.09 (lanada pouco depois), que foi a primeira a trazer suporte ao controle de acesso com base nos logins de usurio (assim como o Windows NT), enquanto as verses anteriores suportavam apenas o controle de acesso com base no compartilhamento (assim como no Windows 3.11 e 95), onde a nica opo de segurana era usar uma senha de acesso para os compartilhamentos. A partir da, o projeto no parou de crescer, atraindo um nmero crescente de usurios e desenvolvedores, at se transformar no monstro sagrado que hoje. Estes dois links contam um pouco mais sobre a histria do Samba, desde as primeiras verses: http://www.samba.org/samba/docs/10years.html http://www.rxn.com/services/faq/smb/samba.history.txt Em 1994 a Microsoft liberou as especificaes do SMB e do NetBIOS, o que permitiu que o desenvolvimento do Samba desse um grande salto, tanto em recursos quanto em compatibilidade, passando a acompanhar os novos recursos adicionados ao protocolo da Microsoft, que mais tarde novamente deixou de ser aberto. Hoje, alm de ser quase 100% compatvel com os recursos de rede do Windows 98, NT, 2000 e XP, o Samba reconhecido por ser mais rpido que o prprio Windows na tarefa de servidor de arquivos. Um dos pontos fortes do Samba que o projeto foi todo desenvolvido sem precisar incorrer em qualquer violao de patentes. Todas as chamadas (com exceo das que a Microsoft tornou pblicas em 1994) foram implementadas monitorando as transmisses de dados atravs da rede, processo que os desenvolvedores chamam de "French Cafe technique". Dentro da analogia, seria como aprender francs sentando-se em um caf e passando a prestar ateno nas conversas, aprendendo a partir da novas palavras, expresses e situaes onde elas podem ou no serem usadas. um trabalho bastante detalhista e tedioso, que demanda um grande esforo e resulta em avanos graduais, mas, se executado por anos a fio, como no caso do Samba (que comeou a ser desenvolvido em 1991), resulta em conquistas surpreendentes. Isso torna o Samba virtualmente invulnervel a aes legais relacionadas a quebras de patentes ou problemas similares, j que o software inteiramente baseado em observao e no uso de especificaes pblicas. Uma curiosidade que a existncia do Samba permitiu que a Microsoft conseguisse colocar PCs rodando Windows em muitos nichos onde s entravam Workstations Unix, j que com o Samba os servidores Unix existentes passaram a ser compatveis com as mquinas Windows. Ou seja: at certo ponto, o desenvolvimento do Samba foi vantajoso at mesmo para a Microsoft. Quase tudo que voc pode fazer usando um servidor Windows, pode ser feito tambm atravs do Samba, com uma excelente segurana, confiabilidade e com um desempenho em muitas situaes bastante superior ao de um servidor Windows com a mesma configurao. O Samba uma soluo bastante completa e flexvel para uso em redes locais, pois oferece um grande volume de opes de configurao e compatvel com todas as verses do Windows; do 3.11 ao Vista. Alm de compartilhar arquivos, ele permite tambm compartilhar impressoras e centralizar a autenticao dos usurios, atendendo tanto a clientes Windows, quanto a clientes Linux. Para os clientes Windows, o servidor Samba aparece no ambiente de redes exibindo os compartilhamentos disponveis, exatamente da mesma forma que um servidor Windows:

3 de 21

09/12/2013 17:24

Samba - Compartilhando Arquivos (Parte 1)

http://www.mktecnologia.net.br/index.php?view=article&catid=3:servidores&id=46:samba-co...

Os compartilhamentos podem ser acessados da forma tradicional e inclusive mapeados. No caso dos compartilhamentos de impressoras, possvel inclusive utilizar o Pointand-Print, onde os clientes obtm os drivers de impresso diretamente a partir do servidor e a impressora fica disponvel com apenas dois cliques. Alm de compartilhar arquivos e impressoras, o servidor Samba pode atuar como um PDC, autenticando os usurios da rede. Existem tambm diversas opes de segurana, que permitem restringir o acesso aos compartilhamentos. Naturalmente, o servidor pode ser acessado de forma simples tambm nos clientes Linux da rede. As verses recentes do Konqueror e do Nautilus incorporam plugins que permitem acessar os compartilhamentos de forma bastante prtica (experimente digitar smb://endereo_do_servidor na barra de endereos do Konqueror) e existem tambm clientes especializados, como o Smb4k:

O Samba dividido em dois mdulos, o servidor Samba propriamente dito e o "smbclient", o cliente que permite acessar compartilhamentos em outras mquinas. Os dois so independentes, de forma que voc pode instalar apenas o servidor, apenas o cliente ou ambos, de acordo com a funo da mquina.

4 de 21

09/12/2013 17:24

Samba - Compartilhando Arquivos (Parte 1)

http://www.mktecnologia.net.br/index.php?view=article&catid=3:servidores&id=46:samba-co...

Instalando o Samba
Como comentei a pouco, o Samba dividido em dois mdulos. O servidor propriamente dito e o cliente, que permite acessar compartilhamentos em outras mquinas (tanto Linux quanto Windows). Os dois so independentes, permitindo que voc mantenha apenas o cliente instalado num desktop e instale o servidor apenas nas mquinas que realmente forem compartilhar arquivos. Isso permite melhorar a segurana da rede de uma forma geral. Os pacotes do Samba recebem nomes um pouco diferentes nas distribuies derivadas do Debian (incluindo o Ubuntu, Kubuntu e outras) e no Fedora (e outras distribuies derivadas do Red Hat, como o CentOS). Veja:

Pacote

Debian

Fedora

Servidor

samba

samba

Cliente

smbclient

samba-client

Documentao

samba-doc

samba-doc

Swat

swat

samba-swat

Para instal-lo no Debian ou Ubuntu, por exemplo, voc usaria: # apt-get install samba smbclient swat samba-doc O script de instalao faz duas perguntas. A primeira se o servidor deve rodar em modo daemon ou sob o inetd. Responda "daemons" para que o servidor rode diretamente. Isso garante um melhor desempenho, melhor segurana e evita problemas diversos de configurao relacionados ao uso do inetd, servio que est entrando em desuso. Em seguida ele pergunta: "Gerar a base de dados para senhas /var/lib/samba/passdb.tdb?". importante responder que "Sim ", para que ele crie o arquivo onde sero armazenadas as senhas de acesso. Como explica o script, "Caso voc no o crie, voc ter que reconfigurar o samba (e provavelmente suas mquinas clientes) para utilizao de senhas em texto puro", o que um procedimento trabalhoso, que consiste em modificar chaves de registro em todas as mquinas Windows da rede e modificar a configurao de outros servidores Linux. Muito mais fcil responder "Sim" e deixar que ele utilize senhas encriptadas, que o padro. :) Lembre-se de que voc deve instalar todos os pacotes apenas no servidor e em outras mquinas que forem compartilhar arquivos. O Swat pode ajudar bastante na etapa de configurao, mas ele opcional, pois voc pode tanto editar manualmente o arquivo smb.conf, quanto usar um arquivo pronto, gerado em outra instalao. Nos clientes que forem apenas acessar compartilhamentos de outras mquinas, instale apenas o cliente. No Fedora e no CentOS a instalao feita usando o yum: # yum install samba samba-client samba-doc samba-swat

5 de 21

09/12/2013 17:24

Samba - Compartilhando Arquivos (Parte 1)

http://www.mktecnologia.net.br/index.php?view=article&catid=3:servidores&id=46:samba-co...

O Fedora inclui mais um pacote, o "system-config-samba", um utilitrio de configurao rpida, que permite criar e desativar compartilhamentos de forma bem prtica. Outro configurador rpido o mdulo "Internet & Rede > Samba", disponvel no Painel de Controle do KDE. Aqui abordo apenas a configurao manual e o uso do Swat, que o configurador mais completo, mas voc pode lanar mo destes dois utilitrios para realizar configuraes rpidas. Com os pacotes instalados, use os comandos: # /etc/init.d/samba start # /etc/init.d/samba stop ... para iniciar e parar o servio. Por padro, ao instalar o pacote criado um link na pasta "/etc/rc5.d", que ativa o servidor automaticamente durante o boot. Para desativar a inicializao automtica, use o comando: # update-rc.d -f samba remove Pata reativ-lo mais tarde, use: # update-rc.d -f samba defaults No Fedora, CentOS e no Mandriva, os comandos para iniciar e parar o servio so: # service smb start # service smb stop Para desabilitar o carregamento durante o boot, use o "chkconfig smb off" e, para reativar, use o "chkconfig smb on". Note que, em ambos, o pacote de instalao se chama "samba", mas o servio de sistema chama-se apenas "smb". sempre recomendvel utilizar os pacotes que fazem parte da distribuio, que so compilados e otimizados para o sistema e recebem atualizaes de segurana regularmente. De qualquer forma, voc pode encontrar tambm alguns pacotes compilados por colaboradores no http://samba.org /samba/ftp/Binary_Packages/, alm do cdigo fonte, disponvel no http://samba.org/samba/ftp/stable/. Ao instalar a partir do cdigo fonte, o Samba instalado por default na pasta "/usr/local/samba", com os arquivos de configurao na pasta "/usr/local/samba/lib". Este texto baseado no Samba 3 que, enquanto escrevo, a verso estvel, recomendada para ambientes de produo. O Samba 3 trouxe suporte ao Active Directory, passou a ser capaz de atuar como PDC, trouxe muitas melhorias no suporte a impresso e inmeras outras melhorias em relao srie 2.x. O Samba 3.0.0 foi lanado em setembro de 2003, ou seja, h mais de 4 anos. Comparado com os ciclos de desenvolvimento das distribuies Linux, que so em sua maioria atualizadas a cada 6 ou 12 meses, 4 anos podem parecer muita coisa, mas se compararmos com os ciclos de desenvolvimento de novas verses do Windows, por exemplo, os ciclos parecem at curtos :). Para efeito de comparao, o Samba 2 (o major release anterior) foi lanado em 1999 e o Samba 4 est (em junho de 2008) em estgio de desenvolvimento, ainda sem previso de concluso. Por ser um software utilizado em ambientes de produo, novas verses do Samba so exaustivamente testadas antes de serem consideradas estveis e serem oficialmente lanadas. Graas a isso, muito raro o aparecimento de bugs graves e, quando acontecem, eles costumam ser corrigidos muito rapidamente. Naturalmente, as verses de produo continuam sendo atualizadas e recebendo novos recursos. Entre o Samba 3.0.0 lanado em 2003 e o Samba 3.0.24 includo no Debian Etch, por exemplo, foram lanadas nada menos do que 28 minor releases intermedirios. Se tiver curiosidade em ler sobre as alteraes em cada verso, pode ler o change-log de cada verso no: http://samba.org/samba/history/. Voc pode verificar qual a verso do Samba instalada usando o comando: # "smbd -V" como em: # smbd -V Version 3.0.24 Ao usar qualquer distribuio atual, muito provavelmente voc encontrar o Samba 3.0.23 ou superior. Se por acaso voc estiver usando alguma distribuio muito antiga, que ainda utilize uma verso do Samba anterior 3.0.0, recomendo que atualize o sistema, j que muitos dos recursos que cito ao longo do texto, sobretudo o uso do Samba como PDC, no funcionam nas verses da srie 2.x. Para usar o Samba em conjunto com estaes rodando o Windows Vista, voc deve utilizar o Samba verso 3.0.22, ou superior, que oferece suporte ao protocolo NTLMv2, que o protocolo de autenticao utilizado por padro pelo Windows Vista. Se no for possvel atualizar o Samba, a segunda opo configurar as estaes com o Vista para permitirem o uso do sistema NTLM, o que feito atravs do utilitrio "secpol.msc" em "Diretivas locais > Opes de segurana > Segurana

6 de 21

09/12/2013 17:24

Samba - Compartilhando Arquivos (Parte 1)

http://www.mktecnologia.net.br/index.php?view=article&catid=3:servidores&id=46:samba-co...

de rede: nvel de autenticao Lan Manager", alterando o valor da opo de "Enviar somente resposta NTLMv2" para "Enviar LM e NTLM - use a segurana da sesso NTLMv2, se negociado".

Cadastrando Usurios
Depois de instalar o Samba, o prximo passo cadastrar os logins e senhas dos usurios que tero acesso ao servidor. Esta uma peculiaridade do Samba: ele roda como um programa sobre o sistema e est subordinado s permisses de acesso deste. Por isso, ele s pode dar acesso para usurios que, alm de estarem cadastrados no Samba, tambm esto cadastrados no sistema. Existem duas abordagens possveis. A primeira criar usurios "reais", usando o comando adduser ou um utilitrio como o "user-admin" (disponvel no Fedora e no Debian, atravs do pacote gnome-system-tools). Ao usar o adduser, o comando fica: # adduser maria Uma segunda opo criar usurios "castrados", que tero acesso apenas ao Samba. Essa abordagem mais segura, pois os usurios no podero acessar o servidor via SSH ou Telnet, por exemplo, o que abriria brecha para vrios tipos de ataques. Nesse caso, voc cria os usurios adicionando os parmetros que orientam o adduser a no criar o diretrio home e a manter a conta desativada at segunda ordem: # adduser --disabled-login --no-create-home maria Isso cria uma espcie de usurio fantasma que, para todos os fins, 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. Uma dica que no Fedora e no CentOS (e outras distribuies derivadas do Red Hat), voc s consegue usar o comando caso logue-se como root usando o comando "su -" ao invs de simplesmente "su". A diferena entre os dois que o "su -" ajusta as variveis de ambiente, incluindo o PATH, ou seja, as pastas onde o sistema procura pelos executveis usados nos comandos. Sem isso, o sistema no encontra o executvel do adduser, que vai na pasta "/usr/sbin". Os parmetros suportados pelo adduser tambm so um pouco diferentes. O padro j criar um login desabilitado (voc usa o comando "passwd usurio" para ativar) e, ao invs do "--no-create-home", usa a opo "-M". O comando (no Fedora) fica, ento: # adduser -M maria De qualquer uma das duas formas, depois de criar os usurios no sistema voc deve cadastr-los no Samba, usando o comando: "smbpasswd -a", como em: # smbpasswd -a maria Se voc mantiver os logins e senhas sincronizados com os usados pelos usurios nos clientes Windows, o acesso aos compartilhamentos automtico. Caso os logins ou senhas no servidor sejam diferentes, o usurio precisar fazer login ao acessar:

7 de 21

09/12/2013 17:24

Samba - Compartilhando Arquivos (Parte 1)

http://www.mktecnologia.net.br/index.php?view=article&catid=3:servidores&id=46:samba-co...

Um detalhe importante que, ao usar clientes Windows 95/98/ME, voc deve marcar a opo de login como "Login do Windows" e no como "Cliente para redes Microsoft" (que o default) na configurao de rede (Painel de controle > Redes). Para desativar temporariamente um usurio, sem remov-lo do sistema (como em situaes onde um funcionrio sai de frias, ou um aluno suspenso), voc pode usar o parmetro "-d" (disable) do smbpasswd, como em: # smbpasswd -d maria Se o servidor Samba for configurado como PDC da rede, autenticando os clientes Windows (como veremos em detalhes a seguir), os usurios com contas desativadas sequer conseguem fazer logon no sistema:

Para reativar a conta posteriormente, use o parmetro "-e" (enable), como em: # smbpasswd -e maria Se, por outro lado, voc precisar remover o usurio definitivamente, use o parmetro "-x" (exclude), seguido pelo comando "deluser", que remove o usurio do sistema, como em: # smbpasswd -x maria # deluser maria

8 de 21

09/12/2013 17:24

Samba - Compartilhando Arquivos (Parte 1)

http://www.mktecnologia.net.br/index.php?view=article&catid=3:servidores&id=46:samba-co...

Depois de criados os logins de acesso, falta agora apenas configurar o Samba para se integrar rede e compartilhar as pastas desejadas, trabalho facilitado pelo Swat. A segunda opo editar manualmente o arquivo de configurao do Samba, o "/etc/samba/smb.conf", como veremos mais adiante. As opes que podem ser usadas no arquivo so as mesmas que aparecem nas pginas do Swat, de forma que voc pode at mesmo combinar as duas coisas, configurando atravs do Swat e fazendo pequenos ajustes manualmente, ou vice-versa.

Usando o Swat
O Swat um utilitrio de configurao via web, similar ao encontrado nos modems ADSL. Isso permite que ele seja acessado remotamente e facilita a instalao em servidores sem o ambiente grfico instalado. Esta mesma abordagem utilizada por muitos outros utilitrios, como o Webmin. Manter o ambiente grfico instalado e ativo em um servidor dedicado considerado um desperdcio de recursos, por isso os desenvolvedores de utilitrios de configurao evitam depender de bibliotecas grficas. Desse modo, mesmo distribuies minimalistas podem inclu-los. No caso de redes de pequeno ou mdio porte, voc pode at mesmo usar uma mquina antiga como servidor de arquivos, fazendo uma instalao minimalista do Debian, Ubuntu ou outra distribuio e instalando o Samba e o Swat em modo texto. Como facilitador, o Swat acaba sendo uma faca de dois gumes, pois ao mesmo tempo em que facilita a configurao, por ser uma ferramenta visual e dispensar a edio manual do arquivo, ele complica, por oferecer um grande nmero de opes especficas ou obsoletas. Vamos ento aprender como fazer uma configurao bsica usando o Swat e depois nos aprofundar na configurao do Samba editando o smb.conf manualmente. Se preferir, voc pode ir diretamente para o tpico seguinte.

Ativando o Swat
No Debian, Slackware e tambm no Gentoo, o Swat inicializado atravs do inetd. O inetd tem a funo de monitorar determinadas portas TCP e carregam servios sob demanda. Isto evita que servios e utilitrios que so acessados esporadicamente (como o Swat) precisem ficar ativos o tempo todo, consumindo recursos do sistema. No caso do Ubuntu, o inetd no vem instalado por padro. A documentao recomenda usar o xinetd no lugar dele, o que uma boa deixa para falar um pouco sobre as diferenas de configurao entre os dois servios. O xinetd tem a mesma funo do inetd ou seja, carregar servios sob demanda, mas ele mais recente e um pouco mais seguro, de forma que acabou se tornando o mais usado. Apesar disso, a configurao dos dois diferente: no caso das distribuies que usam o inetd, voc precisa adicionar (ou descomentar) a linha abaixo no arquivo de configurao do inetd, o "/etc/inetd.conf": swat stream tcp nowait.400 root /usr/sbin/tcpd /usr/sbin/swat O arquivo "/etc/inetd.conf" composto por um grande nmero de linhas similares a essa, cada uma referente a um dos servios suportados por ele (incluindo os servios que no esto instalados). Ao descomentar a linha, voc ativa o servio. Para que a alterao entre em vigor, reinicie o inetd com o comando: # /etc/init.d/inetd restart Para o xinetd, a configurao um pouco diferente. Em vez em um nico arquivo de configurao, com uma linha para cada servio, utilizado um conjunto de arquivos de configurao (um para cada servio) que so armazenados na pasta "/etc/xinetd.d". O primeiro passo para instalar o Swat no Ubuntu seria instalar os pacotes "swat" e "xinetd" usando o apt-get: # apt-get install swat xinetd Para ativar o Swat, necessrio criar o arquivo "/etc/xinetd.d/swat", com o seguinte contedo: service swat { port = 901 socket_type = stream wait = no user = root

9 de 21

09/12/2013 17:24

Samba - Compartilhando Arquivos (Parte 1)

http://www.mktecnologia.net.br/index.php?view=article&catid=3:servidores&id=46:samba-co...

server = /usr/sbin/swat log_on_failure += USERID disable = no } Depois de criado o arquivo, reinicie o servio e o Swat ficar disponvel. # /etc/init.d/xinetd restart Nas distribuies derivadas do Red Hat, o Swat tambm inicializado atravs do xinetd, mas nelas a configurao pode ser feita de forma automtica utilizando o chkconfig. Para ativ-lo, use os comandos: # chkconfig swat on # service xinetd restart Em caso de problemas, abra o arquivo "/etc/xinetd.d/swat" e substitua a linha "disable = yes" (caso presente) por "disable = no" e reinicie novamente o servio xinetd. No Fedora, voc pode tambm reiniciar os servios usando o utilitrio "systemconfig-services", que funciona como uma interface grfica para o comando "service". Como pode ver, devido s diferenas de configurao entre as distribuies e o uso do xinetd/inetd, ativar o Swat pode ser um pouco mais complicado do que ativar outros servios, embora o Samba propriamente dito no dependa dele para fazer seu trabalho. Para acessar o Swat localmente, basta abrir o Firefox ou outro Browser disponvel e acessar o endereo http://localhost:901. No prompt de login, fornea a senha de root (do sistema) para acessar. As credenciais do root so necessrias para que o Swat possa alterar os arquivos de configurao, reiniciar os servios e outras operaes que ficam disponveis apenas para o root. No caso do Ubuntu, voc pode definir a senha de root usando o comando "sudo passwd". Ao configurar um servidor remotamente, ou ao instalar o Samba/Swat em um servidor sem o ambiente grfico instalado, voc pode acessar o Swat remotamente, a partir de qualquer mquina da rede. Abra o navegador e acesse o endereo "http://ip-do-servidor:901", como em: http://192.168.1.1:901. Uma observao que o Swat no utiliza encriptao, o que uma temeridade do ponto de vista da segurana, j que algum poderia capturar a senha sniffando a rede. Voc pode evitar isso criando um tnel seguro usando o SSH e acessando o Swat atravs dele. Para isso, preciso apenas que o SSH esteja ativo no servidor. Para criar o tnel, use o comando: # ssh -f -N -L901:192.168.1.1:901 -l login 192.168.1.1 Onde o "192.168.1.1" o endereo IP do servidor, o "901" a porta do Swat e o "login" a sua conta de usurio no servidor. Este comando cria um tnel encriptado entre a porta 901 do seu micro e a porta 901 do servidor, que permite acessar o Swat de forma segura. Com o tnel ativo, voc acessa o Swat usando o endereo http://localhost:901, como se estivesse sentado na frente do servidor. O SSH se encarrega de transportar as informaes de forma transparente entre os dois pontos, encriptando os dados e garantindo a segurana.

Opes Gerais do Swat


Ao abrir o Swat, voc ver um menu como o do screenshot abaixo, com vrios links para a documentao disponvel sobre o Samba, que voc pode consultar para se aprofundar no sistema. Na parte de cima, esto os links para as sees da configurao, que o que nos interessa:

10 de 21

09/12/2013 17:24

Samba - Compartilhando Arquivos (Parte 1)

http://www.mktecnologia.net.br/index.php?view=article&catid=3:servidores&id=46:samba-co...

Na seo Password, voc pode cadastrar usurios, substituindo o uso manual do comando "smbpasswd -a". Neste caso, voc precisar primeiro cadastrar os usurios no sistema, utilizando o comando adduser. O Swat apenas cadastra os usurios no Samba:

Em seguida, acesse a seo "Globals", que engloba todas as configuraes de rede e de acesso. A opo "netbios name " indica o nome do servidor, atravs do qual ele ser identificado na rede Windows. Normalmente se utiliza o nome da mquina, mas isso no obrigatrio, j que o nome de mquina utilizado pelo Samba no est relacionado ao nome definido no arquivo "/etc/hosts" ou configurao do DNS. O nome pode ter at 15 caracteres e ser composto por letras e nmeros, alm de espaos e dos caracteres a seguir: ! @ # $ % ^ & ( ) - ' { } ~. Ao usar mais do que 15 caracteres, os caracteres excedentes sero ignorados. tambm permitido o uso de pontos, mas us-los no uma boa idia, pois torna os nomes NetBIOS difceis de diferenciar de nomes de domnio, o que pode confundir os usurios. A opo "workgroup" indica o grupo de trabalho ao qual o

11 de 21

09/12/2013 17:24

Samba - Compartilhando Arquivos (Parte 1)

http://www.mktecnologia.net.br/index.php?view=article&catid=3:servidores&id=46:samba-co...

servidor pertence. Voc pode tanto utilizar o mesmo grupo de trabalho em todas as mquinas da rede quanto agrupar suas mquinas em grupos distintos como "diretoria", "vendas", etc.

A seguir, temos a opo "interfaces", que permite limitar os acessos ao servidor caso ele possua mais de uma placa de rede. o caso, por exemplo, de quem acessa via ADSL ou cabo e possui uma segunda placa de rede para compartilhar a conexo com os micros da rede local. Nesses casos, a placa da web ser reconhecida como eth0, enquanto a placa da rede local ser reconhecida como eth1, por exemplo. Voc pode, ento, preencher o campo com o endereo da placa de rede local (eth1). Assim, o Samba s aceitar conexes vindas dos micros da rede local, descartando automaticamente todas as tentativas de acesso vindas da Internet. Caso o campo permanea vazio, o Samba permite acessos vindos de todas as placas de rede e passa a ser necessrio bloquear os acessos provenientes da internet usando o firewall. Na seo Security Options temos a opo "security", uma opo capciosa que aceita os valores "user", "share", "server" e "domain". Com nomes to descritivos a configurao fica fcil, j que "server" para quando estamos configurando o Samba como servidor e "domain" para quando ele est sendo configurado como controlador de domnio, certo? Errado! :) As opes share e server so opes obsoletas (como veremos em detalhes mais a seguir) e a opo "domain" usada quando voc deseja que o servidor Samba seja configurado como membro (cliente) de um domnio sob responsabilidade de outro servidor. Se voc est configurando um servidor Samba, seja como um servidor de grupo de trabalho, seja como controlador de domnio, a opo correta para a opo security a "user". Utilizando o modo user, as permisses de acesso aos compartilhamentos do samba ficam condicionadas s permisses de acesso de cada usurio. Por exemplo, se voc compartilhar a pasta "/home/maria/arquivos", por default apenas a usuria "maria" ter permisso para gravar novos arquivos e alterar o contedo da pasta. Para que outros usurios tenham acesso pasta, voc deve dar permisso a eles, criando um novo grupo e dando permisso de escrita para os integrantes do mesmo. Outra opo adicionar os demais usurios no grupo "maria" (cada usurio possui um grupo com o mesmo nome do login, criado no momento em que cadastrado) e configurar as permisses de acesso de forma que o grupo possa escrever na pasta. Voc pode fazer a administrao de grupos usando o "users-admin", que facilita bastante as coisas ao trabalhar com um grande nmero de usurios. Lembre-se de que no Debian ele instalado atravs do pacote "gnome-system-tools". No Fedora e no CentOS ele se chama "system-config-users":

12 de 21

09/12/2013 17:24

Samba - Compartilhando Arquivos (Parte 1)

http://www.mktecnologia.net.br/index.php?view=article&catid=3:servidores&id=46:samba-co...

Para criar um novo grupo, mude para a aba "Grupos" e use a opo "Adicionar Grupo", especificando o nome do novo grupo e os usurios que faro parte dele na janela seguinte:

13 de 21

09/12/2013 17:24

Samba - Compartilhando Arquivos (Parte 1)

http://www.mktecnologia.net.br/index.php?view=article&catid=3:servidores&id=46:samba-co...

O prximo passo alterar as permisses de acesso da pasta, colocando o grupo cadastrado como dono da pasta e fazendo com que o grupo tenha permisso para ler e alterar os arquivos. A alterao d poderes sobre a pasta a todos os usurios que foram cadastrados no grupo:

14 de 21

09/12/2013 17:24

Samba - Compartilhando Arquivos (Parte 1)

http://www.mktecnologia.net.br/index.php?view=article&catid=3:servidores&id=46:samba-co...

Se voc no est to preocupado com a segurana, pode fazer do jeito "fcil", alterando a opo "outros" nas permisses de acesso da pasta, que d acesso a todo mundo. Isso faz com que qualquer usurio local do sistema (ou logado via SSH) tenha acesso aos arquivos da pasta, mas no permite necessariamente que outros usurios do Samba possam acessar, pois neste caso ainda so usadas as permisses de acesso no Samba. A alterao das permisses da pasta feita usando o Konqueror ou outro gerenciador de arquivos e no atravs do Samba:

15 de 21

09/12/2013 17:24

Samba - Compartilhando Arquivos (Parte 1)

http://www.mktecnologia.net.br/index.php?view=article&catid=3:servidores&id=46:samba-co...

Ou seja, necessrio fazer com que os usurios do grupo, ou todos os usurios do sistema, possam escrever na pasta, evitando que as permisses do sistema conflitem com as permisses configuradas no Samba. Se configuro o Samba para permitir que o usurio "joao" possa escrever no compartilhamento, mas a configurao das permisses da pasta compartilhada no permitem isso, o joao vai continuar sem conseguir escrever. Ao criar compartilhamentos no Samba, preciso se preocupar com as duas coisas. Mais abaixo, temos a opo Encrypt Password. Ela tambm importe, e deve ficar sempre ativa (Encrypt Password = yes). Todas as verses do Windows, incluindo o 3.11 suportam o uso de senhas encriptadas, mas at o Windows 95 original os clientes deixavam de usar a encriptao e passavam a enviar as senhas em texto puro quando percebiam que o interlocutor no suportava encriptao. Entretanto, isso abria margem para todo tipo de ataques, de forma que a partir do Windows 95 OSR/2 e do Windows NT 4 SP3, senhas em texto puro deixaram de ser suportadas, de forma que ao desativar o uso de senhas encriptadas no Samba, o servidor simplesmente no conseguir conversar com as mquinas Windows e voc vai ficar quebrando a cabea at se lembrar deste pargrafo. :) A partir do Samba 3, existe a opo de fazer com que o prprio Samba mantenha as senhas dos usurios sincronizadas em relao s senhas dos mesmos no sistema. Antigamente, sempre que voc alterava a senha de um usurio no Samba, usando o "smbpasswd", precisava alterar tambm a senha do sistema, usando o comando "passwd". As duas senhas precisam ficar em sincronismo, do contrrio camos no problema das permisses, onde o Samba permite que o usurio acesse o compartilhamento, mas o sistema no permite que o Samba acesse os arquivos no disco. Para ativar este recurso, ative a opo "unix password sync" no Swat. Originalmente, esta opo fica desativada e aparece apenas dentro das opes avanadas. Para chegar at ela voc deve clicar no boto "Change View To: Advanced" no topo da tela. Depois de alterar, clique no Commit Changes". Para que tudo funcione, necessrio que as opes "passwd program" e "passwd chat" estejam configuradas com (respectivamente) os valores: "/usr/bin/passwd %u" e "*EntersnewsUNIXspassword:* %nn *RetypesnewsUNIXspassword:* %nn .". Estes j so os valores padro no Swat, mas no custa verificar:

16 de 21

09/12/2013 17:24

Samba - Compartilhando Arquivos (Parte 1)

http://www.mktecnologia.net.br/index.php?view=article&catid=3:servidores&id=46:samba-co...

A opo "Hosts Allow " deve incluir os endereos IP de todos os computadores que tero permisso para acessar o servidor. Se quiser que todos os micros da rede tenham acesso, basta escrever apenas a primeira parte do endereo IP, como em "192.168.0.", o que faz com que todos os endereos dentro do escopo sejam permitidos. Se for incluir mais de um endereo ou mais de um escopo de endereos, separe-os usando vrgula e espao, como em: "192.168.0., 10.0.0., 123.73.45.167". Caso o campo permanea vazio, a opo fica desativada e todos os micros que estiverem ligados em rede com servidor Samba podero acess-lo. A opo "Hosts Deny ", por sua vez, permite especificar mquinas que no tero permisso para acessar o servidor. importante notar que as opes "Hosts Allow" e "Hosts Deny" possuem algumas peculiaridades, sobretudo quando usadas em conjunto. Veremos mais detalhes sobre o uso das duas mais adiante. Continuando, em uma rede Windows, uma das mquinas fica sempre responsvel por montar e atualizar uma lista dos compartilhamentos disponveis e envi-la aos demais, conforme solicitado. O host que executa esta funo chamado de "Master Browser". De uma forma geral, todas as verses do Windows so capazes de atuar como Master Browser da rede e o cargo pode mudar de dono conforme as mquinas vo sendo ligadas e desligadas, mas o Samba executa o trabalho de forma muito eficiente, de forma que, a menos que voc tenha outro servidor em posio hierarquicamente superior, sempre interessante delegar esta tarefa ao servidor Samba. O cargo de Master Browser disputado atravs de uma eleio, onde os micros da rede enviam pacotes de broadcast contendo informaes sobre o sistema operacional usado, o tempo de uptime e outras informaes. Ao receber o pacote de broadcast de um "oponente", cada mquina compara suas credenciais com as do pacote recebido. Se suas credenciais forem inferiores, ela desiste da eleio, caso contrrio responde enviando o pacote com suas prprias credencias. Este processo de eliminao continua at que sobre apenas uma mquina, que passa ento a ser o Master Browser da rede (at que seja desconectada da rede, ou perca o cargo para outra mquina com credenciais superiores). A principal credencial o "OS Level", que nas mquinas Windows varia de acordo com a verso do sistema. As mquinas com o Windows NT Server, 2000 Server, 2003 Server ou 2008 Server possuem um Os Level de 32, as com o Windows NT Workstation, 2000 Professional ou qualquer verso domstica do XP ou Vista possuem OS Level de 16 e as verses antigas do Windows (3.11, 95, 98 e ME) possuem OS Level de apenas 1. Nos servidores Samba o valor ajustado atravs da opo "OS Level", na seo Browse Options. Isso permite que voc "trapaceie", fazendo com que o servidor Samba sempre ganhe as eleies. Para isso, configure esta opo com um valor alto, 100 por exemplo, para que ele sempre ganhe as eleies (voc pode usar qualquer valor entre 0 e 255). O default dessa opo 20, o que faz com que o servidor Samba ganhe de todas as mquinas Windows, com exceo das verses Server. Para completar, deixe a opo "Local Master" e "Preferred Master" como "Yes". A opo "Local Master" faz com que o servidor Samba convoque uma nova eleio sempre que necessrio (de forma a defender o cargo caso outra mquina tente assumir a posio) e a "Preferred Master" d a ele uma leve vantagem quando confrontado com outra mquina com o mesmo OS Level:

17 de 21

09/12/2013 17:24

Samba - Compartilhando Arquivos (Parte 1)

http://www.mktecnologia.net.br/index.php?view=article&catid=3:servidores&id=46:samba-co...

importante enfatizar que voc nunca deve colocar dois servidores Samba na rede com o mesmo OS Level e com a opo "Preferred Master" ativada, caso contrrio eles iniciaro uma disputa interminvel pelo cargo, o que far com que a navegao na rede se torne intermitente. Ao usar vrios servidores Samba na rede, crie uma hierarquia, usando valores diferentes para a opo OS Level. Se, por outro lado, voc no desejar que o servidor Samba participe das eleies (caso j tenha outro servidor desempenhando este papel), basta definir a opo "Local Master" com o valor "no". Logo abaixo, deixe a opo WINS Support ativada (Yes) para que o servidor Samba atue como um servidor WINS para os demais micros da rede. A opo WINS Server deve ser deixada em branco, a menos que exista na rede algum servidor Wins (rodando uma das verses Server do Windows) ao qual o servidor Linux esteja subordinado. Caso o nico servidor seja a mquina Linux, voc pode configurar as mquinas Windows para utiliz-la como servidor Wins. Para isto basta colocar o seu endereo IP no campo "Servidor Wins" na configurao de rede das estaes (veja mais detalhes a seguir). Terminado, pressione o boto "Commit Changes" no topo da tela para que as alteraes sejam salvas no arquivo "/etc/samba/smb.conf". Uma observao importante que o Swat l o arquivo smb.conf ao ser aberto, lendo as opes configuradas e mostrando-as na interface, mas gera um novo arquivo sempre que voc clica no "Commit Changes". Ao ler o arquivo, ele procura por trechos especficos de texto, ignorando tudo que for diferente. Isso faz com que ele remova qualquer tipo de comentrio includo manualmente no arquivo. Em geral, quem tem o hbito de editar manualmente o smb.conf, acaba nunca usando o Swat e vive-versa.

Criando Compartilhamentos
Depois de cadastrar os usurios no sistema e no Samba e configurar a seo Globals, falta apenas configurar as pastas que sero compartilhadas com as estaes, atravs da seo "Shares". Cada usurio vlido (ou seja, os usurios "reais", que podem fazer login, e no os usurios limitados, criados usando o "adduser -M") cadastrado no sistema possui automaticamente um diretrio home. Estas pastas ficam dentro do diretrio /home e podem ser usadas para guardar arquivos pessoais, j que, a menos que seja estabelecido o contrrio, um usurio no ter acesso pasta pessoal do outro. Alm dos diretrios home, voc pode compartilhar mais pastas de uso geral. Para criar um compartilhamento, basta escrever seu nome no campo no topo da tela e clicar no boto "Create Share ".

18 de 21

09/12/2013 17:24

Samba - Compartilhando Arquivos (Parte 1)

http://www.mktecnologia.net.br/index.php?view=article&catid=3:servidores&id=46:samba-co...

Depois de criado um compartilhamento, escolha-o na lista e clique no boto "Choose Share " para configur-lo. Voc ver uma lista de opes, contendo campos para especificar usurios vlidos e invlidos, usurios que podem ou no escrever no compartilhamento, nomes ou endereos de mquinas, entre outras opes.

19 de 21

09/12/2013 17:24

Samba - Compartilhando Arquivos (Parte 1)

http://www.mktecnologia.net.br/index.php?view=article&catid=3:servidores&id=46:samba-co...

O campo "path" o mais importante, pois indica justamente qual pasta do sistema ser compartilhada. O nome do compartilhamento diz apenas com que nome ele aparecer no ambiente de rede, que no precisa necessariamente ser o mesmo nome da pasta. A opo "comment" permite que voc escreva um breve comentrio sobre a pasta que tambm poder ser visualizado pelos usurios no ambiente de rede. Este comentrio apenas para orientao, no tem efeito algum sobre o compartilhamento. A opo "read only " determina se a pasta ficar disponvel apenas para leitura (opo Yes) ou se os usurios podero tambm gravar arquivos (opo No). Voc pode tambm determinar quais mquinas tero acesso ao compartilhamento atravs das opes "Hosts Allow " e "Hosts Deny ". Note que as configuraes das opes "Hosts Allow" e "Hosts Deny" includas na seo global possuem precedncia sobre as colocadas dentro da configurao dos compartilhamentos, por isso (salvo poucas excees), elas no so usadas em conjunto. Ao bloquear um host atravs da seo Global, ele perde o acesso a todos os compartilhamentos do servidor, mesmo que a configurao de um compartilhamento especfico diga o contrrio. Continuando, a opo "browseable " permite configurar se o compartilhamento aparecer entre os outros compartilhamentos do servidor no ambiente de rede, ou se ser um compartilhamento oculto, que poder ser acessado apenas por quem souber que ele existe. Isso tem uma funo semelhante a colocar um "$" em uma pasta compartilhada no Windows. Ela fica compartilhada, mas no aparece no ambiente de rede. Apenas usurios que saibam que o compartilhamento existe conseguiro acess-lo. Esta opo tem efeito apenas sobre os clientes Windows, pois no Linux a maior parte dos programas clientes (como o Smb4k) mostram os compartilhamentos ocultos por padro. Finalmente, a opo "available " especifica se o compartilhamento est ativo ou no. Voc pode desativar temporariamente um compartilhamento configurando esta opo como "No". Fazendo isso, ele continuar no sistema e voc poder torn-lo disponvel quando quiser, alterando a opo para "Yes". Terminadas as configuraes, reinicie o servio do Samba e o servidor ir aparecer imediatamente no ambiente de rede, como se fosse um servidor Windows. Os compartilhamentos podem ser acessados de acordo com as permisses que tiverem sido configuradas, mapeados como unidades de rede, entre outros recursos. Para compartilhar uma impressora j instalada na mquina Linux, o procedimento o mesmo. Dentro do Swat, acesse a seo printers, escolha a impressora a ser compartilhada (a lista mostrar todas as instaladas no sistema), configure a opo available como "yes" e ajuste as permisses de acesso, como vimos anteriormente. No Mandriva, voc pode instalar impressoras atravs do Control Center. No Fedora est disponvel o "system-config-printer", que contm basicamente as mesmas funes. Em outras distribuies, voc pode usar o kaddprinterwizard ou a prpria interface de administrao do Cups, que voc acessa (via

20 de 21

09/12/2013 17:24

Samba - Compartilhando Arquivos (Parte 1)

http://www.mktecnologia.net.br/index.php?view=article&catid=3:servidores&id=46:samba-co...

navegador) atravs da URL: http://127.0.01:631 Veremos mais detalhes sobre o compartilhamento de impressoras a seguir. PARTE 2 - CONFIGURAO AVANADA DO SAMBA Abraos....
LAST_UPDATED2

Por favor registre-se ou faa login para adicionar comentrio para este artigo.

21 de 21

09/12/2013 17:24

También podría gustarte