|
| |
Capa
Samba integração com o Windows
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
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.
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.
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.
Um pouco de história
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.
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.
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.
É 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!
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.
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...
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.
Conhecendo o Samba
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.
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.
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.
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:
É 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.
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.
Configurando um servidor simples
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.
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.
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.
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.
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.
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.
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.
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.
Linux como cliente de redes Windows
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.
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.
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:
Sharename Type Comment
DOWNLOAD Disk
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.
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:
mount -t smbfs //oemcomputer/download
/mnt/win98/ -o password=lincoln
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”.
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.
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.
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.
| | |
|
|
|
|