Vous êtes sur la page 1sur 8

Samba Comentado

Protoloco SMB (Server Message Block). Vrios sistemas operacionais, incluindo Windows e OS/2,
usam o SMB, o Samba permite que servidores Unix entrem em cena j que estaro se comunicando
com o mesmo protocolo de rede. Para o Microsoft Windows. Portanto uma mquina rodando um
servidor Samba pode ficar mascarado em uma rede Microsoft oferecendo os seguintes servios:
compartilhamento de um ou mais sistema de arquivos (filesystems);
compartilhamento de impressoras tanto no servidor como no cliente;
assistir clientes na navegao do ambiente de rede;
autenticao de clientes logando em domnios Windows;
prover ou assistir com a resoluo de servidores de nome WINS
O samba implementou o protocolo SMB sobre TCP para compartilhamento de arquivos e o UPD
para navegao. SMB pode tambm ser executado sobre outros protocolos de transporte tipo: (IPX
e NetBEUI). O protocolo SMB trabalha com 3 tipos de pacotes so eles:
1 UPD/137 Resoluo de nomes e registros de trafego.
2 UDP/138 Navegao e anncio de trafico.
3 TCP/139 Compartilhamento de arquivos.
Montando Volumes
Voc pode ter a necessidade de acessar um volume de uma mquina Windows a partir do seu
Servidor Linux. Fazer isto no s possvel como muito simples.
O processo deve ser feito atravs da linha de comando. Imagine que voc queira montar o disco C:
da mquina estacao1, que foi compartilhado com o nome C, em seu diretrio /mnt/c no
ServidorLinux.
# smbmount //estacao1/c /mnt/c Para montar o volume
# umount /mnt/c

Para desmontar o volume
Observe que em alguns casos (voc est montando um volume de um servidor Windows NT/XP ou
2000, por exemplo) ser necessrio que voc informe um usurio e
uma senha para poder utilizarem o comandosmbmount

# smbmount //estacao1/c /mnt/estacao1 -o username=usuario,password=minhasenha
# smbclient //meuservidor/diretrio Listar o contedo do diretrio
Outra opo:
Normalmente, o Linux exige a montagem explcita dos volumes. Entretanto, tal montagem obriga a
digitao de uma linha de comando muito longa e nenhum usurio gostaria de ter que digit-la cada
vez que entrasse no sistema.
ex.:#smbmount //estacao1/c /mnt/estacao1 -o username=usuario,password=minhasenha

possvel configurar o sistema para que faa a montagem automtica na inicializao do servidor
atravs do arquivo /etc/fstab
Para adicionar o usurio ele ir solicitar a senha assim que executado o comando:

Criando usurio no SAMBA

# smbpasswd a usurio Usurio ser criado no samba
# smbpasswd x usurio Usurio ser deletado no samba

Algumas opes do comando smbpasswd

-a Cria o usurio no samba
-d Desabilita o usurio no samba
-e Habilita o usurio no samba
-x Deletao usurio no samba
-h - Mostra um menu de ajuda
-n Muda senha do usurio

smbd -> O servidor SAMBA. Responsvel por compartilhar recursos
nmbd -> O Servidor de nomes NetBios Responsvel pela resoluo de nomes
smbclient -> Cliente SMB para sistemas Unix.
smbpasswd -> Alterar senhas de usurios smb.
smbprint -> Cliente para envio de impresao a sistemas Linux.
smbstatus -> Apresenta a situaao atual das conexoes SMB no Host.
testparm -> Verifica o arquivo smb.conf (configuraao do SAMBA).
testprns -> Verifica a comunicaao via rede com as impressoras.
winbind -> Auxilia na autenticao em um domnio AD
testprns -> Verifica a comunicao via rede com as impressoras.
O Samba oferece um comando para verificar a sintaxe do arquivo de configurao
# testparm

Quais as variveis utilizadas pelo servidor Samba?

possvel utilizar algumas variveis no lugar de textos fixos. Dentre diversas variveis disponveis,
apresentamos a seguir as mais significativas:
Nome da mquina (host) %h
Mostra a verso do samba %v
Nome do servio (compartihamento) atual. %S
Nome do usurio %u
Nome do grupo.- %g
Nome do diretrio pessoal do usurio. %H
Nome da mquina cliente fornecido pelo NetBIOS. - %m
Nome do servidor NetBIOS. Permite que a configurao seja alterada com base no cliente que est
acessando o sistema. %L
Nome Internet da mquina cliente. %M
Sistema operacional da mquina remota. So reconhecidos os seguintes valores: WfW, WinNT e
Win95.- %a
O endereo IP da mquina cliente. - %i
Data e horrio.- %t


# CONF DO SAMBA DETALHADO.

