Revista Do Linux
 
EDIÇÃO DO MÊS
 CD do Mês

 Capa
 Serviço Público
 Estudo de Caso
 Corporativo
 Negócios
 Software
 Tutorial
 Seguranca
 Comandos Avançados
 Internet
 Entrevista
 Hardware
 Portateis
 
 
 
<IMG> Capa
<IMG> Samba integração com o Windows
 
<IMG> Samba abre as portas para a entrada do Linux dentro das empresas que desejam a migração gradual de suas redes proprietárias para sistemas livres
 
<IMG> Existe um trio excepcional que garante o passaporte ao mundo Linux para os que migram suas redes: Apache, StarOffice e Samba. Sem eles dificilmente o Pingüim teria alcançado a escala mundial que desfruta hoje e muito provavelmente ainda estaria confinado em alguns nichos. Sabe-se que a imensa maioria de novos usuários de Linux vem da plataforma Windows e esse grupo de pessoas traz consigo um repertório muito diferente da filosofia Unix, alimentado em boa parte com um temor ao novo e uma certa impaciência. Por isso, elas preferem adotar uma postura cautelosa nessa migração. Claro que apenas estes três não poderiam sustentar toda a plataforma, mas são os responsáveis diretos pela imagem de excelência consolidada desde os primeiros contatos com o novo ambiente.
<IMG> Em geral, o Linux é testado co-mo um substituto de um servidor NT e as estações clientes continuarão rodando Windows por algum tempo, pelo menos até que sejam prospectadas todas as alternativas do novo ambiente e que possam garantir a substituição gradativa do sistema operacional em outras estações da rede. Nessa hora entra em cena o Samba, um ótimo exemplo de software livre bem sucedido, que permite que máquinas Unix/Linux e Windows convivam harmoniosamente em uma mesma rede, compartilhando arquivos, impressoras e outros recursos. Esse software veio ao encontro dos desejos e necessidades de grande parte dos administradores de redes do mundo, que sabem muito bem que nem sempre é possível manter uma rede completamente homogênea e que pode ser necessário integrar tecnologias diferentes. Em grandes redes, isto é quase sempre uma condição imperativa.
<IMG> Ao longo deste artigo, veremos como o Samba surgiu, do que ele é capaz e alguns exemplos práticos de utilização. Longe de esgotar o assunto, sugerimos atenção especial ao quadro “Para saber mais”, o qual indica muitas fontes adicionais de informação.
 
