Atenção: esse artigo tem informações antiquadas. Mas aqui deixo apenas para aprendizagem retrógrada.
Samba é um software popular de código aberto(open source) que fornece serviços de arquivo e impressão para clientes Microsoft Windows. Esses clientes podem se conectar e usar arquivos armazenados dentro do FreeBSD como se fosse uma unidade de disco local ou impressoras FreeBSD como se fossem impressoras locais.
Os pacotes Samba devem ser incluídos na mídia de instalação do FreeBSD. Se você não instalou o Samba quando instalou o FreeBSD pela primeira vez, então você pode instalá-lo a partir da porta ou pacote net/samba3.
Arquivo de Configuração SMB.CONF do Samba no FreeBSD
Um arquivo de configuração Samba padrão é instalado como /usr/local/share/examples/samba/smb.conf.default. Este arquivo deve ser copiado para /usr/local/etc/smb.conf e personalizado antes que o Samba possa ser usado.
O arquivo smb.conf contém informações e configurações que são executados durante a execução do Samba. Dentre essas informações e configurações podemos citar: definições das impressoras e “compartilhamentos do sistema de arquivos” que você gostaria de compartilhar com clientes Windows.
O pacote Samba inclui uma ferramenta baseada na web chamada swat, que fornece uma maneira simples de configurar o arquivo smb.conf.
Usando a Samba Web Administration Tool (SWAT)
O Samba Web Administration Tool (SWAT) é executado como um daemon do inetd. Portanto, a seguinte linha em /etc/inetd.conf deve ser descomentada antes que o swat possa ser usado para configurar o Samba:
swat stream tcp nowait/400 root /usr/local/sbin/swat swat
A configuração do inetd deve ser recarregada após a alteração desse arquivo de configuração.
# /etc/rc.d/inetd reload
Uma vez ativado o swat em inetd.conf, você pode usar um navegador para se conectar a http://localhost:901 Você primeiro terá que fazer logon(acessar) com a conta root do sistema.
Depois de fazer logon com sucesso na página principal de configuração do Samba, você pode navegar pela documentação do sistema ou começar clicando na guia Globals. A seção Globals corresponde às variáveis definidas na seção [global] de /usr/local/etc/smb.conf.
Configurações Globais do smb.conf
Ao acessar o arquivo smb.conf, ou via swat ou não, veremos que o smb.conf é divido em partes, seções. A primeira seção é a [Global]. Qual quer configuração aqui feita será global 🙂 aplicada em todo o samba.
Como dito logo acima, não importa se você estiver usando swat ou editando /usr/local/etc/smb.conf diretamente com um editor de texto como vim ou vi, tanto faz, mas é bom saber que as primeiras diretivas ou termos que você provavelmente encontrará ao configurar o Samba, dentro da seção [Global] são:
- workgroup que é o NT Domain-Name ou Workgroup-Name para os computadores que acessarão este servidor.
- nome netbios que é define o nome NetBIOS pelo qual um servidor Samba é conhecido. Por padrão, é o mesmo que o primeiro componente do nome DNS do host. Clique aqui para ver uma série de artigos sobre netbios.
- server que definirá a string(texto) que será exibida com o comando net view e algumas outras ferramentas de rede que procuram exibir um texto descritivo sobre o servidor.
Configurações de Segurança do smb.conf
Duas das configurações mais importantes em /usr/local/etc/smb.conf são o modelo de segurança escolhido e o formato de senha de back-end para usuários clientes. As seguintes diretivas controlam essas opções:
security
As duas opções mais comuns aqui são security = share e security = user. Se seus clientes usam nomes de usuário que são iguais aos seus nomes de usuário em seu FreeBSD, então você vai querer usar security = user. Esta é a política de segurança padrão e exige que os clientes façam logon antes de poderem acessar os recursos compartilhados.
Com security = share, o cliente não precisa fazer 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 tem vários modelos diferentes de autenticação de back-end. Você pode autenticar clientes com LDAP, NIS+, um banco de dados SQL ou um arquivo de senha modificado. O método de autenticação padrão é smbpasswd, e isso é tudo o que será abordado aqui.
Supondo que o back-end smbpasswd padrão seja usado, o arquivo /usr/local/private/smbpasswd deve ser criado para permitir que o Samba autentique clientes. Se você deseja conceder às suas contas de usuário UNIX® acesso de clientes Windows, use o seguinte comando:
# smbpasswd -a username
Mas, desde o Samba 3.0.23c, o diretório real para arquivos de autenticação é /usr/local/etc/samba. O back-end recomendado agora é tdbsam e o seguinte comando deve ser usado para adicionar contas de usuário:
# pdbedit -a -u username
Iniciando o Samba
A porta net/samba3 adiciona um novo script de inicialização, que pode ser usado para controlar o Samba. Para habilitar este script, para que possa ser usado, por exemplo, para iniciar, parar ou reiniciar o Samba, adicione a seguinte linha ao arquivo /etc/rc.conf:
samba_enable="YES"
Ou, para controle mais refinados:
nmbd_enable="YES" smbd_enable="YES"
também configurará o Samba para iniciar automaticamente no momento da inicialização do sistema.
É possível então iniciar o Samba a qualquer momento digitando
# /usr/local/etc/rc.d/samba start
Na verdade, o Samba consiste em três daemons separados. Você deve ver que os daemons nmbd e smbd são iniciados pelo script samba. Se você ativou os serviços de resolução de nomes winbind em smb.conf, também verá que o daemon winbindd foi iniciado.
Você pode parar o Samba a qualquer momento digitando:
# /usr/local/etc/rc.d/samba stop
Samba é um pacote de software complexo com funcionalidade que permite ampla integração com redes Microsoft Windows. Para obter mais informações sobre a funcionalidade além da instalação básica descrita aqui, consulte http://www.samba.org.