Servidor Samba
Servidor Samba
O Samba é um servidor de arquivos construído originalmente para a integração entre máquinas Linux e Windows.
O Samba implementa suporte para compartilhamento de recursos em redes Windows, podendo exercer o papel de servidor de arquivos, servidor de impressão, servidor WINS (Windows Internet Name Server), Controlador Primário de Domínio (permitindo implantar uma rede compatível com Windows Server) e outros.
Além de permitir a integração com Windows, o Samba tem sido amplamente utilizado para compartilhamento de recursos em ambientes Linux, substituindo outros sistemas de compartilhamento de arquivos Unix, como o NFS (Network File System).
Instalação e configuração do Samba
O Samba é uma aplicação cliente servidor. O lado servidor implementa o compartilhamento de recursos disponíveis na máquina servidora. O lado cliente permite acessar os compartilhamentos.
O cliente Samba é instalado com o comando:
sudo apt-get install smbclient
O Servidor Samba é instalado com o comando:
sudo apt-get install samba samba-commom
Para remover o Servidor Samba usa-se o comando:
sudo apt-get [remove|purge] samba samba-commom
- A opção purge remove também os arquivos de configuração.
O principal arquivo de configuração do Samba é o /etc/samba/smb.conf, cuja referência completa pode ser acessada nas páginas man do Ubuntu:
man smb.conf
O arquivo de configuração consiste em seções e parâmetros:
- Cada seção inicia com o nome da seção entre colchetes e termina quando inicia a próxima seção, por exemplo:
[global] ...
- Os parâmetros são do tipo
nome = valor
A seção [global] contém itens de configuração que se aplicam ao servidor Samba como um todo.
Cada uma das demais seções refere-se a um compartilhamento de recursos, como arquivos ou impressoras.
A seção [home] configura os diretórios pessoais dos usuários para ser acessados via rede no servidor Samba.
Compartilhamento de arquivos sem solicitar senha
O Samba pode ser configurado como servidor de arquivos simples para compartilhar arquivos entre computadores Ubuntu e Windows sem solicitar uma senha.
Criação de compartilhamento sem senha
Para criar um compartilhamento de arquivos sem necessidade de senha para acesso, confige os seguintes itens:
[global] workgroup = TADS #Define um grupo de trabalho para os compartilhamentos ... [publico] comment = Compartilhamento do Servidor de Arquivos Ubuntu path = /srv/samba/publico browsable = yes guest ok = yes read only = no create mask = 0755
Em seguida, crie o diretório a ser compartilhado e ajuste as permissões para que todos tenham acesso:
sudo mkdir -p /srv/samba/publico sudo chown nobody:nogroup /srv/samba/publico/ sudo chmod -R 755 /srv/samba/publico/
Reinicie o Samba e teste o compartilhamento.
- Observações
- Observei que no Ubuntu Server as modificações no arquivo /etc/samba/smb.conf somente tem efeito com o reboot do servidor;
- Se utilizar o Nautilus para teste o mesmo deve ser reiniciado após modificações no Samba.
- Quando se ativa compartilhamento via Nautilus o mesmo instala o Samba, entretanto, não modifica o arquivo de configuração /etc/samba/smb.conf, mas sim inclui configurações no diretório:
- /var/lib/samba/usershares
Segurança no compartilhamento de arquivos
Na seção [Global] do arquivo smb.conf, o parâmetro server role define como o Samba vai operar. A opção básica é funcionar como standalone server, entretanto, o Samba pode ser configurado para funcionar como Controlador Primário de Domínio em redes Windows, além de outros papéis.
No modo standalone server a segurança em um compartilhamento é ativada alterando o parâmetro guest ok para no. Neste caso o acesso ao compartilhamento requer que os clientes forneçam usuário e senha para conectar aos compartilhamentos.
- Contas de usuário e senha
- As contas de usuário do Samba são separadas das contas do sistema.
- O pacote libpam-smbpass sincroniza os usuários e senhas do sistema com o banco de dados de usuários do Samba a partir da instalação do pacote:
sudo apt-get install libpam-smbpass
- As senhas para os usuários do Sampa podem ser cadastradas com o comando:
sudo smbpasswd -a usuario
- Observação: Somente consegui acesso ao servidor Samba com o cadastro manual das senhas com o comando smbpasswd.
Criação de compartilhamento com segurança
Criar um compartilhamento de arquivos com segurança, configurando os seguintes itens:
[grupo] comment = Compartilhamento do Servidor de Arquivos Ubuntu path = /srv/samba/grupo browsable = yes guest ok = no read only = no create mask = 0755
Em seguida, crie o diretório a ser compartilhado e ajuste as permissões para que todos tenham acesso:
sudo mkdir -p /srv/samba/grupo sudo chown nobody:nogroup /srv/samba/grupo/ sudo chmod -R 755 /srv/samba/grupo/
Reinicie o Samba e teste o compartilhamento.
Referências
--Evandro.cantu (discussão) 10h47min de 17 de fevereiro de 2016 (BRST)