<IMG> Um pouco de história
<IMG> Os sistemas operacionais da série Windows seguem a tradição iniciada ainda nos tempos do DOS de compartilhar seus recursos, como arquivos, impressoras e outros, em rede através de um conjunto de protocolos atualmente conhecido pela sigla CIFS (Common Internet File System), mas que originalmente recebia o nome de Server Message Block (SMB) - de fato, o SMB continua vivo, incluído nas especificações do CIFS.
<IMG> O conjunto SMB/CIFS pode ter uma série de desvantagens técnicas, mas tem a seu favor uma circunstância especial: a quantidade de usuários, já que todos os computadores com Windows, desde a versão 3.11, podem ser facilmente convertidos em clientes ou servidores CIFS, e cujo número é imenso.
<IMG> Entretanto, o SMB não tinha suporte nativo no Unix, o que dava margem a todo tipo de problemas para os administradores de redes mistas, pois tinham que instalar clientes Unix de protocolos “tradicionais” como NFS, LPD, nas máquinas Windows ou moviam os serviços para os servidores NT, que, na época, ainda eram uma novidade, abrindo mão da robustez e das demais vantagens.
<IMG> É neste ponto que surge em nosso cenário o estudante australiano Andrew Tridgell, que na busca por razões para adiar o início de sua tese, resolveu entender como funcionava o Pathworks, um servidor de arquivos da Digital. A conseqüência direta foi o surgimento de um sistema capaz de exportar sistemas de arquivos de máquinas Unix, de forma que pudessem ser acessados a partir de máquinas DOS rodando o cliente do Pathworks. Embora Tridgell não soubesse, o Pathworks utilizava justamente o mesmo protocolo do Windows, o SMB, e logo outros usuários descobriram que podiam usar o mesmo software para se comunicarem com máquinas Windows de suas redes. Eles avisaram Tridgell, mas por estranho que pareça, ele não acreditou!
<IMG> Meses mais tarde, Tridgell instalou uma rede em sua própria casa, com computadores rodando Linux e Windows, e resolveu experimentar o que ele próprio julgava impossível. Como podemos imaginar, ele ficou bastante surpreso ao ver que estava errado. Aliás, a documentação do Samba diz que até hoje a esposa dele imprime documentos, a partir do Windows, na impressora conec-tada à máquina Linux de Andrew.
<IMG> A partir daí, o projeto se desenvolveu rapidamente. Surgiu o nome Samba, que inclui as 3 letras do protocolo SMB, e outros integrantes, com destaque para Jeremy Allison, se juntaram à equipe de desenvolvimento e novas funcionalidades foram adicionadas. O software se desenvolveu a ponto de realizar todas as tarefas que veremos a seguir, com qualidade e estabilidade superiores a algumas das alternativas. De fato, já em 1998 a SGI chegou a afirmar publicamente que seus servidores Origin rodando Samba apresentam performance superior à de um servidor Windows - o que equivale a dizer que o servidor de arquivos Windows mais rápido do mundo não rodava Windows...
<IMG> O Samba não é usado apenas nos servidores Linux. De fato, empresas como a SGI, Veritas, HP, Cobalt e Whistle comercializam produtos que incluem suporte a compartilha-mentos baseados no Samba. Mas ele sempre esteve intimamente ligado ao Linux, desde a rede doméstica do seu criador, passando pela escolha da licença GPL de sua distribuição e pela existência de suporte exclusivo para o Linux, e não para outros tipos de Unix, em alguns componentes do sistema, como o smbfs. O que poucos sabem é que Andrew Tridgell teve participação muito importante em um momento histórico do sistema: foi ele quem levou Linus Torvalds a um zoológico em Canberra, dando a ele a oportunidade de ser bicado por um pingüim - fato que teve papel vital, anos mais tarde, na escolha desta ave como símbolo do Linux.
 
<IMG> Conhecendo o Samba
<IMG> O Samba oferece a maior parte das funcionalidades dos servidores Windows, sem a necessidade de adquirir suas dispendiosas licenças e, melhor do que isso, sem expor sua rede às famosas telas azuis da morte, nem à necessidade de reiniciali-zações a cada mudança de configuração. O Samba é um produto maduro, flexível e muito bem documentado.
<IMG> Pode parecer difícil de acreditar a princípio, mas as máquinas Win-dows de sua rede irão “ver” o seu servidor Linux com Samba como se fosse outra máquina Windows - incluindo ícones na janela Ambiente de Rede, a possibilidade de mapear dri-ves remotos, imprimir nas impressoras do servidor, e muito mais.
<IMG> O seu servidor Linux com Samba pode até atuar como o con-trolador primário do domínio (PDC), tarefa normalmente exclusiva do Windows NT 4 Server. Encontramos na literatura relatos de domínios com PDCs baseados em Samba, nos quais conviviam simultânea e pacificamente máquinas rodando NT Workstation 4.0, com o service pack 6a; Windows 2000 Profes-sio-nal, com o service pack 1; Win-dows 2000 Server, com o service pack 1; e até o Windows 95. A inclusão de cada uma destas máquinas no domínio pode ser feita com as próprias ferramentas de rede do Win-dows, desde que o Samba esteja con-figurado para aceitar este recurso.
<IMG> O Samba também inclui ferramentas que permitem que o Linux atue como cliente em uma rede com servidores Windows. Assim, você pode imprimir a partir do Linux na-quela impressora a jato de tinta co-nectada a um micro rodando Win-dows 98, ou montar, “mapear”, um diretório disponibilizado pelas máquinas Windows. Técnicos experientes no projeto de redes com servidores Windows NT irão querer saber mais detalhes técnicos e a documentação é pródiga nisso. Alguns, porém, podem ser antecipados aqui:
<IMG> É importante notar que, ao menos até a versão 2.2, quando atua co-mo PDC, o Samba não suporta a presença de um BDC nem relações de confiança entre domínios (“trust re-lationships”), o que impede o recurso de Single Signon para usuários de múltiplos domínios.
<IMG> O Samba também inclui um servidor de nomes NetBIOS (WINS), que além de facilitar as conexões em redes roteadas, dá suporte ao recurso de “browsing” - a ação de localizar e exibir todos os computadores e recursos compartilhados de sua rede ou domínio. Você pode até mesmo configurar o Samba como o Master Browser de sua rede, se desejar.
 
