Em uma rede local, é comum precisarmos de um servidor de arquivos, que faz o armazenamento/distribuição de arquivos de forma centralizada. Dessa forma, melhora a produtividade dos usuários, facilitando a mobilidade e até mesmo o gerenciamento de segurança como backup e antivírus. Na figura D.3 podemos visualizar um diagrama de LAN com um servidor de arquivos central.
SAMBA – acrônimo para SMB¹ é um programa de rede que interliga sistemas GNU/Linux com computadores Windows². O serviço conta com diversas funcionalidades, das quais destacamos: compartilhamento de pastas/arquivos e impressoras; autenticação de usuários e máquinas Windows em uma LAN. O serviço é instalado em um computador (servidor) GNU/Linux, que irá servir toda nossa rede interna.
Instalação:
A instalação é bastante simples, basta termos acesso à internet e os repositórios devidamente configurados – conforme visto na unidade anterior. O comando de instalação é:
# aptitude install samba
Configuração:
A configuração do samba é feita no arquivo smb.conf que fica SEMPRE na pasta /etc/samba. O smb.conf é um arquivo texto e pode ser modificado com qualquer editor de texto simples (poderíamos, por exemplo, usar o JOE).
# gedit /etc/samba/smb.conf
Ao abrir o arquivo, verificamos que ele não está vazio, mas tem diversas diretivas³ de exemplo. Poderíamos simplesmente fazer algumas modificações neste arquivo fazer uso do sistema, mas nosso objetivo aqui é fazer uma configuração totalmente nova.
# Sample configuration file for the Samba suite for Debian GNU/Linux.
#
# This is the main Samba configuration file. You should read the
# smb.conf(5) manual page in order to understand the options listed
# here. Samba has a huge number of configurable options most of which
# are not shown in this example
Configuração mínima:
# configuração mínima de teste
[globals]
Netbios name = servidor
Workgroup = intranet
security = share
[publico]
path = /var/samba/publico
writable = yes
comment = Pasta pública
browseable = yes
guest ok = yes
Como já registrado na unidade anterior, qualquer diretiva com o símbolo # no início é um comentário (ou explicação) cuja linha será desconsiderada pelo sistema. O arquivo de configuração mínimo tem duas sessões principais, que são:
| ||||
| ||||
|
Testando
Para testar, é necessário ter pelo menos um cliente Windows configurado no mesmo grupo de trabalho do servidor (no caso intranet). Para fazer uso do compartilhamento, basta abrir o ícone “Meus Locais de Rede” o compartilhamento deverá estar disponível com na figura D.4. Nesse caso, bastará copiar arquivos e pastas para o compartilhamento selecionado. Vale salientar que o mesmo é publico e não oferece nenhuma proteção aos dados ali armazenados.
Aprimorando os compartilhamentos
A configuração acima oferece um funcionamento minimalista. Nas próximas configurações, vamos explorar alguns aspectos do servidor samba. Nesse exemplo, precisaremos ter um cenário configurado, com usuários e grupos previamente definidos no sistema operacional. O diagrama de blocos abaixo representa este cenário.
Basicamente, precisaremos criar dois grupos, sendo um chamado chefia, que contém os usuários chefe1 e chefe2; e outro grupo chamado trabalho, que irá conter os usuários trab1, trab2 e trab3. Estes usuários podem (e é recomendado) ter seu acesso ao Linux bloqueado, ou seja, não precisarão logar no servidor – para bloquear o usuário utiliza-se o comando:
# passwd -l <usuario>
# configuração mínima de teste
[globals]
Netbios name = servidor
Workgroup = intranet
security = user
[publico]
path = /var/samba/publico
writable = yes
comment = Pasta pública
browseable = yes
guest ok = yes
[chefia]
path = /var/samba/chefia
comment = Pasta da chefia
valid users = chefe1, chefe2
writeable = yes
browseable = yes
[trabalho]
path = /var/samba/trabalho
comment = Pasta dos funcionários
valid users = +trabalho, chefe1, chefe2
writeable = yes
browseable = yes
Nesta configuração, temos 3 compartilhamentos e acesso restrito por usuários, descritos abaixo.
Habilitando os usuários no samba
Para que os usuários tenham acesso aos compartilhamentos, é necessário incluir os mesmos no samba. Isto é feito com o comando: smbpasswd -a <usuário>; o comando irá solicitar uma nova senha para o usuário – esta será a senha pela qual o usuário irá se autenticar no compartilhamento desejado. Para excluir um usuário #passwd -x <usuário>
# smbpasswd -a chefe1
# smbpasswd -a trab2
Testando
O procedimento de teste será o mesmo feito na etapa anterior. Só que neste momento, ao acessar o compartilhamento, será necessário informar a senha de autenticação; o samba por sua vez irá dar as permissões conforme definido na configuração do sistema. Para que o Windows “esqueça” a senha, é necessário fazer logoff.
¹ Protocolo utilizado na comunicação de rede entre sistemas operacionais Windows.
² Windows é marca registrada da Microsoft Corporation.
³ Diretiva – nome dado a cada item de configuração dentro do smb.conf