PRM-2009.1-DicaDeSamba

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

Dicas referentes à atividade da disciplina de Técnico: Gerência de Rede - 2009-1.

Compartilhamento com Samba

O Samba foi criado, a priori, para compartilhar arquivos entre sistemas Windows e baseados no UNIX (Linux, BSD, etc.). Contudo, o controle de acesso aos arquivos é diferente no mundo UNIX (dono/grupo/outros) dos novos Windows (ACL). De alguma forma, é preciso "mapear" o usuário (e seu grupo principal) quando no acesso aos arquivos. Assim, será possível, de fato, publicar um sistema de arquivos para usuários em rede - e garantir as permissões referentes a cada arquivo ou diretório.

Acesso Seletivo: controle de acesso

Com esse mapeamento direto, não será preciso, portanto, criar um controle de acesso no sistema de arquivos e outro no Samba - basta utilizar um e referenciá-lo no outro. Uma das maneiras mais simples é o Samba refletir as permissões já existentes no sistema de arquivos (a política de segurança estará no sistema de arquivos).

Exemplo: compartilhamento dos sites

Para o sistema de arquivos, foi criado um grupo especial:

groupadd web

e associado um diretório, recém criado, com poder de escrita para esse grupo:

mkdir /home/sites
chgrp web /home/sites
chmod 775 /home/sites

O que o Samba deve fazer, basicamente, é refletir as permissões para os arquivos atuais e, lógico, garantir que novos arquivos mantenham as mesmas permissões. O trecho do arquivo /etc/samba/smb.conf ficará, então, assim:

[sites]
   # Relação entre o diretório compartilhado e o diretório real.
   path = /home/sites
   #
   # O Samba confiará no controle de acesso do sistema de arquivos.
   browseable = yes
   writable = yes
   #
   # Garantindo as permissoes para os arquivos novos.
   force group = +web
   create mask = 664
   directory mask = 775

Com isso, o acesso local ao diretório será equivalente ao remoto.