Servidor Samba: mudanças entre as edições
(→Tarefa) |
|||
(40 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 17: | Linha 17: | ||
O '''cliente Samba''' é instalado com o comando: | O '''cliente Samba''' é instalado com o comando: | ||
sudo apt | sudo apt install smbclient | ||
O '''Servidor Samba''' é instalado com o comando: | O '''Servidor Samba''' é instalado com o comando: | ||
sudo apt | sudo apt install samba | ||
Para remover o '''Servidor Samba''' usa-se o comando: | Para remover o '''Servidor Samba''' usa-se o comando: | ||
sudo apt | sudo apt [remove|purge] samba | ||
:A opção purge remove também os arquivos de configuração. | :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: | 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 | 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-original | |||
;Formato do arquivo de configuração: | |||
O arquivo de configuração consiste em '''seções''' e '''parâmetros''': | O arquivo de configuração consiste em '''seções''' e '''parâmetros''': | ||
Linha 47: | Linha 54: | ||
===Criação de compartilhamento sem senha=== | ===Criação de compartilhamento sem senha=== | ||
Para criar um compartilhamento de arquivos sem necessidade de senha para acesso, | Para criar um compartilhamento de arquivos sem necessidade de senha para acesso, configure os seguintes campos no arquivo '''smb.conf''': | ||
[global] | [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: | Em seguida, crie o diretório a ser compartilhado e ajuste as permissões para que todos tenham acesso: | ||
Linha 65: | Linha 74: | ||
sudo chmod -R 755 /srv/samba/publico/ | sudo chmod -R 755 /srv/samba/publico/ | ||
Reinicie o Samba | 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 | ;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''' | |||
*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: | |||
==Segurança no compartilhamento de arquivos== | ==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 | 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 | 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. | ;Contas de usuário e senha: As contas de usuário do Samba são separadas das contas do sistema. | ||
*O pacote '''libpam- | *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 | sudo apt install libpam-winbind | ||
*As senhas para os usuários do | *As senhas para os usuários do Samba devem ser cadastradas manualmente com o comando: | ||
sudo smbpasswd -a usuario | 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=== | ===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] | ||
comment = Compartilhamento do Servidor de Arquivos Ubuntu | |||
path = /srv/samba/grupo_professores | |||
browsable = yes | |||
guest ok = no | |||
read only = no | |||
create mask = 0775 | |||
[grupo_alunos] | |||
comment = Compartilhamento do Servidor de Arquivos Ubuntu | comment = Compartilhamento do Servidor de Arquivos Ubuntu | ||
path = /srv/samba/ | path = /srv/samba/grupo_alunos | ||
browsable = yes | browsable = yes | ||
guest ok = no | guest ok = no | ||
read only = no | read only = no | ||
create mask = | create mask = 0775 | ||
Em seguida, crie o diretório a ser compartilhado e ajuste as permissões para que todos tenham acesso: | Em seguida, crie o diretório a ser compartilhado e ajuste as permissões para que todos tenham acesso: | ||
sudo mkdir -p /srv/samba/ | sudo mkdir -p /srv/samba/grupo_professores | ||
sudo | sudo mkdir -p /srv/samba/grupo_alunos | ||
sudo chmod -R | sudo chgrp professores grupo_professores | ||
sudo chgrp alunos grupo_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 <ref name=MORIMOTO>MORIMOTO, C. E. Seridores Linux: Guia prático, Sul Editores, Porto Alegre, 2013.</ref>. | |||
O acesso ao servidor é dado pelo caminho '''\\server\username'''. | |||
Reinicie o Samba e teste o compartilhamento. | Reinicie o Samba e teste o compartilhamento. | ||
==Tarefa== | |||
Realizar a instalação e configuração do Samba para as seguintes situações de compartilhamento de arquivos e diretórios: | |||
*Compartilhamento de um diretório ('''publico''') para acesso sem senha. | |||
*Compartilhamento de diretórios para grupos de usuários ('''grupo_professores''' e '''grupo_alunos''') para acesso com senha. | |||
Testar o acesso aos diretórios compartilhados e imprimir as saídas para demonstrar os acessos realizados. | |||
==Referências== | ==Referências== |
Edição atual tal como às 17h21min de 24 de maio de 2021
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-original
- 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 = 0775
[grupo_alunos] comment = Compartilhamento do Servidor de Arquivos Ubuntu path = /srv/samba/grupo_alunos browsable = yes guest ok = no read only = no create mask = 0775
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 grupo_professores sudo chgrp alunos grupo_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.
Tarefa
Realizar a instalação e configuração do Samba para as seguintes situações de compartilhamento de arquivos e diretórios:
- Compartilhamento de um diretório (publico) para acesso sem senha.
- Compartilhamento de diretórios para grupos de usuários (grupo_professores e grupo_alunos) para acesso com senha.
Testar o acesso aos diretórios compartilhados e imprimir as saídas para demonstrar os acessos realizados.
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)