Home » Linux » (Parte 3) Configurando Samba (compartilhamento de arquivos) no Ubuntu Server
Post sobre Linux Por William Em abril 15, 2014
Continuando a série de artigos sobre a configuração de um servidor com Ubuntu Server, será demonstrado abaixo como configurar o samba para criar um compartilhamento de arquivos que pode ser acessado pelo Windows e também Linux.
Mas o que é esse tal Samba?
Basicamente o programa smbd (popularmente conhecido como Samba) é o daemon responsável em permitir que servidores Linux compartilhem recursos de disco e impressoras com clientes Windows, mas nada impede que os clientes sejam Linux também, tudo isso através do protocolo smb. O Samba é compatível com praticamente todas as versões do Windows, atualmente está na versão 4.1.6, para mais informações acessem o site oficial http://www.samba.org/.
Configurando servidor WEB (Apache, MySQL e PHP) no Ubuntu Server
Instalação do Ubuntu Server 12.04 LTS
É importante destacar que toda a configuração do samba gira em torno do arquivo /etc/samba/smb.conf que será criado automaticamente durante a instalação do samba, nesse arquivo configuramos as diretrizes de segurança, compartilhamentos e etc., neste artigo vou abordar somente alguns aspectos que serão importantes para alcançar o nosso objetivo.
Seria muito simples configurar o Samba para o uso doméstico, então irei simular um ambiente um pouco maior onde teremos 2 grupos de usuários (compras e estoque), dentro de cada grupo teremos um usuário, mas nada impede de existirem vários usuários por grupo ou até mais grupos. Será criado uma pasta para cada grupo no diretório /home onde só os usuários do grupo tem acesso, um pasta pública no diretório /home onde todos os grupos terão acesso, além disso para cada usuário com conta no servidor o linux cria uma pasta no diretório /home onde só ele tem acesso.
Criando e configurando permissões Usuários e Grupos
1 – Vamos criar os grupos (compras e estoque):
Post relacionado: Permissão para arquivos na pasta /www linux
# addgroup compras # addgroup estoque
# addgroup compras
# addgroup estoque
2 – Criar os usuários e configurar as senhas:
# adduser user1 # adduser user2
3 – Adicionar os usuários aos devidos grupos:
# adduser user1 compras # adduser user2 estoque
# adduser user1 compras
# adduser user2 estoque
4 – Criar as devidas pastas no diretório /home:
# mkdir /home/compras # mkdir /home/estoque # mkdir /home/publica
# mkdir /home/compras
# mkdir /home/estoque
# mkdir /home/publica
5 – Alterar o grupo proprietário das pastas:
# chgrp compras /home/compras # chgrp estoque /home/estoque
# chgrp compras /home/compras
# chgrp estoque /home/estoque
6 – Permissões para as pastas:
# chmod 777 -R /home/publica # chmod 770 -R /home/compras # chmod 770 -R /home/estoque
# chmod 777 -R /home/publica
# chmod 770 -R /home/compras
# chmod 770 -R /home/estoque
Instalando e configurando Samba
7 -Vamos instalar o samba no servidor com o seguinte comando:
8 – Cadastrar os usuários e suas senhas individualmente no samba, digite e confirme a senha:
# smbpasswd -a user1 # smbpasswd -a user2
9 – Utilizando o editor de textos vi vamos editar o arquivo /etc/samba/smb.conf:
Um erro nessa fase e a coisa toda não funciona, podemos ficar horas e horas a procura do bendito bug. Como o arquivo smb.conf é extenso vou postar apenas os trechos que teremos que alterar e o "provável" número da linha.
Abaixo vamos iniciar com as configurações nas seções [global] e [homes]:
– Linha 41 adicionar uma identificação para o servidor na seção global:
server string "Servidor"
– Linha 102 retirar o comentário '#' no início da linha, indica que as permissões serão dadas de acordo com o login informado:
– Retirar o comentário ';' no início da linha na seção homes:
[homes] //linha 247 comment = Home Directories //linha 248 browseable = no //linha 249 create mask = 0700 //linha 257 directory mask = 0700 //linha 261 valid users = %S //linha 269
[homes] //linha 247
comment = Home Directories //linha 248
browseable = no //linha 249
create mask = 0700 //linha 257
directory mask = 0700 //linha 261
valid users = %S //linha 269
– Adicionar essa linha abaixo de 'valid users = %S':
– No final do arquivo vamos adicionar as linhas com as configurações dos nossos compartilhamentos:
[publica] comment = Pasta Publica path = /home/publica writable = yes browseable = yes create mode = 0777 directory mode = 0777 [compras] comment = Pasta Compras path = /home/compras writable = yes browseable = yes create mode = 0770 directory mode = 0770 valid users = @compras [estoque] comment = Pasta Estoque path = /home/estoque writable = yes browseable = yes create mode = 0770 directory mode = 0770 valid users = @estoque
comment = Pasta Compras
path = /home/compras
valid users = @compras
comment = Pasta Estoque
path = /home/estoque
valid users = @estoque
Detalhamento das configurações:
[nome_do_compartilhamento]
commnet => Apenas um comentário para o compartilhamento
path => Caminho para o compartilhamento
writable => Informa se será possível ou não criar ou excluir arquivos e diretórios no compartilhamento
browseable => Informa se o compartilhamento será visível ou não em ambiente Windows
create mask => Informa quais serão as permissões para arquivos criados nesse compartilhamento
directory mask => Informa quais serão as permissões para os diretórios criados nesse compartilhamento
valid users => Informa os usuários ou grupo (utilize @ antes do grupo) que terão acesso ao compartilhamento
Observações: É importante mencionar que as permissões de arquivos configuradas no Samba serão passadas para o servidor Linux, mas não existe 100% de garantia que serão reproduzidas, caso seja necessário tal garantia podemos usar 'force create mode' e 'force directory mode' para forçar a permissão que configuramos no smb.conf .
10 – Ao final de tudo, vamos reiniciar o serviço do Samba:
Ufa …. deu um pouco de trabalho mas está pronto, vamos aos testes com o cenário que estamos utilizando nos artigos:
Primeiro vamos acessar o compartilhamento a partir do Windows Serven, digitando o IP do servidor:
Para acessar a pasta compras será solicitado usuário e senha, basta informar os dados do usuário:
Agora vamos acessar através do Fedora, digitando smb:// antes do IP:
Para acessar a pasta compras também será solicitado usuário e senha, basta informa:
Bom pessoal, o artigo acabou saindo um pouco longo mas era necessário, existe um programa com interface gráfica chamado SWAT que "teoricamente" agiliza toda essa parte de configuração com o arquivo smb.conf, mas o servidor não possui interface gráfica e pessoalmente prefiro configurar na mão mesmo.
Como mencionei no início do artigo, existem diversas configurações que podem ser feitas no Samba, com várias combinações, varia da necessidade do administrador. Esse compartilhamento foi testado inclusive no Windows XP e funcionou tranquilamente.