Autor: Arboni | Publicado: 2012-09-07T12:05:00-03:00


Compartilhamento 
de Arquivos no Linux 















O Samba é um "software servidor" para Linux (e 
outros sistemas baseados em Unix) que permite o gerenciamento e compartilhamento 
de recursos em redes formadas por computadores com o Windows. Assim, é possível 
usar o Linux como servidor de arquivos, servidor de impressão, entre outros, 
como se a rede utilizasse servidores Windows (NT, 2000, XP, Server 2003). Este 
artigo faz uma abordagem introdutória ao Samba, mostrando suas principais 
características e um pouco de sua história.



Breve 
história do Samba



O Samba é uma criação de Andrew Tridgell. De acordo com 
informações dadas no site oficial  do software, Tridgell precisava montar um espaço em disco 
em seu PC para um servidor Unix. Esse PC rodava o sistema operacional 
DOS e, inicialmente, foi utilizado o sistema de arquivos NFS 
(Network File System) para o acesso. Porém, um aplicativo precisava de 
suporte ao protocolo NetBIOS (não suportado pelo NFS). A solução encontrada por 
Tridgell não foi tão simples: ele escreveu um sniffer (pequeno programa para 
captura de tráfego de dados em rede) que permitisse analisar o tráfego de dados 
gerado pelo protocolo NetBIOS, fez engenharia reversa no protocolo SMB 
(Server Message Block) e o implementou no Unix. Isso fez com que o servidor 
Unix aparecesse como um servidor de arquivos Windows em seu PC com 
DOS.

Esse código foi disponibilizado publicamente por Tridgell 
em 1992. Porém, tempos depois, o projeto foi posto de lado até que um 
determinado dia Tridgell decidiu conectar o PC de sua esposa ao seu computador com Linux. Porém, não 
encontrou nenhum meio melhor que seu código para fazer isso e assim o 
utilizou.

Através de 
contatos feitos por e-mail, Tridgell descobriu que as documentações dos 
protocolos SMB e NetBIOS estavam atualizadas e assim voltou a dedicar-se ao 
projeto. Porém, uma empresa entrou em contato com ele reivindicando os direitos 
sobre o nome usado no software até então. Diante disso, Andrew Tridgell teve a 
idéia de procurar em um dicionário uma palavra que tivesse as letras s, m e b 
(de SMB) e acabou encontrando o termo "samba". A partir daí o projeto Samba 
cresceu e hoje Andrew Tridgell conta com uma excelente equipe de programadores e 
com milhares de usuários de sua solução espalhados pelo 
mundo.



O que o 
servidor Samba faz



Com o servidor 
Samba, é possível compartilhar arquivos, compartilhar impressoras e controlar o 
acesso a determinados recursos de rede com igual ou maior eficiência que 
servidores baseados em sistemas operacionais da Microsoft. Mas, neste caso, o 
sistema operacional utilizado é o Linux.

O Samba é 
compatível com praticamente qualquer versão do Windows, como NT 4.0, 9x, Me, 
2000, XP, Server 2003,Vista, Seven e mais recentes além de máquinas com o Linux, 
é claro.

Todo trabalho 
feito pelo Samba é provido de grande segurança, uma vez que há grande rigor nos 
controles dos recursos oferecidos. Tanto é que existem empresas que usam o Samba 
como solução para conflitos existentes entre diferentes versões do 
Windows.

Como não poderia 
deixar de ser, o Samba também permite que sua configuração seja feita por meio 
de computadores remotos. Para os casos mais críticos, o administrador da rede 
pode até ser notificado de anormalidades por e-mail (para isso é necessário usar 
um script específico que busca informações nos arquivos de log e cria um arquivo 
que pode ser enviado via e-mail).



Instalando 
o Samba



