Servidor Samba: mudanças entre as edições
Linha 99: | Linha 99: | ||
===Criação de compartilhamento com segurança=== | ===Criação de compartilhamento com segurança=== | ||
Criar | Criar '''compartilhamentos''' de arquivos com segurança, para '''grupos de usuários''', configurando os seguintes itens: | ||
[grupo_professores] | [grupo_professores] | ||
comment = Compartilhamento do Servidor de Arquivos Ubuntu | comment = Compartilhamento do Servidor de Arquivos Ubuntu |
Edição das 16h59min de 29 de outubro de 2018
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 install smbclient
O Servidor Samba é instalado com o comando:
sudo apt install samba
Para remover o Servidor Samba usa-se o comando:
sudo apt [remove|purge] samba
- A opção purge remove também os arquivos de configuração.
Configuração do Samba
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
Na configuração default o Samba tem um grande número de comentários que documentam como as configurações principais podem ser realizadas.
- Dica
- Antes de editar o arquivo de configuração, faça uma cópia backup do arquivo original para recuperar as configurações originais, caso necesário:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
- Formato do arquivo de configuração
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, configure os seguintes campos no arquivo smb.conf:
[global] workgroup = TADS #Define um grupo de trabalho para os compartilhamentos ...
Inclua no final do arquivo de configuração o diretório a ser compartilhado, com as seguintes informações:
[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 com o comando:
sudo systemctl restart smbd.service nmbd.service
Teste o compartilhamento usando o Gerenciador de Arquivos Nautilus de uma máquina Linux ou Windows.
- Observações
- 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-winbind sincronizava 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 install libpam-winbind
- As senhas para os usuários do Samba devem ser cadastradas manualmente com o comando:
sudo smbpasswd -a usuario
- Observações:
- O pacote libpam-winbind sincroniza as senhas somente após o usuário efetuar o primeiro login no sistema;
- O cadastro manual das senhas com o comando smbpasswd tem efeito imediato.
Criação de compartilhamento com segurança
Criar compartilhamentos de arquivos com segurança, para grupos de usuários, configurando os seguintes itens:
[grupo_professores] comment = Compartilhamento do Servidor de Arquivos Ubuntu path = /srv/samba/grupo_professores browsable = yes guest ok = no read only = no create mask = 0755
[grupo_alunos] comment = Compartilhamento do Servidor de Arquivos Ubuntu path = /srv/samba/grupo_alunos 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_professores sudo mkdir -p /srv/samba/grupo_alunos sudo chgrp professores professores sudo chgrp professores alunos sudo chmod -R 775 /srv/samba/grupo_professores/ sudo chmod -R 775 /srv/samba/grupo_alunos/
Reinicie o Samba com o comando:
sudo systemctl restart smbd.service nmbd.service
Teste o compartilhamento usando o Gerenciador de Arquivos Nautilus de uma máquina Linux ou Windows. Para tal, antes configure a senha do samba para os usuários que utilizaram os diretórios compartilhados.
Compartilhamento do diretório home
A seção [home] configura os diretórios pessoais dos usuários para ser acessados via rede no servidor Samba.
Para compartilhar diretório home deve-se configurar os seguintes itens:
[homes] comment = Home Directories browseable = yes read only = no create mask = 0700 directory mask = 0700 valid users = %S
Esta é uma configuração padrão descomentada no arquivo smb.conf original. As opções create mask = 0700 e directory mask = 0700 fazem com que todos os arquivos e pastas criados pelo usuário dentro do home sejam acessíveis apenas por ele mesmo. A opção browseable = no faz com que cada usuário possa ver apenas seu próprio diretório, o que é reforçado pela opção valid users = %S, que diz explicitamente que apenas o próprio usuário deve ter acesso à sua pasta home [1].
O acesso ao servidor é dado pelo caminho \\server\username.
Reinicie o Samba e teste o compartilhamento.
Referências
- ↑ MORIMOTO, C. E. Seridores Linux: Guia prático, Sul Editores, Porto Alegre, 2013.
--Evandro.cantu (discussão) 10h47min de 17 de fevereiro de 2016 (BRST)