Olá pessoal,
abaixo segue um arquivo do samba "smb.conf" feito no CentOs6.2, com este arquivo você tem:
* Domínio
* Troca de senha do usuário pelo Windows
* Script de logon
* Log de auditoria
* Compartilhamento de arquivos
* Lixeira
#******CONFIGURACOES DO SAMBA******
[global]
#Grupo de trabalho ao qual o servidor pertence
workgroup = HOERLLE
#Nome do servidor, atraves do qual sera identificado na rede Windows
netbios name = PDC
#String de identificacao do servidor: NAO AFETA EM NADA AS CONFIGURACOES
server string = Servidor PDC
domain master = yes
domain logons = yes
#Script de inicializacao que os usuarios utilizarao ao logar no dominio
logon script = netlogon.bat
#Se estiver configurando o servidor como controlador de dominio a opcao deve ser "USER"
security = user
#Encrypt passwords deve estar ativado para conversar com maquinas windows, pois as mesmas usam criptografia desde a versao Windows 95 OSR/2 e Windows NT4 SP3
encrypt passwords = yes
#Clientes poderao trocar sua senha de login
password sync = yes
enable privileges = yes
#Base de dados com as senhas dos usuarios que serao utilizados. O recomendado para nosso dominio samba em uma rede com muitos usuarios e o TDBSAM.
#Em casos onde nao estamos utilizando um dominio pode ser utilizado o backend "SMBPASSWD"
#Para verificar os usuarios cadastrados na base TDBSAM de o comando "pdbedit - Lw" no linux.
#Em casos onde usamos o LDAP o nosso paramaetro aqui sera o "ldapsam"
passdb backend = tdbsam
# Level para ganhar a "eleicao" para ser o "mestre" a montar e atualizar a lista de compartilhamentos disponiveis e envialas aos demais recursos da rede.
# Os clientes Windows tambem fazem esse trabalho, definindo este valor como 100 o Samba sempre ganhara a eleicao das maquinas WIndows.
# O samba faz este trabalho muito bem e por isso normalmente definimos para ele fazer essa tarefa.
# Obs importante: Nunca colocar dois servidores samba na rede com o mesmo OS Level e a opcao Preferred Master ativada, eles iniciarao uma disputa fazendo com
#que a rede fique intermitente.
os level = 100
# Usando o mesmo criterio acima, quando a opcao local master esta como "YES" isso faz com que o samba convoque uma nova eleicao sempre que ele achar
#necessario para defender sua "candidatura".
local master = yes
#Ainda no mesmo criterio acima se a opcao "preferred master" estiver ativada, no caso de um empate na "eleicao" o servidor samba sera escolhido
preferred master = Yes
#Deixar ativada para o samba atuar como servidor Wins.
#Wins e um protocolo auxiliar dentro das redes microsoft responsavel pela navegacao na rede, listagem de compartilhamentos, etc
#A rede vai funcionar bem sem WINS mas sem ele os clientes passam a usar pacotes de broadcast para navegacao aumentando o trafego na rede.
#E necessario configurar os clientes para utilizar o servidor Wins. No Windows e feito nas avancadas do TCP IP
#Se tiver um servidor DHCP e possivel parametrizar para enviar a configuracao do WINS automaticamente
#No linux para configurar um cliente basta add a opcao "WINS SERVER = IP DO SERVIDOR" na configuracao do SAMBA.
wins support = Yes
#A opcao "wins server" deve ser deixada em branco a menos que tenha outro servidor Wins na rede.
wins server =
#Limita para o samba ser acessado apenas pela(s) placa de rede selecionada
interfaces = eth1
bind interfaces only = yes
#Ao logar no dominio ele pode procurar um perfil remoto, se deixarmos o logon path em branco ele cria um diretorio local no windows para o usuario de dominio
logon path =
#Com estas opcoes ativadas, ao alterar a senha de um usuario com o "smbpasswd" automaticamente ele altera a senha do usuario local no linux como se voce desse tambem um "passwd"
#unix password sync = yes
#passwd program = /usr/bin/passwd %u
#passwd chat = "Changing password for*\nNew password*" %n\n "*Retype new password*" %n\n"
#A opcao abaixo faz o linux testar ate X niveis o usuario digitado para autenticar no samba. Acontece que o linux nao é case sensitive como o Windows.
#Desta maneira se o usuario no linux tiver a primeira letra minuscula e no windows for digitado com ela em maiusculo dara erro
#Como exemplo a nossa opcao esta setada para 2 e o teste do usuario "vini" ficaria assim "VIni" "vINi" "Vini" "vInI"
#username level = 2
#Essas duas linhas fazem o servidor salvar os arquivos nos diretorios todos com letras minusculas, agilizando assim a busca devido a problemas case sensitive.
#preserve case = no
#default case = lower
#Esta opcao deve incluir a faixa de IP ou os Ip's dos computadores que podem acessar o servidor
#Se for definir uma faixa inteira pode digitar apenas 192.168.30 ou 10.1.1 por exemplo
#hosts allow = 192.168.30
#Esta opcao faz o contrario da opcao acima, aqui voce pode dizer quais maquinas nao podem acessar o servidor
#hosts deny = 192.168.30.90
#******AUDITANDO ACESSOS NO LINUX******
#A partir da versao SAMBA 3.04 podemos utilizar desta forma
#A configuracao abaixo pode ser usada na sessao GLOBAL para pegar todos os compartilhamentos ou na configuracao de cada compartilhamento
#Apos fazer toda a configuracao abaixo e necessario ainda editar o arquivo /etc/syslog.conf e add a linha: local5.notice /var/log/samba-full_audit.log
#Ativa a auditoria
vfs objects = full_audit
#Define quais operacoes serao auditadas
full_audit:sucess = open, opendir, write, unlink, rename, mkdir, rmdir, chmod, chown
#Onde cada opcao se trata de:
#open = ler um arquivo
#opendir = ver os arquivos dentro de uma pasta
#write = alterar um arquivo
#unlink = deletar um arquivo
#rename = renomear um arquivo
#mkdir = criar um diretorio
#rmdir = remover um diretorio
#chmod = alterar as permissoes de acesso de um diretorio
#chown = mudar o dono de um arquivo
#Define as informacoes que serao incluidas no log
full_audit:prefix = %u|%I|%S
#Onde cada opcao se trata de
#%u = Nome do usuario. %I = IP do computador. %S = Nome do compartilhamento onde foi feito a acao.
#Evita que um grande volume de mensagens de alerta sejam logadas
full_audit:failure = none
#Configura o nivel dos alertas
full_audit:facility = local5
full_audit:priority = notice
#******COMPARTILHAMENTO DE ARQUIVOS ******
#Algumas opcões que podem ser utilizadas
#path = /dados #Caminho do diretorio a ser compartilhado
#comment = Arquivos #Comentario sobre o diretorio
#read only = yes/no #Diretorio sera ou nao apenas para leitura
#hosts allow = #Aqui voce coloca os IP's ou faixa de Ip's que terao acesso a esse compartilhamento, obs. Se definido este parametro na secao GLOBAL, vale o da GLOBAL.
#hosts deny = #Aqui voce coloca os IP's ou faixa de IP's que nao terao acesso a esse compartilhamento, obs. Se definido este parametro na secao GLOBAL, vale o da GLOBAL.
#browseable = yes/no #Define se o compartilhamento sera visivel na rede ou sera oculto
#available = yes/no #Define se o compartilhamento esta ou nao ativo
#writable = yes #Define permissao de leitura e escrita para o compartilhamento
#valid users = usuario, +grupo #Ao definir esta opcao todos os outros usuarios e grupos que nao estiverem aqui listados, nao terao acesso ao compartilhamento
#invalid users = usuario, +grupo #Funciona da mesma forma que "valid users" porem ao contrario.
#write list = joao #Se voce definir o grupo "arquivos" no valid users, o joao faz parte desse grupo e como apenas ele esta no write list, so ele vai poder alterar os arquivos
#Para usar esta opcao, a opcao writable deve estar setada como NO
[netlogon]
comment = Servico Logon
path = /var/samba/netlogon
browseable = No
[dados]
comment = Dados
path = /dados
browseable = yes
write list = vinicius
#Ativa a lixeira do samba
vfs object = recycle
#Define o diretorio onde serao jogados os arquivos deletados, nesse caso utilizamos o parametro %U para criar um diretorio para cada usuario com seus arquivos deletados.
recycle:repository = /dados/lixeira/%U
#Organiza os arquivos deletados da mesma forma como estavam dentro do diretorio original
recycle:keeptree = yes
#Evita que os arquivos com estas extensoes sejam guardados na lixeira
recycle:exclude = *.iso, *.avi, *.divx
#Evita que os diretorios listados sejam guardados na lixeira
recycle:exclude_dir = tmp
#Guarda varias versoes do mesmo arquivo deletado. Ex: samba1.txt samba2.txt samba3.txt
recycle:versions = yes
#OBS: Caso deseje ativar a lixeira para todos compartilhamentos, pode-se definir sua configuracao na sessao GLOBAL.
#*********************OUTRAS CONFIGURACOES**********************#
#Com a configuracao acima, basta reiniciar o servidor samba que seu dominio estara criado. Porem ainda precisamos cadastrar a conta root no samba, criar os usuários que pertencem a esse domínio e também é necessário criar uma conta bloqueada para cada computador que adicionaremos aqui.
#Precisamos ainda criar o diretorio "Netlogon" onde ficara o arquivo de incializacao dos usuarios e o diretorio profile.pds. O profile.pds é onde o Windows armazena as informacoes de sessão cada vez que o usuário loga no dominio
#Precisamos adicionar no arquivo /etc/shells a linha: /bin/false
#Para cadastrar a conta root no samba
#smbpasswd -a root
#Para criar o diretorio profile.pds
#Vamos cria-lo dentro de /etc/skel/ assim automaticamente sera criado para cada usuario
#mkdir /etc/skel/profile.pds
#Para criar o diretorio netlogon
#mkdir -p /var/samba/netlogon
#chmod 775 /var/samba/netlogon
#Edite o arquivo /etc/shells e adicione a linha "/bin/false" sem as aspas
#Para cadastrar usuarios de dominio
#adduser vinicius
#smbpasswd -a vinicius
#Para cadastrar a conta de maquina que quer entrar no dominio
#useradd -d /dev/null -s /bin/false WINXP$
#passwd -l WINXP$
#smbpasswd -a -m WINXP
#ONDE -d /dev/null significa que a conta nao tem um diretorio HOME
#-s /bin/false significa que nao possui um shell valido
#passwd -l significa que esta travada
#-m significa que e uma conta de maquina
#Crie dentro de /var/samba/netlogon o arquivo netlogon.bat
#Nesse arquivo voce pode configurar para mepar uma unidade por ex. quando o usuario fizer logon no dominio
#net use X: \\192.168.0.10\dados /yes
#***********************OUTRAS OBSERVACOES************************#
#Se voce estiver com o SELINUX e/ou IPTABLES ativado e nao configurados corretamente, pode ocorrer uma falha ao add um computador no dominio. Isso ocorre devido ao bloqueio gerado por uma das duas ferramentas.