Servidor Samba: mudanças entre as edições
(→Tarefa) |
|||
(67 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 6: | Linha 6: | ||
--> | --> | ||
O '''[https://help.ubuntu.com/lts/serverguide/samba | O '''[https://help.ubuntu.com/lts/serverguide/samba.html Samba]''' é um '''servidor de arquivos''' construído originalmente para a integração entre máquinas '''Linux''' e '''Windows'''. | ||
O '''Samba''' implementa suporte para | 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''). | 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''). | ||
Linha 14: | Linha 14: | ||
==Instalação e configuração do Samba== | ==Instalação e configuração do Samba== | ||
O 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. | ||
A configuração do Samba é | 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 <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. | |||
==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)