in Ferramentas

Compreendendo o Samba

Notas do autor

Olá a todos esse é meu primeiro post técnico aqui no blog (resolvi deixar de vadiar), fiquem calmos pois não estaremos ensiando os enredos das escolas de samba nem como sambar (particularmente não gosto de canraval:), estaremos falando da ferramenta, que é um software livre, SAMBA.

Bom essa é a primeira sessão falando da ferramenta samba(4 ou 5 posts), irei abordar um pouco de teoria os parâmetros de configuração e, aos pouquinhos, iremos incrementando até chegar ao samba+ldap :)

Primeiro quero dizer que só fui entender o samba quando resolvi estudá-lo direito (obviamente), esse artigo/tutorial é o conjunto de informações que consegui extrair de estudos, como todo esse trabalho é pessoal, erros podem ocorrer e etc caso encontre algum por favor deixe um comentário e/ou envie um e-mail, assim poderei estar melhorando mais e mais o documento.

Como me cansei de ver vários tutoriais que são apenas “monte de comando” os turoriais/artigos aqui seguiram uma proposta um pouco diferente destes encontrados aos montes pela rede, proponho sempre levar uma informação a mais sobre a ferramenta.

E é nisso que trabalharemos a essa primeira parte dessa sequencia de posts sobre o samba.

Logo Samba

Compreendendo o Samba.

Historia:

Bom pesquisando a história sobre o samba me deparei com o material do Guia/Foca (como sempre :) então para não re-inventar a roda, segue o trecho do grande Gleydson sobre a história do samba (referência lá embaixo).

“Andrew Tridgell – Desenvolveu o samba porque precisava montar um volume Unix em sua máquina DOS. Inicialmente ele utilizava o NFS, mas um aplicativo precisava de suporte NetBIOS. Andrew então utilizou um método muito avançado usado por administradores para detectar problemas: escreveu um sniffer de pacotes que atendesse aos requerimentos para ter uma única função: analisar e auxilia-lo a interpretar todo o tráfego NetBIOS da rede.

Ele escreveu o primeiro código que fez o servidor Unix aparecer como um servidor de arquivos Windows para sua máquina DOS que foi publicado mais ou menos em meados de 1992 quando também começou a receber patches. Satisfeito com o funcionamento de seu trabalho, deixou seu trabalho de lado por quase 2 anos. Um dia, ele resolveu testar a máquina Windows de sua esposa com sua máquina Linux, e ficou maravilhado com o funcionamento do programa que criou,  e veio a descobrir que o protocolo era documentado e resolveu levar este trabalho a fundo melhorando e implementando novas funções.” (Gleydson, guia Foca)”

O que e o samba?

Segundo o próprio site, Samba é um software livre que prove compartilhamento de arquivos e impressoras para sistemas que trabalhem com o protocolo SMB/CIFS.

O SAMBA vem com a implementação do CIFS (Common Internet File System) que a maneira que a Janela compartilha seus arquivos. Como sempre a documentação desse protocolo (implementando pelo janela) as vezes é fraca, inconsistente como  em todo aquele problema de Software Proprietário, por isso muitas aplicações que o samba traz não são por padrão o que a “Janela” desenvolveu. É fruto de engenharia reversa e muitos estudos e novas implementações.

Atualmente trabalha com o protocolo de comunicação SMB (Server Message Block) que é o protocolo de compartilhamento de arquivos impressoras e etc.

As RFCs na qual regem a o desenvolvimento dessa fantástica ferramenta são:

  • RFC1001 – Protocol standard for a NetBIOS service on a TCP/UDP transport: Concepts and methods
  • RFC1002 – Protocol standard for a NetBIOS service on a TCP/UDP transport: Detailed specifications
  • RFC1088 – Standard for the transmission of IP datagrams over NetBIOS networks

Tá mas o que o samba faz exatamente?

Simples ele gerencia o compartilhamento de arquivos entre vários sistemas operacionais. distintos.

É o ideal para o compartilhamento de arquivos em uma empresa que trabalha com mais de um tipo de sistema operacional (e também para as de um só), as vantagens gritantes do samba relativo e todos seus concorrentes ao meu ver são:

  1. É um software livre
  2. Desenvolvimento continuo
  3. Boa documentação
  4. Fácil pesquisa
  5. Não precisa de um super computador para seu funcionamento pleno.

Funcionamento do samba:

O samba trabalha com 2 ou 3 daemons (depende da aplicação que irá fazer da ferramenta) um daemon é um serviço que roda respondendo a requisições (“processo servidor”) são eles:

  1. nmbd : responsável pelo registro de nome e resolução traduzindo para você acessar as máquinas via nome e identificar qual máquina se conectou no servidor
  2. smbd : responsável por todos os serviços de TCP/IP com intuito de manipulação de arquivos e impressões além de gerenciar a autenticação local; Traduzindo esse é o cara responsável por você conseguir salvar arquivos e/ou ler arquivos no servidor
  3. winbindd : por fim o cara que conversa com domínios, se tiver que conversar com qualquer outro domínio( seja só pra autenticar ou relação de confiança ) esse servidor deve, por sua vez, estar levantado

No próximo artigo estaremos abordando o smb.conf, sua estrutura.

Referencias

http://www.ubiqx.org/cifs/Intro.html#INTRO.2

http://samba.org/samba/docs/

http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/install.html

http://www.rfc-editor.org (site com as RFCs obvio)

http://focalinux.cipsga.org.br/guia/avancado/ch-s-samba.htm

http://www.samba.org/cifs/docs/what-is-smb.html#Introduction

Write a Comment

Comment

  1. Laercio está de parabéns, tanto pela proposta, quanto pelo design do site que ficou show e o conteúdo que almeja… abçs

  2. Valeu kbs, ainda não coloquei sobre a licença creative commons, mas estarei fazendo(se eu lembrar) hoje a noite :)