sexta-feira, 3 de agosto de 2012

Compartilhando diretórios no Linux pelo Samba

Neste material vamos abordar uma instalação e configuração simples do Samba. Em síntese, o Samba é um serviço disponibilizado pelo Linux que oferece variados recursos. Geralmente, tais recursos estão associados a um meio de conexão entre sistemas Linux com sistemas Microsoft Windows. Através do Samba podemos configurar diretórios compartilhados - com ou sem autenticação, grupos de trabalho, servidor de impressão e PDC's (Primary Domain Controller). Vamos tratar de um exemplo simples de compartilhamento de um diretório sem autenticação com permissão de escrita/leitura, com micros Windows.

Instalação do Samba

A instalação do Samba pode ser feita via APT. Como root, execute o seguinte comando:

apt-get install samba

Após a instalação, vamos à configuração.

Configuração do diretório a ser compartilhado
Devemos definir um diretório para ser compartilhado. Neste estudo, optei em compartilhar um diretório localizado em uma partição de arquivos. A partição de arquivos é montada em /mnt/arquivos e o diretório será chamado de compartilhamento/pub - consequentemente, o path do diretório a ser compartilhado é:

/mnt/arquivos/compartilhamento/pub


Preferi manter um diretório padrão chamado compartilhamento antes do diretório pub para facilitar a localização de outros diretórios compartilhados. Ou seja, em minha configuração, além do pub, todos os diretórios compartilhados no servidor estarão dispostos em /mnt/arquivos/compartilhamento. Execute os comandos abaixo, como root, para a criação e configuração dos diretórios necessários:

cd /mnt/arquivos
mkdir compartilhamento
cd compartilhamento
mkdir pub
chmod go+w pub/


Este diretório possui permissão de escrita para grupo e outros (principalmente outros) para justamente permitir que um usuário nobody (usuário não conhecido pelo sistema, que será autenticado automaticamente pelo Samba) possa escreve arquivos nele. Vamos à configuração do Samba.

Configurando o arquivo smb.conf
Toda a configuração do Samba será realizada no arquivo /etc/samba/smb.conf. Nosso objetivo é configurar um diretório com permissões de escrita para quaisquer usuários. Para não perdermos as configurações default do Samba, vamos fazer um backup do arquivo original (como root):

cd /etc/samba
mv smb.conf smb.conf_old
touch smb.conf

Abra o arquivo smb.conf como root e inclua o seguinte texto:

[global]
  netbios name = cloud
  workgroup = ff7
  security = share
  encrypt passwords = no
  guest account = nobody
  guest ok = yes
  character set = ISO8859-1

[pub]
  path = /mnt/arquivos/compartilhamento/pub
  comment = pub
  read only = no
  browseable = yes


Entendimento da sintaxe: vamos entender, brevemente, o significado das sintaxes apresentadas.
SintaxeDescrição
[global] Nesta seção serão definidos os campos gerais de configuração. As regras estabelecidas neste item serão válidas para todas as seções.
netbios name Define o nome do computador que será visualizado pelos outros micros.
workgroup Neste caso, define o grupo de trabalho.
secutity Através dessa diretiva, será definido o nível de acesso. Ao definirmos share, tornamos o sistema compatível com versões onde apenas a senha é enviada para o servidor (versões a partir do Windows 95). Quando este parâmetro é utilizado em conjunto com o guest ok, a senha não é verificada, inclusive.
encrypt passwords Neste caso, pela definição no, indicamos que não existe encriptação nas senhas. É um requisito para a security share.
quest account Quando o serviço é público, sem requerer autenticação, o Linux precisa de um usuário para realizar a autenticação. O usuário definido neste item é utilizado.
guest ok Define acesso público, quando yes.
character set Define o padrão de character set utilizado. O português do Brasil é ISO8859-1.


[pub] Definição de um novo escopo (seção) onde será definido o compartilhamento.
path Indica o path do compartilhamento [pub], ou seja, qual o diretório, localizado no Linux, que será compartilhado.
comment Define o nome de exibição do diretório (como os usuários Windows verão o compartilhamento).
read only Se definido como no, indica que este compartilhamento não é read only (os usuários poderão escrever nele).
browseable Indica se o diretório será (yes) ou não (no) visualizado.


Salve o arquivo. Para que as alterações entre em vigor, será necessário parar e iniciar o processo do samba.

Finalizar serviço do Samba
Para finalizar o serviço do samba, execute, como root, o comando abaixo:
/etc/init.d/samba stop

Iniciar serviço do Samba

Analogamente, para iniciar o Samba, execute (como root):/etc/init.d/samba start


Referências:
A única referência que utilizei para este material foi o excelente trabalho realizado no Foca Linux, cujo conteúdo referente ao Samba encontra-se abaixo.
http://focalinux.cipsga.org.br/guia/avancado/ch-s-samba.htm
Vale apenas enfatizar o seguinte: no meu ponto de vista, existem duas grandes referências de material em Linux, em português: uma é o site Foca Linux. Outra é o site do Carlos Morimoto, Guia do Hardware. Não deixem de conferir ambos os casos.


"É claro que meus filhos terão computadores, mas antes terão livros." Bill Gates
Espero ter ajudado.
Guilherme Pontes

Nenhum comentário:

Postar um comentário