29.10. Serviços de arquivos e impressão para clientes Microsoft® Windows® Clients (Samba)

Samba é um popular pacote de software de código aberto que fornece serviços de arquivo e impressão usando o protocolo SMB/CIFS. Este protocolo está incorporado nos sistemas Microsoft® Windows®. Ele pode ser adicionado a sistemas não Microsoft® Windows® instalando as bibliotecas-cliente Samba. O protocolo permite que os clientes acessem dados e impressoras compartilhadas. Esses compartilhamentos podem ser mapeados como uma unidade de disco local e as impressoras compartilhadas podem ser usadas como se fossem impressoras locais.

No FreeBSD, as bibliotecas cliente do Samba podem ser instaladas usando o port ou pacote net/samba410. O cliente fornece a capacidade de um sistema FreeBSD acessar compartilhamentos de SMB/CIFS em uma rede Microsoft® Windows®.

Um sistema FreeBSD também pode ser configurado para atuar como um servidor Samba instalando o port ou pacote net/samba410. Isso permite que o administrador crie compartilhamentos de SMB/CIFS no sistema FreeBSD que podem ser acessados por clientes executando Microsoft® Windows® ou as bibliotecas do cliente Samba.

29.10.1. Configuração do Servidor

O Samba é configurado em /usr/local/etc/smb4.conf. Este arquivo deve ser criado antes que o Samba possa ser usado.

Um simples smb4.conf para compartilhar diretórios e impressoras com clientes Windows® em um grupo de trabalho é mostrado aqui. Para configurações mais complexas envolvendo LDAP ou Active Directory, é mais fácil usar o samba-tool(8) para criar o smb4.conf.

[global]
workgroup = WORKGROUP
server string = Samba Server Version %v
netbios name = ExampleMachine
wins support = Yes
security = user
passdb backend = tdbsam

# Example: share /usr/src accessible only to 'developer' user
[src]
path = /usr/src
valid users = developer
writable  = yes
browsable = yes
read only = no
guest ok = no
public = no
create mask = 0666
directory mask = 0755

29.10.1.1. Configurações Globais

As configurações que descrevem a rede são adicionadas em /usr/local/etc/smb4.conf:

workgroup

O nome do grupo de trabalho a ser servido.

netbios name

O nome NetBIOS pelo qual um servidor Samba é conhecido. Por padrão, é o mesmo que o primeiro componente do nome do DNS do host.

server string

A string que será exibida na saída de net view e algumas outras ferramentas de rede que buscam exibir texto descritivo sobre o servidor.

wins support

Se o Samba funcionará como um servidor WINS. Não habilite o suporte para WINS em mais de um servidor na rede.

29.10.1.2. Configurações de Segurança

As configurações mais importantes em /usr/local/etc/smb4.conf são o modelo de segurança e o formato de senha de backend. Essas diretivas controlam as opções:

security

As configurações mais comuns são security=share e security=user. Se os clientes usarem nomes de usuários que sejam os mesmos nomes de usuários na máquina do FreeBSD, a segurança no nível do usuário deve ser usada. Essa é a política de segurança padrão e exige que os clientes façam logon pela primeira vez antes de poderem acessar recursos compartilhados.

Na segurança em nível de compartilhamento, os clientes não precisam efetuar logon no servidor com um nome de usuário e senha válidos antes de tentar se conectar a um recurso compartilhado. Este era o modelo de segurança padrão para versões mais antigas do Samba.

passdb backend

O Samba possui vários modelos de autenticação de backend diferentes. Os clientes podem ser autenticados com LDAP, NIS+, um banco de dados SQL ou um arquivo de senha modificado. O método de autenticação recomendado, tdbsam, é ideal para redes simples e é abordado aqui. Para redes maiores ou mais complexas, o ldapsam é recomendado. smbpasswd foi o padrão anterior e agora está obsoleto.

29.10.1.3. Usuários do Samba

As contas de usuário do FreeBSD devem ser mapeadas para o banco de dados SambaSAMAccount para que os clientes Windows® acessem o compartilhamento. Mapear contas de usuários existentes do FreeBSD usando pdbedit(8):

# pdbedit -a username

Esta seção mencionou apenas as configurações mais usadas. Consulte a Wiki Oficial do Samba para obter informações adicionais sobre as opções de configuração disponíveis.

29.10.2. Iniciando o Samba

Para habilitar o Samba no momento da inicialização, adicione a seguinte linha ao /etc/rc.conf:

samba_server_enable="YES"

Para iniciar o Samba agora:

# service samba_server start
Performing sanity check on Samba configuration: OK
Starting nmbd.
Starting smbd.

O Samba consiste em três daemons separados. Os daemons nmbd e smbd são iniciados por samba_enable. Se resolução de nomes winbind também é necessária, defina:

winbindd_enable="YES"

O Samba pode ser interrompido a qualquer momento digitando:

# service samba_server stop

O Samba é um conjunto de software complexo com funcionalidade que permite ampla integração com as redes Microsoft® Windows®. Para mais informações sobre a funcionalidade além da configuração básica descrita aqui, consulte https://www.samba.org.

All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.