Servidor Samba: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
 
(8 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 31: Linha 31:
Na configuração default o Samba tem um grande número de comentários que documentam como as configurações principais podem ser realizadas.
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:
;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
  sudo cp /etc/samba/smb.conf /etc/samba/smb.conf-original


;Formato do arquivo de configuração:
;Formato do arquivo de configuração:
Linha 99: Linha 99:


===Criação de compartilhamento com segurança===
===Criação de compartilhamento com segurança===
Criar um compartilhamento de arquivos com segurança, configurando os seguintes itens:
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
Linha 106: Linha 106:
     guest ok = no
     guest ok = no
     read only = no
     read only = no
     create mask = 0755
     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:  
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_professores
sudo mkdir -p /srv/samba/grupo_alunos
  sudo chgrp professores grupo_professores
  sudo chgrp professores grupo_professores
  sudo chmod -R 775 /srv/samba/grupo/
sudo chgrp alunos grupo_alunos
  sudo chmod -R 775 /srv/samba/grupo_professores/
sudo chmod -R 775 /srv/samba/grupo_alunos/


Reinicie o Samba e teste o compartilhamento.
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==
==Compartilhamento do diretório home==
Linha 133: Linha 147:


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

  1. 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)