Passo a passo para a montagem de um servidor Samba PDC no Debian 3.1 em modo texto e a personalização do servidor para auto-configurar o ClamWin antivírus nas estações, fazendo com que ele se atualize automaticamente, efetue verificações agendadas e informe no e-mail do administrador os vírus encontrados.
Já que o artigo é dedicado ao Debian, vamos utilizar os
próprios repositórios da distribuição para instalar o
servidor Samba:
# apt-get install samba
O mesmo comando serve para distribuições derivadas como o
Conectiva e Ubuntu. Se ainda preferir, baixe o código fonte
no site oficial (www.samba.org) e compile, mas isso não será tratado aqui.
Ao término o Samba já estará instalado. Agora vamos configurá-lo...
Os arquivos de configuração do Samba estão no
diretório /etc/samba, podendo variar de acordo com a distro.
O principal arquivo é o smb.conf. Como
base, abaixo segue o meu smb.conf comentado para que você o
adapte a sua rede.
No decorrer do arquivo você encontrará referências a usuários
e grupos. A manipulação desses usuários será tratado no
próximo capítulo.
Segue o arquivo /etc/samba/smb.conf:
#
# SERVIDOR SAMBA PDC - DEBIAN GNU/LINUX
#
# POR TIAGO ANDRÉ GERALDI
#
[global]
# Na sessão Global está definido a forma como o
# servidor samba irá funcionar.
# Acompanhe com atenção cada campo...
# No workgroup vai o nome do grupo de trabalho ou Domínio,
# No nosso caso, sendo um PDC, é o nome de Domínio.
workgroup = empresa
# netbios name, o nome do servidor na rede
netbios name = SERVER
# A descrição do servidor para a rede
server string = PDC SERVER LINUX
# Usuário Administrador de Domínio.
# Esses usuários serão administradores do domínio.
# São eles que adicionaram os hosts Windows no domínio
# entre outras funções administrativas.
# Pode ser informado vários usuários
# separados por espaços e /ou grupos. No exemplo, usuários
# tiago, darci e o grupo cpd serão os administradores
admin users = tiago darci @cpd
# O PDC é um servidor de data e hora ?
# habilitamos essa função e posteriormente faremos os
# computadores da rede sincronizar seu relógio com o servidor
time server = yes
# No caso de haver mais de um PDC na rede, de repente um
# servidor Windows NT, as próximas linhas
# dizem se este servidor é o principal PDC e em OS LEVEL
# o valor de concorrências com os outros.
# Deixe assim como está se só houver um PDC na rede.
preferred master = yes
domain master = yes
os level = 100
# O Servidor aceitará Logon dos usuários nas estações
domain logons = yes
local master = yes
# As próximas duas linhas referem-se aos diretórios
# onde seriam armazenados os profiles dos usuários.
# No nosso caso, o servidor não guardará essas informações,
# elas ficaram salvas localmente em cada estação, por isso
# as tags ficam vazias.
logon path =
logon home =
logon script = todos.bat
# Script a ser executado pelos usuários quando fizerem logon.
# Os scripts deverão estar dentro da pasta NETLOGON que
# veremos adiante o seu compartilhando, também devem ser .bat
# para que o Windows possa executá-lo.
# Neste caso temos um único script para todos os usuários,
# Você pode definir scripts individuais com o nome do usuário
# ex: tiago.bat. Aqui na configuração coloque:
# logon script = %u.bat
# ou ainda conforme o grupo do usuário
# logon script = %g.bat
security = user
# Security: nível de acesso, pode ser user ou share.
# User, temos um controle de autenticação por usuário, cada
# usuário tem suas permissões de acesso. Já como share,
# temos um compartilhamento simples onde todos acessam
# tudo sem nenhum controle.
# O servidor aceitará usuários sem senha?
# Eu prefiro deixar No
null passwords = no
# Habilita senhas criptografadas, é importante a habilitação
# para compatibilidade com Windows 2000 e XP
encrypt passwords = true
# IPs ou hostnames dos micros da rede
# importante para a segurança, evita conexões indesejadas.
# A classe de IPs da minha rede é 10.1.0.0 talvez a sua
# seja 192.168.0.0, mude de acordo. 127. diz respeito
# ao localhost, o próprio servidor.
hosts allow = 10.1.0. 127.
# arquivo de log do samba
log file = /mnt/sda7/logs/samba/log.%m
# tamanho máximo do arquivo de log em KBs
max log size = 10000
# Nível de detalhes do arquivo log
# altere de 1 a 5 e verifique as diferenças
log level = 2
debug level = 2
##########################################
### Aqui finda a seção homes. Agora em diante vem os
### compartilhamentos e suas configurações.
###########################################
# O compartilhamento netlogon é obrigatório
# nele ficará os scripts de logon dos usuários.
# Defina o path, especificando onde está a pasta netlogon
# não esqueça de criá-la também depois.
# Estamos definindo abaixo que o compartilhamento não
# será navegável e que será somente leitura.
[NETLOGON]
comment = Serviço de logon
path = /mnt/sda7/netlogon
browseable = no
read only = yes
# Criamos abaixo um compartilhamento público para todos
# acessarem livremente e trocarem arquivos. Ele é
# navegável (browseable=yes), arquivos somente leitura
# podem ser apagados (delete readonly=yes), gravável
# (writable), publico (usuários anônimos também acessaram) e
# disponível (available). Em veto files, defini extensões
# de arquivos que não poderão gravadas, afim de evitar
# abusos. Em create mode, está definido que os arquivos
# criados poderão ser alterados por qualquer um, não
# somente pelo dono, exemplo diferente você verá mais abaixo
[publico]
browseable = yes
delete readonly = yes
writable = yes
path = /mnt/sda7/publico
create mode = 0777
available = yes
public = yes
veto files = /*.mp3/*.wma/*.wmv/*.avi/*.mpg/*.wav/
# O compartilhamento abaixo segue a mesma estrutura,
# a diferença é que só os usuários do grupo adm
# poderão acessá-lo.
[administracao]
path = /mnt/sda6/adm
available = yes
browseable = yes
create mode = 0777
writable = yes
valid users = @adm
# Abaixo temos um compartilhamento com force file mode=700,
# desta maneira os arquivos criados só poderão ser lidos ou
# alterados pelo usuário que os criou.
[bkps]
path = /mnt/sda7/bkps
available = yes
browseable = yes
writeable = yes
force file mode = 700
veto files = /*.mp3/*.wma/*.wmv/*.avi/*.mpg/
# Agora é só ir criando os compartilhamentos que você precisa
# da mesma maneira. Repare que não temos a seção Homes
# comumente vista nos exemplos de smb.conf porque realmente
# não vamos precisar dela.
[2] Comentário enviado por virgulla em 28/07/2006 - 14:14h
Sim, porém deve se lembrar que o AVG e o Avast são antivirus pagos. Quanto as autualizações, não há grandes problemas porque são arquivos muito pequenos, a atualização ocorre muito rapidamente, mesmo assim, a solução prática seria um proxy com cache na rede, uma estação se atualiza e as demais apenas buscam no proxy.
[8] Comentário enviado por virgulla em 04/04/2007 - 14:33h
basicamente voce pode olhar no arquivo /etc/smbpasswd as linhas cujo nome termina com $, porém nao é pratico já que o arquivo mistura os usuarios normais tambem. Você algum filtro no comando cat para ele exibir apenas as maquinas, mas sei ao certo como fazer. Outra solucao é usar um configurador web para o samba, o Swat ou Webmin, neles voce vai poder listar facilmente varias informacoes.
[9] Comentário enviado por fernandoborges em 05/11/2007 - 15:31h
Brother,
Primeiramente parabéns pelo tutorial. Gostaria de saber se há como eu montar um repositório das atualizações no meu PDC Debian em minha rede interna. Ela não acessa a Internet, logo os clientes não têm como atualizar o antivirus. Pensei em baixar as atualizações e aplicá-las numa pasta no PDC, de onde as estações fariam o download das atualizações. Teria como fazer isso??? Obrigado...
[10] Comentário enviado por shadowfox em 07/11/2007 - 15:32h
Pessoal... Tem cmo atualizar o banco de dados de virus nas maquinas tb... Instala o clamav no servidor, ativa o crontab diario para atualizar o clamav executando o freshclam. Depois é só copiar o daily.cvd e main.cvd do diretório /var/lib/clamav/ para o diretorio %profile%/.clamwin/db usando o todos.bat na hora do logon.
hehehehe.. Isso até rola como dica para o site!!!!
[12] Comentário enviado por osmarklein em 28/02/2008 - 09:38h
Parabéns pelo Artigo!! Eu uso o Debian em dois servidores distintos e estou fazendo os testes baseado no seu artigo para eliminar meu Win2K Server PDC da rede.
Eu tenho no W2KServer uma opção de definir horários para logon de usuários no domínio. É possível fazer isto no Samba PDC?