<IMG> Configurando um servidor simples
<IMG> Como vimos, o Samba é capaz de realizar tarefas complexas, incluindo autenticação e controle de domínio. Entretanto, não seria didático neste artigo abordar estes assuntos.
<IMG> Ao invés disto, vamos ana-lisar a configuração de um servidor Samba simples, dis-ponibi-lizando arquivos e impressoras para clientes Win-dows 98, em uma rede sem PDC e sem necessidades especiais de roteamento. Preparamos um laboratório com dois micros Pentium III, um deles atuando como servidor com SuSE Linux 7.1 e Samba 2.0.7 (padrão da distribuição) e o outro, com o Windows 98 instalado especialmente para a ocasião. As duas máquinas são ligadas por um hub 3Com, e toda a configuração de rede foi adequada de forma que fosse possível a conectivi-da-de, testada através do comando ping, nos dois sentidos.
<IMG> O Samba dispõe de diversas ferramentas de configuração gráficas, como o SWAT, que é acessado via web, e módulos do Linu-xConf. Entretanto, para os efeitos deste artigo, editaremos diretamente o arquivo /etc/smb.conf, que contém todas as configurações necessárias. Nosso arquivo /etc/smb.conf está na “Listagem 1” - lembre-se de fazer uma cópia de segurança de algum arquivo com este nome que você já possua, antes de abri-lo com seu editor favorito.
<IMG> Caso você disponha de computadores para fazer um teste sem riscos de trazer o caos a uma eventual rede NT existente em sua organização (e o arquivo de configuração da “Listagem 1” certamente poderia trazer muitos problemas a ela, portanto certifique-se de isolar bem a sua rede de testes), você pode come-çar criando os seus usuários de teste. Estaremos utilizando senhas crip-tografadas, que são completamente independentes das senhas do Linux, ficando armazenadas no arquivo /etc/smbpasswd. É possível trabalhar com as próprias senhas do Linux, com senhas sincronizadas ou mes-mo com a autenticação externa, por exemplo, em um PDC Windows NT.
<IMG> Para criar o usuário “augus-to” no Samba, primeiro é necessário que ele exista no Linux. Crie-o da ma-neira normalmente utilizada em sua rede - o comando useradd augusto pode ser suficiente para um teste. Após a criação do usuário no Linux, podemos emitir o comando smb-passwd -a augusto para criá-lo no Samba. O sis-tema se encarregará de pedir a senha e atualizará o arquivo /etc/smbpasswd a contento. O comando smbpasswd possui muitas outras opções necessárias para a administração de usuários - veja o manual online digitando man smb-passwd para detalhes.
<IMG> Agora você já pode copiar o conteúdo da “Listagem 1” para o seu /etc/smb.conf - mas antes salve o conteúdo original (se houver) com outro nome, para não correr riscos. Lembre-se de trocar as linhas “net-bios name” e “work-group” pelo no-me da sua máquina e de seu grupo de trabalho, respectivamente. A configuração de impressoras do arquivo exemplo leva em consideração que você utiliza impressão estilo BSD (lpd). Esta situação é default em muitas distribuições de Linux, mas deverá ser modificada se você utilizar outro sistema de impressão.
<IMG> Após digitar o arquivo, use o comando “testparm”, pa-ra verificar se não há erros, e faça o Samba reler sua configuração (veja a “Nota 1”). Ago-ra vá ao seu micro Win-dows 98 e configure-o nas Propriedades do Ambiente de Rede para fazer lo-gon com o Cliente para Redes Micro-soft. Aproveite para configurar o servidor WINS, nas propriedades do TCP/IP de sua placa de rede, como sendo o endereço IP de seu servidor Linux. Em caso de dú-vida sobre estes passos, consulte a do-cumentação que acom-panha o Windows 98. Ao final, o Windows soli-citará que você dê um reboot.
<IMG> Após a inicialização, faça logon no Windows com o usuário “augus-to”, criado no Linux no passo anterior, e com a senha que você definiu. Agora, clique no ícone “Ambiente de Rede” do seu ambiente de trabalho Windows; você deverá ver um ícone representando seu servidor Samba recém-configurado. Clicando nele, você verá um ícone para o seu diretório home, outro para o seu compartilhamento “dados” e mais um para cada impressora definida no seu arquivo /etc/printcap. Você poderá utilizá-los como utiliza os compar-tilha-mentos de um servidor Windows: “mapear” os diretórios como se fossem unidades locais, imprimir via rede, manipular pastas e arquivos e outras operações similares - mas sempre respeitando as permissões de acesso, tanto as definidas no smb.conf, quanto as do próprio Linux.
 