O Samba é um software livre que está disponível sob a 
licença GNU (GNU's not Unix). Muitas 
distribuições Linux já o incluem, mas caso queira instalá-lo, é possível 
baixá-lo de seu site oficial - www.samba.org. Neste, é possível notar que há pacotes específicos para 
as distribuições mais famosas, como Fedora, Mandriva, SuSE, Debian, Ubuntu entre 
outros. Isso significa que a instalação depende do tipo de pacote utilizado 
(tar.gz, RPM, deb, entre outros). Assim, como exemplo, os usuários do Debian 
devem usar o seguinte comando:





apt-get 
install samba smbclient samba-doc





Se o 
pacote do Samba estiver no formato tar.gz basta digitar (depois de 
baixado):


# tar -zxvf samba-a.b.c.tar.gz (onde a, b e c 
correspondem ao número da versão)

Em seguida, 
basta entrar no diretório source e digitar:

./configure 
--prefix=/usr/local/samba

Por fim, 
digite:



# make


# make 
install




O arquivo 
smb.conf

Um fato que 
agrada muitos usuários do Samba é que sua configuração é feita em um único 
arquivo: o smb.conf. Esse arquivo geralmente fica localizado no diretório de 
instalação do Samba.

O arquivo 
smb.conf é estruturado da seguinte maneira: os parâmetros de configuração são 
agrupados em seções. Cada seção é identificada por um nome entre colchetes, por 
exemplo, [global]. A seguir, segue a descrição de três exemplos de seções 
pré-definidas no Samba:





[global] - como o nome indica, contém 
configurações que afetam todo o Samba. Por exemplo, nome do 
servidor;




[homes] - contém as configurações do diretório 
home para cada usuário; 




Abaixo segue um 
exemplo de um arquivo smb.conf com uma configuração bastante simples, pois serve 
apenas para explicar a estrutura do arquivo. Seus parâmetros são explicados em 
seguida. A numeração no início das linhas não é usada no arquivo e foi inserida 
pelo InfoWester apenas para facilitar a localização dos 
parâmetros:





1 
[global] 

2 # nome do 
servidor de arquivos

3 netbios 
name = Servidor

4 # nome do 
grupo de trabalho ou do domínio


5 workgroup = 
DC




6 server 
string = Servidor de Arquivos no GNU/Linux 
7 # diretório 
compartilhado

8 path = /home/arquivos

9 browseable = yes 


10 writable = yes




Explicando:



- As 
linhas 1 contêm os nomes das seções;


- As 
linhas 2, 4 e 7 são comentários. Você pode inserir o texto que quiser nelas e o 
Samba irá ignorá-las. Os comentários são usados para documentar funcionalidades 
ou fazer observações. Esse recurso também pode ser inserido no final de qualquer 
outra linha, bastando inserir o símbolo # antes do 
comentário;


- A linha 
3 - netbios name - contém o nome NetBIOS do servidor 
Samba;


- A linha 
5 - workgroup - recebe o nome do grupo de trabalho ou do domínio no qual o 
servidor Samba faz parte;

- A linha 
6 - server string - é uma identificação que o servidor Samba envia aos demais 
computadores da rede;

- A linha 
8 - path - indica qual o diretório compartilhado, se for esse o 
caso;

- A linha 
9 - browseable - informa se o diretório é visível ou não. Se não for, mesmo 
assim é possível acessá-lo;

- A linha 
10 - writable - se tiver o termo "no", indica que o usuário apenas pode ler o 
conteúdo do diretório compartilhado, mas não pode 
alterá-lo.



http://www.youtube.com/watch?v=zRbj37XrFVI&amp;feature=player_embedded


Neste Vídeo mostrei de forma 
prática o que foi mostrado no texto acima, embora no vídeo esteja rodando no 
Ubuntu ela pode ser utilizada em qualquer distribuição GNU/LINUX que tenha o 
Samba instalado ou disponível para instalar.










&nbsp;

Perdoem minha voz, pois estou 
me recuperando de uma gripe então em certos momentos eu tive que cortar 
o vídeo e em outros não teve como fugir, mas deixe um cometário para um melhor 
feedback.