Exemplo de smb.conf

[global]

# Grupo de trabalho/ Domínio

Workgroup = ORION

# Nome da maquina do ambiente de rede

Netbios name = ORION

# Comentário no ambiente de rede

Server string = Servidor de Arquivos Samba

#Verifica de tempo em tempo se as estações Windows estão respondendo

Keepalive = 20

# Para evitar que senhas sejam descobertas através de análise de pacotes circulando na rede

Encrypt passwords = Yes

# Tamanho mínimo da senha

min passwd length = 4

# Problemas com a sincronização em maquinas Windows 2000

Unix password sync = Yes

# Local do arquivo de log

Log file = /samba/log/%U.%m

# Tamanho Máximo de arquivos de log

Max log size = 450

# Melhor Desempenho

Socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

# Arquivo de lote que será executado no logon

Logon script = netlogon.bat

# Segurança por usuário, vai permitir que o usuário logue-se em qualquer estação configurada.

Security = user

# Domain logon vai permitir que sejam feitos logons no samba

Domain logons = Yes

# SO level é um valor que é usado na disputa pelo PDC, servidores Windows usam o valor 32.

OS level = 100

Preferred master = Yes

# Mestre do domínio

Domain master = Yes

# IPs de conexão ao samba

Hosts allow = 192.168. 127.0.0.1

Interfaces = 192.168.1.1

# Carregar ou não impressoras

Load printers = no

# Para que os arquivos criados fiquem em minúsculo

Preserve case = no

Short preserve case = no

Default case = lower

# Diretório onde ficara o arquivo de lote definido acima

Logon path = /samba/netlogon

[Netlogon]

Comment = Network Logon Service

Path = /samba/netlogon

Guest ok = Yes

Browseable = No

# Diretório /usuario, somente o dono do mesmo pode acessar.

[Homes]

Comment = Homes Directories

Path = /samba/home/%U

Valid users = %U

Guest ok = Yes

Force create mode = 0755

Force directory mode = 0755

Browseable = No

Depois de configurar o arquivo, verifique se a conta root do sistema foi cadastrada no Samba e se as senhas estão iguais. Caso necessário, use o comando "smbpasswd -a root" para cadastrar o root.

Aproveite para criar a pasta "/samba/netlogon" e configurar corretamente as permissões:

# Mkdir -p /samba/netlogon

# Chmod 775 /samba/netlogon

Com o "775" estamos permitindo que além do root, outros usuários que você adicionar no grupo possam alterar o conteúdo da pasta. Isso pode ser útil caso existam outros administradores de rede além de você.

Cadastre agora os logins dos usuários, com as senhas que eles utilizarão para se logar a partir das máquinas Windows. Neste caso não é preciso se preocupar em manter as senhas em sincronismo entre o servidor e as estações. Na verdade, as contas que criamos aqui não precisam sequer existirem nas estações, pois o login será feito no servidor. Para adicionar um usuário de teste "halfling", use os comandos:

# adduser halfling

# smbpasswd -a halfling

Por último, é necessário criar o arquivo "/samba/netlogon/netlogon.bat", um script que é lido e executado pelos clientes ao fazer logon. Você pode fazer muitas coisas através dele, mas um exemplo de arquivo funcional é:

Net use H: \\fileserver\homes

Net use P: \\fileserver\publico

Net time \\fileserver /set /y

Este script faz com que a pasta home de cada usuário (compartilhada pelo Samba através da seção "homes") seja automaticamente mapeada como a unidade "H:" no cliente, o que pode ser bastante útil para backups, por exemplo. Naturalmente, cada usuário tem acesso apenas a seu próprio home.

A segunda linha é um exemplo de como fazer com que determinados compartilhamentos do servidor sejam mapeados no cliente. O "net use x: \\192.168.10.1\publico" faz com que o compartilhamento "arquivos" (que precisaria ser configurado no smb.conf) seja mapeado como o drive "P:" nos clientes. A terceira linha sincroniza o relógio do cliente com o do servidor.