# A Seo [global] significa que a configurao especificada abaixo, aplicam-se ao servidor ou so
gerais. Enfim a base para o funcionamento do samba
[global]
# Especifica a quantidade de memria do servidor SAMBA quanto mais melhor, mas 10MB j
bastante para umas 5 a 10 estaes.
;shared mem size = 1048576

# Nome o workgroup que as estaes Windows iro apontar
workgroup = SRVD2D

# Para acessar o servidor, pode ser digitado um nome que voce colocar abaixo ( nome do servidor
samba)
netbios name = File-server

# Observao que ir aparecer sobre o computador, e caso a observao do compartilhamento esteja
vazio o compartilhamento usar essa observao.
server string = Servidor File-server

# Especifica o tipo de servidor nmbd (Servidor de Nomes NetBIOS) que ser divulgado na rede. O
padro igual a Windows NT. As opes vlidas so NT, NT Server, NT Workstation,
Win95 ou WfW . Exemplo:
announce as = NT Server

# O diretrio-base dos logon scripts o volume [netlogon]. No exemplo, se o diretrio de
compartilhamento netlogon for igual a /home/samba/netlogon, o script do usurio evandro seria
procurado em /home/samba/netlogon/evandro.bat
logon script = %U.bat

# Permite ler arquivos grandes em uma nica requisio
read raw = yes

# Permite gravar arquivos grandes em uma nica requisio
write raw = yes

# Permite ao cliente fazer cach de arquivos localmente
oplocks = yes

# Tamanho do bloco de dados a ser gravado de uma vez
max xmit = 65535

# Tempo de espera
dead time = 15

# Armazena em cach o caminho do diretrio corrente
getwd cach = yes

Numero mximo de conexes simultneas
max connections = 10

# Este parmetro define o conjunto de mquinas que podem acessar o servidor samba. Pode-se
utilizar o nome ou o endereo IP da mquina. possvel, por exemplo, restringir o acesso a somente
uma sub-rede de classe C, como em allow hosts = 192.168.5.. Pode-se ainda usar o sub parmetro
EXCEPT para excluir-se alguma(s) mquina(s), como por exemplo:
hosts allow = 192.168. EXCEPT 192.168.0.66 192.168.1.0/255.255.255.0

# Exatamente o oposto do parmetro anterior, j que aqui podem ser listadas todas as mquinas que
no devem ter acesso aos servios.
hosts deny = 192.168.0. minha_mquina.domnio.com.br

# Carrega a configurao das impressoras que esto instaladas no servidor samba
printcap name = /etc/printcap
load printers = yes

# Seleciona o tipo de impresso padro, caso no funcione normalmente. bsd, sysv, plp, lprng, aix,
hpux, qnx
printing = bsd

# Transforma todos os usurios que de algum modo foram indicados como visitantes em usurio
guest
guest account = guest

# Criar um arquivo de log para cada usurio. Ex. log.renato possvel usar %m para obter logs por
maquinas
log file = /var/log/samba/log.%u

# Tamanho mximo permitido para um log.
max log size = 50

# Nvel do log, enquanto maior mais detalhes so mostrados. recomendado usar at 2 e o nvel 0
representa nenhum.
debug level = 1

# Mquinas Windows tendem a travar de tempos em tempos. Este parmetro utilizado para
verificar o estado da conexo, a cada 20 segundos.
keepalive = 20

# Autenticao de usurios Modalidade de segurana security=share: Sem segurana. Todo e
qualquer usurio ser aceito. As operaes de arquivo e impresso sero executadas com as
permisses do usurio UNIX associado ao hspede (guest account = ). Se voc escolher essa
modalidade, verifique se o usurio UNIX ter permisses suficientes para acessar arquivos e, se for
o caso, imprimir. Assim senhas de acesso so solicitadas por recurso compartilhado e no por
usurio. Ou seja cada diretrio ou impressora poder ter uma senha nica conhecida por todos os
usurios autorizados. security=user: Segurana por usurio, local. A senha do usurio reduzida
a letras minsculas e confrontada com a senha UNIX. Essa modalidade de segurana obriga que os
usurios sejam cadastrados no Linux, e suas senhas sejam atribudas corretamente. As operaes
sobre arquivos e de impresso sero feitas com a permisso do respectivo usurio UNIX. Todavia,
pode-se abrir aos hspedes o acesso a determinados volumes ou impressoras para esses objetos, a
segurana operar no estilo SHARE. security=server: Segurana por usurio, remota. O Samba
pega o nome de usurio e a senha, e autentica junto a outro servidor, que poder ser outro Linux
rodando Samba, ou um Windows NT. Apesar da autenticao ser remota, ainda necessrio criar os
usurios UNIX localmente em determinados casos. security=domain: Segurana por usurio,
remota. Praticamente idntica modalidade SERVER, porm convive com instalaes mais
complexas onde existem computadores NT operando como PDCs (primary domain controllers) e
BDCs (backup domain controllers). Nesse modo, mais de um servidor de autenticao pode ser
especificado na linha password server do arquivo de configurao. (O suporte do Samba a domnios
do NT ainda incompleto e deve estar pronto na verso 2.1; por ora, a modalidade DOMAIN no
difere muito da modalidade SERVER.)
security = user

