Um pouco sobre a história do Samba

O projeto nasceu no final de 1991, de forma acidental. Andrew Tridgell, um australiano que na época era estudante do curso de PhD em ciências da computação da Universidade Nacional da Austrália. 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 proprietário, que utilizava um protocolo obscuro, sobre o qual não existiam muitas informações disponíveis.

Como todo bom hacker, ele decidiu estudar o protocolo e assim desenvolver um servidor que pudesse rodar em seu PC. Ele desenvolveu então um pequeno programa, chamado clockspy, que era capaz de examinar o tráfego da rede, capturando as mensagens enviadas pelo cliente e as respostas do servidor. Com isso, ele foi 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 versão era apenas resolver um problema doméstico: 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 também funcionava em conjunto com o LanManager da Microsoft, permitindo compartilhar arquivos de um servidor Unix com máquinas rodando o MS-DOS. O protocolo obscuro usado pelo Patchworks se revelou uma implementação 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 versão aprimorada, o “Server 0.5”. Este arquivo ainda pode ser encontrado em alguns dos FTPs dohttp://samba.org, com o nome “server-0.5”.

Esta versão inicial rodava sobre o MS-DOS. Depois de um longo período de hibernação, o software foi portado para o Linux, dando origem à versão seguinte (1.5), que foi lançada 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 dicionário Ispell por palavras que possuíssem 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 não existiu um “Samba 1.0”, pois a primeira versão a utilizar o nome “Samba” foi a 1.6.05, que foi a sucessora imediata do “smbserver 1.6.4”.

O projeto começou a se tornar popular a partir da versão 1.6.09 (lançada pouco depois), que foi a primeira a trazer suporte ao controle de acesso com base nos logins de usuário (assim como o Windows NT), enquanto as versões anteriores suportavam apenas o controle de acesso com base no compartilhamento (assim como no Windows 3.11 e 95), onde a única opção de segurança era usar uma senha de acesso para os compartilhamentos. A partir daí, o projeto não parou de crescer, atraindo um número crescente de usuários e desenvolvedores, até se transformar no monstro sagrado que é hoje.

Estes dois links contam um pouco mais sobre a história do Samba, desde as primeiras versões:
http://www.samba.org/samba/docs/10years.html
http://www.rxn.com/services/faq/smb/samba.history.txt

Em 1994 a Microsoft liberou as especificações 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, além de ser quase 100% compatível com os recursos de rede do Windows 98, NT, 2000 e XP, o Samba é reconhecido por ser mais rápido que o próprio Windows na tarefa de servidor de arquivos.

Um dos pontos fortes do Samba é que o projeto foi todo desenvolvido sem precisar incorrer em qualquer violação de patentes. Todas as chamadas (com exceção das que a Microsoft tornou públicas em 1994) foram implementadas monitorando as transmissões de dados através da rede, processo que os desenvolvedores chamam de “French Cafe technique”. Dentro da analogia, seria como aprender francês sentando-se em um café e passando a prestar atenção nas conversas, aprendendo a partir daí novas palavras, expressões e situações onde elas podem ou não serem usadas. É um trabalho bastante detalhista e tedioso, que demanda um grande esforço e resulta em avanços graduais, mas, se executado por anos a fio, como no caso do Samba (que começou a ser desenvolvido em 1991), resulta em conquistas surpreendentes.

Isso torna o Samba virtualmente invulnerável a ações legais relacionadas a quebras de patentes ou problemas similares, já que o software é inteiramente baseado em observação e no uso de especificações públicas.

Uma curiosidade é que a existência 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 compatíveis com as máquinas 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 também através do Samba, com uma excelente segurança, confiabilidade e com um desempenho em muitas situações bastante superior ao de um servidor Windows com a mesma configuração.

O Samba é uma solução bastante completa e flexível para uso em redes locais, pois oferece um grande volume de opções de configuração e é compatível com todas as versões do Windows; do 3.11 ao Vista. Além de compartilhar arquivos, ele permite também compartilhar impressoras e centralizar a autenticação dos usuários, atendendo tanto a clientes Windows, quanto a clientes Linux.

Para os clientes Windows, o servidor Samba aparece no ambiente de redes exibindo os compartilhamentos disponíveis, exatamente da mesma forma que um servidor Windows:

m204ba054

Os compartilhamentos podem ser acessados da forma tradicional e inclusive mapeados. No caso dos compartilhamentos de impressoras, é possível inclusive utilizar o Point-and-Print, onde os clientes obtém os drivers de impressão diretamente a partir do servidor e a impressora fica disponível com apenas dois cliques.

Além de compartilhar arquivos e impressoras, o servidor Samba pode atuar como um PDC, autenticando os usuários da rede. Existem também diversas opções de segurança, que permitem restringir o acesso aos compartilhamentos.

Naturalmente, o servidor pode ser acessado de forma simples também nos clientes Linux da rede. As versões recentes do Konqueror e do Nautilus incorporam plugins que permitem acessar os compartilhamentos de forma bastante prática (experimente digitar smb://endereço_do_servidor na barra de endereços do Konqueror) e existem também clientes especializados, como o Smb4k:

6de60fa

O Samba é dividido em dois módulos, o servidor Samba propriamente dito e o “smbclient”, o cliente que permite acessar compartilhamentos em outras máquinas. Os dois são independentes, de forma que você pode instalar apenas o servidor, apenas o cliente ou ambos, de acordo com a função da máquina.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X