Lembre-se que o "fileserver" dentro do netlogon.bat deve ser substituído pelo nome do seu servidor Samba, configurado na opção "netbios name =" do smb.conf.

Mais uma configuração útil (porém opcional) é fazer com que o servidor armazene os arquivos e configurações do usuário (recurso chamado Roaming Profiles), fornecendo-os à estação no momento em que o usuário faz logon. Isto permite que o usuário possa trabalhar em outras máquinas da rede e faz com que seus arquivos de trabalho sejam armazenados no servidor, diminuindo a possibilidade de perda de dados.

Por outro lado, isto faz com que seja consumido mais espaço de armazenamento do servidor e aumenta o tráfego da rede, já que os arquivos precisam ser transferidos para a estação a cada logon. Isto pode tornar-se um problema caso os usuários da rede tenham o hábito de salhome muitos arquivos grandes na área de trabalho.

Note que o servidor não armazena todos os arquivos do usuário, apenas as configurações, entradas do menu iniciar, cookies, bookmarks e arquivos temporários do IE e o conteúdo das pastas Desktop, Modelos e Meus Documentos.

[publico]

comment = Diretorio Publico

path = /samba/publico

available = yes

public = yes

browseable = yes

writable = yes

guest ok = yes

force create mode = 777

force directory mode = 777

[aplicativos]

comment = Diretorio de Aplicativos

path = /samba/aplicativos

available = yes

public = yes

browseable = yes

writable = no

guest ok = yes

force create mode = 775

force directory mode = 775

# Compartilhamentos da empresa

[almoxarifado]

comment = Diretorio de Almoxarifado

path = /samba/almoxarifado

valid users = @almoxarifado

writeable = Yes

write list = @almoxarifado

force user = almoxarifado

force group = almoxarifado

browseable = no

[assistencia]

comment = Diretorio de Assitencia

path = /samba/assistencia

valid users = @assistencia

writeable = Yes

write list = @assistencia

force user = assistencia

force group = assistencia

browseable = no

[compras]

comment = Diretorio de Compras

path = /samba/compras

valid users = @compras

writeable = Yes

write list = @compras

force user = compras

force group = compras

browseable = no

[diretoria]

comment = Diretorio de Diretoria

path = /samba/diretoria

valid users = @diretoria

writeable = Yes

write list = @diretoria

force group = diretoria

force user = diretoria

browseable = no

[financeiro]

comment = Diretorio de Financeiro

path = /samba/financeiro

valid users = @financeiro

writeable = Yes

write list = @financeiro

force group = financeiro

force user = financeiro

browseable = no

[pessoal]

comment = Diretorio de Departamento Pessoal

path = /samba/pessoal

browseable = no

valid users = @pessoal

writeable = Yes

write list = pessoal

force group = pessoal

[producao]

comment = Diretorio de Producao

path = /samba/producao

valid users = @producao

writeable = Yes

write list = @producao

force user = producao

force group = producao

browseable = no

[vendas]

comment = Diretorio de Vendas

path = /samba/vendas

valid users = @vendas

writeable = Yes

write list = @vendas

force user = vendas

force group = vendas

browseable = no

# Comment - Comentário da Pasta.

# Valid Users - Usuários válidos.

# Path - Local onde estará localizada a pasta.

# Avaliable - Habilita o Compartilhamento .

# Public - Qualquer usuário pode conectar-se a este compartilhamento.

# Browseable - Visualização Publica.

# Writable - Permissão de gravação.

# Guest ok - Permissão para convidados.

# Force Create mode - É a máscara de criação de direitos para arquivos.

# Force Directory mode - É a máscara de criação de direitos para pastas.

# Valid users - Usuários com permissão de acesso à pasta.

# Force user - Força que determinado usuário seja o manipulador da sessão.

# Force group – Força que determinado grupo seja o manipulador da sessão.

# Write list – Lista dos usuários com permissão de gravação.