# Para ingressar no DOMNIO DO WINDOWS (Active Directory), VEJA EXEMPLO ABAIXO:
realm = HOSTNAME-DO-WINDOWS
security = ads

# Quando tentarem efetuar um login, e o usurio ou a senha no sejam vlidos, ser repassado para
o usurio visitante: Onde so vlidos: Bad User (mau usurio), bad password (m senha) ou
never (no ser repassado para o usurio visitante).
# map to guest = never

# Servidor onde estao as senhas * aceita qualquer entrada voce pode #indicar o endereco do IP do
servidor
password server = *

#No aceita senhas nulas
null passwords = no

# Especifica o nome do servidor de usurios e senhas, quando especificado security = server
password server = <NT-Server-Name>

# Quando a senha no for vlida tente 8 modos diferentes. Ex.: Para uma senha ou usurio
abcdefgh, tente abcdefgh Abcdefgh aBcdefgh ABCDEFGh ABCDEFGH
password level = 8
username level = 8

# O Windows 98, bem como verses mais recentes do Windows NT Workstation, transmitem
senhas criptografadas no processo de autenticao. Como no possvel usar o mesmo padro de
criptografia, necessrio executar o programa smbpasswd para a criao de senhas criptografadas.
encrypt passwords = yes

# smb passwd file = /etc/smbpasswd usado para sincronizar a alterao de senhas feitas no
windows, para o servidor linux.
unix password sync = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n
*passwd:*all*authentication*tokens*updated*successfully*

# Usurios UNIX no precisam necessariamente ter o mesmo nome dos usurios NetBIOS. A tabela
/etc/smbusers permite estabelecer equivalncias entre nomes dessemelhantes.
username map = /etc/smbusers

# Esta opo um tuning de performance. Em muitos casos ela realmente melhora o desempenho.
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

# o tamanho do pacote de dados enviado para as estaes, normalmente melhor deixar tudo com
16Kb em se tratando de interfaces de rede tipo NE2000
max xmit = 16384

# Esta opo indicara para as mquinas da rede 192.168.0.255, que esta mquina estar no grupo de
trabalho CENTOS, alm do grupo original.
remote announce = 192.168.0.255/CENTOS

# Est opo vai anunciar para outra rede, que existe o workgroup remoto e que pode ser acessado.
remote browse sync = 192.168.2.25 192.168.3.255

#Navegador-mestre local (local master browser) um servidor onde so guardados os nomes das
mquinas que existem na rede windows. Configure a seguinte opo como no se voc no quiser
que o Samba torne-se um mestre local. Do contrrio, as regras normais de eleio que valero. (ou
seja, local master = yes NO garante que o Samba seja o mestre local)
local master = no

# Nvel do sistema operacional, que determina sua preferncia em tornar-se mestre local. Quanto
maior o nmero, maior a chance de o servidor tornar-se um mestre. O padro do windows nt 32.
Evite colocar o mesmo nmero que alguma mquina windows, pois a mesma no gosta de perder
eleies para mquinas linux que tenham o mesmo nmero.
os level = 33

# Se a seguinte linha for configurada como yes, o Samba ser o navegador-mestre do DOMNIO.
No use esta opo se voc j tem um servidor NT que seja o PDC.
domain master = yes

# Esta opo fora uma eleio para mestre local quando o Samba acionado, e lhe d uma
pequena vantagem na disputa. NO habilite esta opo em mais de uma mquina, do contrrio os
diversos preferred masters vo ficar promovendo eleies para mestre o tempo todo; isso causar
trfego intil de rede e pode prejudicar a qualidade das listas de navegao i.e. elas podero no
conter todas as mquinas da rede e no ficar to lento, se tudo estiver configurado corretamente.
preferred master = no

Use somente se existe um nt server em sua rede, configurado para ser o primeiro domnio de
controle
domain controller = <NT-Domain-Controller-SMBName>

# Caso seja habilitado, tornar o linux um domnio de login, para estaes windows 95
domain logons = yes

# sicroniza a data do sevidor para as estaes. interessante para ter controle sobre data/hora de
criao de arquivos e coisas do genero E em sua mquina windows/dos digite para configurar a
hora: net time /set /yes
time server = True

