Para máquinas se comunicarem em rede e trocarem recursos, como compartilhamento de arquivos, impressoras, autenticação, mapeamento de usuários etc, temos o samba (SMB - Server Message Block) que implementa o protocolo NetBEUI do Windows, servindo como um poderoso recurso para interligar redes heterogêneas. O Samba foi criado pelo australiano Andrew Tridgell com o objetivo de resolver seus problemas de integração com um servidor Unix e uma máquina rodando DOS. Na época, o protocolo SMB não tinha sua especificação aberta pela Microsoft o que obrigava a utilizar a engenharia reversa para resolver o problema, utilizando para isso Packet Sniffer. Em pouco tempo, após decifrar o modo de operação do protocolo, Andrew conseguiu fazer com que seu servidor Unix aparecesse na rede NetBIOS como um servidor de arquivos. A partir de 1992 Adrew continuou a trabalhar no código e para conectar seu computador rodando Linux com o computador da sua esposa rodando Windows, utilizou seu próprio código, tendo como surpresa sucesso. Neste ínterim, a Microsoft tornou publica a especificação do SMB e da arquitetura NetBIOS. Desde então o Samba cresce como uma excelente alternativa de servidor. O nome Samba se deu devido o SMB já ser um nome comercial registrado, então, Samba foi escolhido por ser uma palavra que contém as letras SMB.
Apesar de o Samba poder ser usado como um grupo de trabalho (workgroups) Sysadmins exigentes, ou experientes preferem sempre o modo de PDC , onde o acesso ao domínio não é livre e necessita de ajustes no Sampa para que as máquinas clientes sejam adicionadas ao domínio. Com isto, apesar do trabalho extra inicialmente, ganha-se em segurança pois cada equipamento na rede tem uma função bem definida no controlador de domínio e as permissões para acesso aos recursos. No modo grupo de trabalho, as permissões precisam ser setadas por ip de máquina e estas não tem uma relação de confiança estabelecida o que enfraquece a política de segurança.
Uma outra vantagem da utilização de um Domínio de Rede através do Samba, é a redução de tráfego indesejado de máquinas Windows se anunciando em rede. O Samba trabalha muito bem com isso e uma vez bem configurado, recebe as listas de recursos de outras máquinas através de broadcasting e indexa localmente todos os recursos disponíveis. Assim, permite um barramento de rede mais limpo a medida que o Samba se torne um Local Master Browser. Reforçando, uma rede sem um Local Master Browser, sempre terá suas estações Windows brigando para vencerem eleições na rede, elevando o tráfego de dados e gerando "ruídos" no barramento. Estas "eleições", acontecem a cada 36 minutos ou a cada vez que o LMB seja removido ou desligado.
O Samba também pode ser configurado para ser um servidor Wins e assim reduzir tráfego de broadcast para aplicações que utilizam resolução de nomes NetBIOS. Esta função do samba é ativada ao utilizá-lo como um DMB (Domain Master Browser) que se encarrega de propagar uma lista de recursos para computadores envolvidos em um Domínio.
Estruturas maiores, podem requerer além do PDC (Primary Domain Controller), um BDC (Backup Domain Controller) o que aumenta a disponibilidade em caso de falhas no servidor principal.
Este pequeno artigo NÃO é um tutorial, no entanto, vou disponibilizar minha versão do smb.conf e indico o Guia Foca Linux para estudo aprofundado, comparando as opções e sua indicação no Guia. Para saber sobre o Samba, utilize a versão avançada do manual. Perguntas nos comentários são sempre bem vindas.
#======================= Global Settings =======================
[global]
workgroup = NOMEDOWORKGROUP
netbios name = SERVER
hosts allow = 192.168.0.0/24
admin users = cpd
domain master = yes
preferred master = yes
local master = yes
time server = yes
server string = %h server
wins support = yes
wins proxy = no
dns proxy = no
max wins ttl = 518400
min wins ttl = 21600
name resolve order = lmhosts host wins bcast
interfaces = 127.0.0.0/8 eth0
bind interfaces only = yes
log file = /var/log/samba/log.%m
follow symlinks = yes
debug level = 0
debug timestamp = yes
max log size = 1000
syslog only = no
syslog = 0
os level = 120
panic action = /usr/share/samba/panic-action %d
security = user
smb passwd file = /etc/samba/smbpasswd
encrypt passwords = yes
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
domain logons = yes
logon path = \\%N\%U\profile
logon drive = U:
logon script = logon.bat
unix charset = iso8859-1
display charset = cp850
logon home = \\%L\%U\.profiles
logon path = \\%L\profiles\%U
add machine script = /usr/sbin/useradd -g pdc -c "Maquina de dominio" -s /bin/false -d /dev/null %u
preserve case = no
short preserve case = no
case sensitive = no
default case = lower
#======================= desempenho, misc =======================
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
read raw = yes
write raw = yes
oplocks = yes
max xmit = 65536
getwd cache = yes
message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' &
idmap uid = 10000-20000
idmap gid = 10000-20000
template shell = /bin/bash
preexec = /bin/mount /cdrom
postexec = /bin/umount /cdrom
#======================= Share Definitions =======================
[homes]
comment = Pasta %U
browseable = no
writable = yes
valid users = %S
[netlogon]
comment = Network Logon Service
path = /var/samba/netlogon
writable = no
browseable = no
[profiles]
path = /var/profiles
browseable = no
writable = yes
create mask = 0600
directory mask = 0700
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = no
read only = yes
create mask = 0700
#======================= Impressao =======================
load printers = yes
printing = cups
printcap name = cups
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
; write list = root, @lpadmin
#======================= impressora pdf =======================
[pdf]
comment = gerador de pdf no home do usuario
path = /var/tmp
guest ok = no
printable = yes
printing = bsd
printcap name = cups
use client driver = yes
print command = /etc/samba/pdf_printer \
"%s" "%H" "//%L/%u" "%m" "%I" "%J" &
lpq command = /bin/true
[cdrom]
comment = Samba server's CD-ROM
read only = yes
locking = no
path = /cdrom
guest ok = yes
[aplic]
comment = Outros tipos de compartilhamentos
path = /aplic
available = yes
browseable = yes
public = yes
guest only = no
writable = yes
force user = suporte
force group = flex
guest account = root
create mode = 0664
directory mode = 0775
veto files = /*.mp3/*.wma/*.wmv/*.avi/*.mpg/*.wav/*.mpeg/
delete veto files = yes
Referências:
0sem comentários ainda
Por favor digite as duas palavras abaixo