<IMG> Linux como cliente de redes Windows
<IMG> Freqüentemente há necessidade de integrar uma estação Linux a uma rede onde os servidores são baseados em Windows. Você pode querer imprimir em impressoras conectadas na porta paralela de algum micro com Windows, ou acessar os arquivos de um servidor NT, ou mesmo de uma estação de trabalho com Windows 98.
<IMG> Estas tarefas são bastante simples, e eventualmente podem até ser executadas através de sua ferramenta de configuração preferida. Mais freqüentemente, você irá executá-las diretamente, via linha de comando. Por exemplo, no laboratório montado para este artigo, o micro com Windows 98 (cujo nome na rede é OEMComputer, e o endereço IP é 10.9.20.71) tem a pasta C:\DOWNLOAD compartilhada como somente-leitura, com o nome de DOWNLOAD e a senha LIN-COLN. Montar este comparti-lhamento a partir do Linux é fácil, e não precisa de alterações no arquivo smb.conf.
<IMG> Em primeiro lugar, o ideal é verificar se os compartilhamentos estão corretos. Digitando o comando “smbclient -NL OEMcomputer -I 10.9.20.71”, o Samba fornece diversas informações sobre os comparti-lhamentos no computador OEMcomputer, incluindo as linhas que nos interessam especialmente:
 
<IMG> Sharename Type Comment
 
<IMG> DOWNLOAD Disk
 
<IMG> Agora que vimos que o compartilha-mento realmente está visível através da rede, é o momento de mon-tá-lo, ou “mapeá-lo”, na terminologia do Windows.
<IMG> Em primeiro lugar, certifique-se de que existe um dire-tório local adequado para a montagem. No nosso caso, através do comando mkdir /mnt/win98, criamos o di-retório /mnt/win98. A seguir, basta executar a mon--tagem propriamente dita:
 
<IMG> mount -t smbfs //oemcomputer/download /mnt/win98/ -o password=lincoln
<IMG> O nome “oem-computer” deve constar corretamente no seu servidor DNS, ou no arquivo /etc/hosts da máquina Linux. Caso o servidor rode Windows NT, ou esteja usando compartilhamento por usuário, ao invés de utilizar o parâmetro “password=lincoln”, use “user-name=usuario%senha”.
<IMG> Se o comando mount for bem sucedido, você poderá ver os arquivos do seu micro Windows no diretório /mnt/win98/ - experimente digitar ls /mnt/win98 para verificar. Nosso comparti-lhamento no Windows é para somente-leitura, mas se habilitássemos a escrita, você poderia tranqüilamente gravar arquivos no diretório e a gravação ocorreria na máquina Windows. Ao final da operação, basta digitar umount /mnt/win98/ para encerrar a montagem.
<IMG> Acessar impressoras remotas baseadas em Windows é um pouco mais complicado. Você pode utilizar ferramentas de configuração como o printtool, incluído em algumas distribuições como a Red Hat e a Conectiva, ou o YaST do SuSE, e definir os parâmetros interativamente ou editar diretamente seus arquivos de configuração. A edição manual do /etc/printcap pode ser uma tarefa complexa, mesmo quando a impressora não está em rede.
<IMG> A integração entre tecnologias de rede diferentes é uma necessidade comum. O Windows certamente é o sistema mais usado na atualidade, tornando assim muito comum a necessidade de fazer com que seus equipamentos com Linux “conversem” com os produtos desenvolvidos pela Microsoft. O Samba desempenha esta tarefa com maestria.
 
 

A Revista do Linux é editada pela Conectiva S/A
Todos os Direitos Reservados.

Política de Privacidade
Anuncie na Revista do Linux