# a forma de como ser procurada a mquina: As opes so: lmhosts, host, wins e bcast
lmhosts Tenta usar um arquivo de configurao do samba hosts Tenta resolver o nome pelo ip,
usando o /etc/hosts, o nis ou o dns wins Procura o ip no servidor wins bcast Procura a mquina
por Broadcast recomendvel deixar sempre o bcast como ltimo recurso, pois assim pelo menos a
rede local continuar funcionando se por acaso ficar isolada das demais redes. name resolve order =
hosts A comunicao inter-rede wins grava as informaes repassadas pelos servidores masters de
cada rede e possibilita que uma rede converse com outra Ao retransmitir essas informaes do
mestre de domnio, o mestre obtem a lista de servidores mestres do servidor wins, essa
retransmisso demora em mdia 15 minutos, e usa endereos ip.
wins support = yes

# Indique aqui o IP do servidor WINS da instalao. Se o computador for ele mesmo o servidor
WINS (a linha wins support = yes est ativa), no use esta opo, pois do contrrio o Samba
acabar conectando a si mesmo, recursivamente, e *travar*.
wins server = 192.168.5.3

# Se o nmbd responder s perguntas do nome da transmisso em nome de outras mquinas. Voc
pode necessitar ajustar este a sim para alguns clientes mais velhos.
wins proxy = yes

# Diz ao samba se ou no para tentar resolver nomes netbios, atravs do nslookup do DNS.
dns proxy = no

# Diz para o SAMBA preservar o nome do arquivo como foi enviado pela estaco
preserve case = yes

# Diz para o SAMBA interpretar minsculas como minsculas.
short preserve case = yes

# Se a mquina possuir mais de uma placa de rede, necessrio estabelecer em que interface(s) o
Samba vai atuar. Note que isto NO suficiente para evitar conexes originrias de redes
diferentes da(s) especificada(s), pois os soquetes UDP do Samba ouvem em todas as interfaces.
Veja a linha hosts allow, mais acima, para configurao de segurana.
No exemplo abaixo, a mquina tem 2 interfaces, cujos nmeros IP e netmasks esto bem bvios.
interfaces = 192.168.0.1/24 192.168.2.10/16

#Vlida o usurio
valid users = %S

# Path que sera criado o home de um usuario novo #(/home/DOMINIO/usuario)
template homedir = /home/%D/%U

# Define um shell valido aos usuarios
template shell = /bin/bash

# Aqui ele bloqueia a gravao de arquivos .exe, .pif e .bat.
veto files = /*.exe/*.pif/*.bat/*.{*}/

veja exemplo abaixo
[Dados] # Nome do compartilhamento no smb.conf
comment = Dados # Nome do compartilhamento para visualizar
path = /home/dados # Local no servidor onde estara pasta
valid users = @geral # Grupo que ir acessar o compartilhamento
force group = geral # fora s o grupo acessar esse compartilhamento
read only = No # no s leitura
veto files = /*.mp3/*.avi/*.wma/*.wmv/*.{*}/ # essa uma opo bem legal para admins, ela
proibe essas extenses no compartilhamento podendo bloquear mp3 e vdeos tambem :)

##################### WINBIND #############################

# Metodo Utilizado na Autenticacao WINBIND
auth methods = winbind

# Separador do Winbind, (usado DOMINIO[+,/,@]usuario-do-dominio)
winbind separator = +
# tempo de cache para armazenar
winbind cache time = 86400
winbind enum users = yes
winbind enum groups = yes

# Configura o Winbind para buscar direto no dominio, ou em caso de no, #obriga a usar o separador
winbind use default domain = yes

# IDs que os usuarios do Dominio (no caso trazidos pelo Winbind) podem assumir
idmap uid = 10000-20000
winbind uid = 10000-20000

# IDs que os grupos do Dominio (trazidos pelo Winbind) podem assumir
idmap gid = 10000-20000
winbind gid = 10000-20000


Nome do compartilhamento
[Diretoria]
Descrio do compartilhamento
comment = Diretorio da Diretoria
Caminho do compartilhamento no servidor
path = /home/diretoria/
Define o tipo de acesso
public = yes
Define se o compartilhamento ser visto na rede
browseable = yes
Define permisso de gravao no compartilhamento
writeable = yes
Lista de usuarios que tem acesso ao compartilhamento
valid users = @diretoria,admin
Lista de usuarios que tem permisso para gravao
write list = @diretoria,admin
Fora o tipo de permisso para cada arquivo criado.
force create mode = 0777
Fora o tipo de permisso para cada diretrio criado
force directory mode = 0777

Bom, isso foi o bsico do smb.conf. Existe inumeras opes que no foi comentado nesse post,
recomento que visitem o site oficial do samba.

http://www.samba.org/

Vous aimerez peut-être aussi