Vous êtes sur la page 1sur 32

2 SGT LUDOLF

1/32
3 CENTRO DE TELEMTICA DE REA
SERVIDOR DE ARQUIVOS UTILIZANDO O
SAMBA
ENSINO A DISTNCIA - 2013
APOSTILA 1
2/32
APRESENTAO
O presente estgio ministrado pela Seo de Treinamento e o material foi elaborado
pela Seo de Gerncia de Redes do 3 CTA, cuja a finalidade do presente estgio
apresentar boas prticas na utilizao da ferramenta Samba, bem como, um
gerenciamento eficiente do mesmo.
3/32
OBJETIVO
Apresentar as caractersticas do conjunto de servios SAMBA;
Demonstrar a instalao e configurao bsica;
Apresentar ferramentas do SAMBA para um gerenciamento eficiente;
Demonstrar modos de ajustes mais complexos utilizando ACL's;
Apresentar ferramentas adicionais que auxiliam na administrao do sistema;
Apresentar as rotinas necessrias para a manuteno do sistema em produo;
4/32
SUMRO
1. Int!"#$%! &...................................................................................................................'
2. In(t)*)$%! + A,#-.!(...................................................................................................10
3. D-+t-.)( "+ C!n/-0#)$%!...........................................................................................12
1. 2+)3+nt)(..................................................................................................................23
4. B)56+n"( "+ U(#7-!(.................................................................................................24
C!n5*#(%!..........................................................................................................................31
R+/+8n5-) B-9*-!07/-5) &..............................................................................................32
5/32
SERVIDOR DE ARQUIVOS UTILIZANDO O SAMBA
1. INTRODUO
O que este programa chamado Samba e qual sua origem
Samba um conjunto de servios que fornecem outros servios como compartilhamento
de arquivos e de impressoras utilizando um protocolo denominado CFS (Common
nternet File System), proporcionando acesso seguro, estvel e fcil de arquivos e
servios de impresso para todos os clientes que usam o protocolo SMB / CFS, como
todas as verses do Windows e DOS, OS / 2, Linux e muitos outros.
Desenvolvido inicialmente por Andrew Tridgell, a poca estudante de doutorado na
Austrlia. E no momento mantido por uma equipe de desenvolvedores de varias partes do
mundo que se comunicam pela internet.
Teve incio com uma parceria entre BM e Sytec, que desenvolveram conjuntamente uma
maneira simples de interconectar computadores em pequenas redes locais. A soluo
era um software chamado NetBOS (Network Basic nput/Output System), que era um
programa que fornecia meios de programas se comunicarem com o hardware de rede.
Trabalhando no programa da Microsoft criou uma maneira de redirecionar solicitaes de
/O (leitura e escrita) de disco para o NetBOS, que permitiu compartilhar o contedo do
disco atravs da rede. sso foi disponibilizado por um protocolo chamado, na poca de
SMB (Server Message Block), renomeado posteriormente como CFS.
Com a evoluo das redes o NetBOS foi adaptado para trabalhar acima do protocolo
TCP/P, permitindo que endereos de rede P fossem referenciados atravs de nomes.
Andrew Tridgel, possua um servidor Unix e uma estao DOS, precisava montar um
disco em seu servidor em sua estao, escreveu ento um programa para capturar
pacotes de rede (sniffer) e efetuou a engenharia reversa do protocolo SMB,
implementando-o assim em seu servidor Unix, fazendo com que as mquinas se
enxergassem O cdigo foi disponibilizado para uso por Andrew em 1992.
6/32
u!cio!ame!to
formado por 2 programas principais (SMBD e NMBD), que implementam 4 servios
bsicos do protocolo CFS:
Compartilhamento e mpresso;
Autenticao e Autorizao;
Resoluo de Nomes;
Anncio de Servios (Browsing)
Os servios de compartilhamento de arquivos e de impressoras so implementados pelo
SMBD, o "daemon responsvel pela implementao dos servios SMB (smbd: SMB
Daemon), tambm responsvel por lidar com a autenticao e autorizao dos usurios
acessando os compartilhamentos.
Os outros servios, resoluo de nomes e Browsing so implementados pelo NMBD, que
gerencia e distribui nomes NetBOS.
S"#D
Daemon responsvel por fornecer servios de compartilhamento e impresso,
autenticao e autorizao para clientes, pela implementao do protocolo SMB (ou
(CFS). Criao de uma seo para cada cliente acessando o servidor, com sua prpria
copia do processo SMBD.
Deste modo, havero vrios processos SMBD em execuo, um para cada cliente
conectado, cujos "donos so os usurios que esto acessando os compartilhamentos, ou
7/32
seja, todo usurios do Samba dever tambm ser um usurio Unix e todas as permisses
do sistema de arquivos se aplicaro ao usurio, finalizando o processo no momento da
finalizao da seo.
O SMBD rel suas configuraes a cada minuto, aplicando as novas alteraes s
sesses j existentes.
Utiliza as portas 139 para NetBOS sobre TCP e 445 sobre TCP, sem encapsulamento
NetBOS, sendo a 445 mais eficiente em verses superiores do Windows XP.
N"#D
Daemon que monitora e responde solicitaes NetBOS da rede, +(!*.+n"! n!3+( +
:)t-5-:)n"! "! :!5+((! "+ 9!;(-n0.
Utiliza as portas UDP (para servios mais leves) 137 para browsing, replicao de
informaes de diretrio, netlogon, relaes de confiana, canal de comunicao seguro
(WinNT Secure Channel) e 138 para comunicao de datagramas NetBOS
(encapsulamento de comunicao).
Resolu$%o de Nomes
Pode ser feita por envio de pacotes para toda a rede (broadcast) ou atravs de resoluo
ponto-a-ponto com um servidor central que armazena os nomes e endereos P das
estaes.
O Broadcast mais semelhante ao NetBOS e basicamente uma estao que deseja
acessar um compartilhamento dever enviar um pacote para todas as estaes. O trfego
gerado pequeno e no interfere no fluxo de dados. Outro processo a utilizao de um
NBNS (NetBOS Name Service), atravs de um servidor central que armazena a lista de
nomes e endereos P das estaes disponveis o chamado WNS (Windows nternet
Name Service) da Microsoft.
Aps o registro dos nomes e endereos P no servidor, pode ocorrer o acesso das
estaes para essas verificaes, especialmente se estiverem em sub-redes para que se
comuniquem.
A resoluo de nomes NetBOS feita utilizando o protocolo UDP, sendo configurada da
seguinte forma:
b-node (tipo 0x01*): apenas broadcast NetBOS atravs de UDP;
p-node (tipo 0x02): apenas Unicast NetBOS (ponto-a-ponto) direcionando a um
WNS;
m-node (tipo 0x04): Broadcast + Wins;
n-node (tipo 0x04): Wins Broadcast;
O padro de funcionamento pelo b-node (broadcast na rede).
* informao no cabealho do pacote para captura na rede)
8/32
O compartilhamento permite aos usurios trabalharem com documentos de outros
usurios, ou armazenar em computadores de outros usurios ou ainda armazenar em um
sistema servidor comum.
#ro&si!g
Os computadores na LAN elegem qual estao ir manter uma lista de compartilhamento
de arquivos e impressoras na rede. O eleito ser o LMB (Local Master Browser), que alm
do nome NetBOS recebe uma nova nomenclatura para ser identificado na rede (\\--
__MSBROWSE__) com sufixo NetBOS 01.
Os critrios que levam a eleio desta estao so os seguintes:
Maior OS Level
Opo Preferred Master
Uptime (tempo online)
Nome NetBOS (ordem alfabtica)
Alm dos LMBs podem haver tambm DMBs (Domain Master Browser) que tambm
podem coordenar listas de servios entre sub-redes diferentes.
ormas de u!cio!ame!to
A diferenciao est na maneira como o Servidor autentica e autoriza os usurios, se
Standalone (autenticao em base local) ou inserido em um Domnio (base centralizada),
objeto de nossos exemplos.
Standalone (usurio e senha para acesso na estao / cenrios pequenos):
Servidores configurados em um grupo de trabalho, onde cada computador
responsvel pela autenticao dos prprios usurios e gerenciamento de seus
compartilhamentos
Participante de Domnio (cenrio complexo): configurado para integrar um Domnio,
os servidores e estaes possuem base centralizada na autenticao. Trabalho
inicial mais volumoso porm administrao posterior facilitada.
'. INST()(O * (R+UI,OS
I!stala$%o
Pode-se instalar os arquivos por compilao ou via APT, onde a facilidade a aplicao
automtica de pathes de correo de bugs e atualizaes de segurana j
disponibilizadas de forma automtica, j a compilao do cdigo-fonte pode ser feita em
servidores antigos com clientes Windows mais recentes.
9/32
I!stala$%o a partir dos pacotes pr-compilados
Feita pelos comandos apt-get e aptitude.
< ):t-t#"+ -n(t)** ()39) (395*-+nt
Aps a insta!a"#o pode ser rea!i$ado se o pacote rea!%ente &oi insta!ado:
< ":60 -- ()39)
Aps a instalao o servio do Samba iniciado automaticamente, onde pode-se verificar
nos processos em execuo do sistema. Os daemons smbd e nmbd devem estar ativos.
< :( -A2 = 0+: -E >?(39"=n39"@>
!!t 2311 1ABB4 0 3'31 1211 0 S+:2B C 00D00D00 E#(E(9-nE(39" -D
!!t 23'A 1ABB4 0 3'01 3'3F 0 S+:2B C 00D00D03 E#(E(9-nE(39" -D
!!t 4212 1ABB4 0 3B02 F1FB 0 S+:2B C 00D00D10 E#(E(9-nE(39" -D
!!t 104AF 1ABB4 0 3'F0 3FF0 3 0'D3F C 00D00D00 E#(E(9-nE(39" -D
O gerenciamento dos daemons feito no controle /etc/init.d/samba stop (parar), start
(iniciar),restart (reiniciar).
I!stala$%o a partir do c.digo-/o!te
Quando houver necessidade, obtm-se os arquivos no site do projeto:
http://samba.org/samba/download/
Procure instalar a ultima verso estvel que se chama samba-latest.tar.gz, que contm o
servidor Samba (nmbd e smbd) e servios extras (Winbind). Tambm h necessidade de
instalao das dependncias para a compilao:
< ):t-t#"+ 9#-*"-"+: ()39)
Descompactar o pacote:
< t) -G.H/ ()39)-*)t+(t.t).0H
Acessar o diretrio "source3 dentro do diretrio samba criado, cujo nome deve ser da
ltima verso disponvel:
< 5" ()39)-3.4.FE(!#5+3
Executar o script que ir ajustar o Makefile para compilao:
< .E5!n/-0#+
Compilar o cdigo:
< 3)6+
nstalar os arquivos gerados pela compilao:
< 3)6+ -n(t)**
10/32
/usr/local/bin o local padro de instalao dos arquivos.
,isuali0a!do 1acotes
Para verificar o trfego dos pacotes e do servidor, capturamos pacotes para verificarmos
as informaes que esto trafegando, utilizando ferramentas como tcpdump ou wireshark:
< ):t-t#"+ -n(t)** t5:"#3:
possvel capturar os dados de determinada interface em totalidade ou filtrado, como por
exemplo nos pacotes NetBOS UDP nas portas 137 e 138:
< t5:"#3: -n..- +tI0 #": )n" > ? :!t 13' ! :!t 13B @ >
(rqui2os /u!cio!ais
smb.co!/
Toda configurao relacionada com nomes, grupo de trabalho, tipos de servidores, log,
compartilhamento de arquivos e impresso do Samba, sendo um arquivo de texto que
pode ser modificado por qualquer editor, com estrutura "atributo = valor. Est localizado
em /etc/samba/smb.conf.
3. DIR*TI,(S D* 4ONI5UR(O
smb.co!/
O mesmo dividido em sees que tm como objetivo de organizar os parmetros para
que tenham efeitos somente em algumas configuraes de compartilhamentos, mas suas
diretivas podem ser vlidas para todos os compartilhamentos do arquivo de configurao.
Alguns nomes de sees foram reservadas para configuraes especficas do Samba.
divido em sees chamadas Stanzas que assumem a forma [home] (nome da seo entre
colchetes) e pode definir compartilhamentos ou meta-servios como abaixo no diretrio
compartilhado:
[compartilhamento] => acesso pelo endereo \\servidor\compartilhamento
Vamos conhecer algumas sees do samba::
J0*!9)*K L Define configuraes gerais que tm poder sobre o servidor samba como um
todo, fazendo efeito em todos os compartilhamentos existentes no servidor. Por exemplo,
o grupo de trabalho, nome do servidor, pgina de cdigo, restries de acesso por nome,
etc.
JI!3+(K L Especifica opes de acesso a diretrios homes dos usurios. O diretrio
home disponibilizado somente para seu dono, aps se autenticar.
J:-nt+(K L Define opes gerais para controle de impressoras do sistema. Este
compartilhamento mapeia os nomes de todas as impressoras encontradas no arquivo
E+t5E:-nt5):.
J:!/-*+K L Define um perfil quando o servidor Samba usado como PDC de domnio.
11/32
4o!/igura!do o Ser2idor
Exemplificao de mquina singela, com duas Stanzas: [global] e [compartilhamento],
parmetro "workgroup (grupo de trabalho) e "netbios name (nome para identificao do
servidor na rede) aplicadas a todos o servidor:
J0*!9)*K
workgroup = GRUPO
netbios name = MAQUNA
J5!3:)t-*I)3+nt!K
path = /tmp
"odos de u!cio!ame!to
Atente para a configurao na opo "security que determina como ser feita a
autenticao e autorizao de usurios, bem como define se o servidor Standalone ou
pertencente a um domnio.
Tipos de Servidor (roles) na condio de SMB/CFS de acordo com a configurao:
Controlador de Domnio
Primary Domain Controller (PDC)
Backup Domain Controller (BDC)
Active Directory Server Domain Controller
Membro de Domnio
AD Domain Server
NT4 Domain Server
Servidor Standalone
Existem dois tipos possveis de Segurana, share ou user:
share: nica senha para acesso, independente de usurio
user: compartilhamento com acesso controlado a nvel usurio
No modo user o servidor pode autenticar o usurio em uma base local ou centralizada
que representa um Domnio e ao participar de um Domnio, o servidor pode agir como
controlador (base de usurios disponibilizada para ser utilizada por outros servidores e
clientes) ou Membro (recebe credenciais e verifica nos controladores do domnio). Pode
ser do tipo NT4 ou Active Directory.
12/32
securit6 7 share 82eri/ica recurso9 !%o usu:rio;
Autenticao do cliente para cada compartilhamento acessado. Ocorre o envio de senha
a cada solicitao de conexo. Na implementao SMB/CFS da Microsoft o servidor
associa diretamente um compartilhamento com uma senha, mas o Samba utiliza o
esquema de autenticao Unix (usurio/senha) e no (compartilhamento/senha).
O cliente envia um nome de usurio na solicitao no inicio de sesso sem senha, cujo
nome armazenado pelo Samba em uma lista de usurios possveis para comparao.
Sem gerao da lista de usurios possveis o Samba efetua uma chamada de sistema
para verificar a senha valida para algum usurio existente, utilizando mtodo NSS
(/etc/nsswitch.conf). Desaconselhado para autenticao com usurios mas muito pratico
para acesso de compartilhamentos pblicos onde no h autenticao.
securit6 7 user
O cliente envia uma solicitao com usurio e senha no inicio de sesso que sero
verificados pelo Samba e com sucesso na autenticao solicita a montagem dos
compartilhamentos na sesso j estabelecida.
securit6 7 domai! 82aria$%o do user;
nformaes de usurios armazenadas em um repositrio central entre os controladores
do domnio que podem efetuar a autenticao para todas as maquinas que participam do
domnio Neste sistema esto classificados os PDC Primary Domain Controller (mantem
a base de dados com informaes de usurios) e os controladores backup BDC
(fornecem apenas servios de autenticao e logon no netlogon). A configurao do
Samba possui ento 3 formas: PDC, BDC, DMS.
securit6 7 (SD 82aria$%o do user;
Faz com que o Samba ingresse em um domnio Active Directory em modo nativo ao invs
de usar protocolos de segurana no estilo Windows NT. Assume a "role de DMS no
podendo ser controlador deste domnio
securit6 7 ser2er 8e<p=e a segura!$a;
O servidor Samba informa para o cliente que utiliza segurana a nvel de usurio (security
= user) e recebe o par de usurio/senha do cliente e utilizando essas credenciais, tenta
efetuar login em um terceiro servidor (normalmente controlador de domnio). Mtodo para
compatibilidade de servidores antigos.
Direti2as 5lobais
Alm da "security outras diretivas existem para configurar o servidor e so utilizadas
dentro da Stanza [global] afetando o funcionamento de todo servidor:
13/32
Exemplo de seo global:
J0*!9)*K
< P)M3+t!( N*!9)-(
# Domnio, Nome e Descrio
workgroup = 55cta..eb.mil.br
netbios name =
server string = 55cta.eb.mil.br
# No mostrar no servidor o Wizard "Adicionar mpressora"
show add printer wizard = No
# Quais interfaces de rede utilizar
# interfaces = lo, eth0 - alterado em 16-08-2007
interfaces = 127.0.0.1/8 eth0
bind interfaces only = Yes
# Nvel de Mensagens
log level = 1
log file = /var/log/samba/%m.log
#max log size = 0 - alterado em 16-08-2007
max log size = 1000
debug level = 1
syslog = 0
# Atuar como um PDC
security = user
domain logons = yes
preferred master = yes
domain master = yes
os level = 65
14/32
# Tratamento das senhas
encrypt passwords = true
# Equivalncia de usurios Windows X Linux
username map = /etc/samba/smbusers
# Evitar o perfil ambulante do Windows NT/XP
logon path =
logon drive =
logon home =
# Script de logon em rede (deve ficar no compartilhamento netlogon - em formato DOS)
logon script = exemplo.BAT
# Otimizaes recomendadas
smb ports = 445 139
name resolve order = wins bcast host lmhosts
utmp = Yes
time server = Yes
template shell = /bin/false
winbind use default domain = no
map acl inherit = Yes
strict locking = Yes
# Usurio invalido - adicionado em 16-08-2007
invalid users = root
# Como o cliente ira se comunicar com o servidor
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

15/32
# Ao em caso de pane
panic action = /usr/share/samba/panic-action %d
# Servidor Wins da Rede
# Quando j tiver um servidor Wins na rede
# descomente a linha abaixo e acerte o P do Wins
# wins server = 10.12.x.xxx
# Quando ainda no tiver um servidor Wins na rede
# descomente a linha abaixo
wins support = Yes
max wins ttl = 518400
min wins ttl = 21600
# Para os clientes no localizarem netbios atravs do dns
dns proxy = no

# Ativar a internacionalizao: permitir caracteres acentuados pelo Windows
unix charset = SO8859-1
display charset = CP850
dos charset = CP850
# No tentar fazer um lock nestes arquivos
veto files = /*.eml/*.nws/*.{*}/
veto oplock files = /*.doc/*.xls/*.mdb/
# Tratar os arquivos que comeam com "." como ocultos para maquinas Windows
hidedotfiles = yes
# Simular a Lixeira do Windows
recycle:repository = .lixeira
16/32
recycle:keeptree = True
recycle:touch = True
recycle:versions = True
recycle:exclude = *.tmp|*.temp|*.o|*.obj|~$*|*.$$$
recycle:excludedir = /tmp|/temp|/trash
recycle:noversions = .doc|.xls|.ppt|.dbf|.nsx|.idx|.dbt
recycle:maxsize = 0
D-((+5)n"! )*0#n( :)M3+t!( "+ n!((! +G+3:*!D
Diretiva Funo
workgroup Nome do domnio. Todas as mquinas que pertencerem a este domnio
tero o nvel de acesso definido pelo PDC.
netbios name Nome do servidor de domnio. Este tambm ser o nome usado pelas
outras mquinas clientes quando for configurar o PDC (Controlador de
domnio).
prefered master Parmetro que garante que essa mquina sempre seja o PDC, sendo
que fora uma eleio com vantagens prprias para ser eleito sempre
como controlador de domnio.
os level Este parmetro no obrigatrio se voc no possui um servidor
Windows na rede, mas deve ser usado caso tenha um ou mais. A
varivel um nmero de 1 a 255, onde 65 a mesma varivel utilizada
pelo servidor Windows. Especifique um nmero maior que este (como
100 por exemplo) para garantir que o servidor SAMBA seja eleito na
escolha de validao do login das estaes.
time server O Servidor samba ir fornecer Data e Hora para as estaes
domain logons Usado para validar o login na rede, apenas para estaes Windows.
logon scripts ndica qual arquivo de logon script ser executado para os usurios. A
varivel %u corresponde ao usurio na rede. Deve tambm ser criado
um compartilhamento de nome [netlogon] apontando para o diretrio
dos scripts. Este campo, assim como muitos outros abaixo, sero
melhor explicados quando formos estudar o Samba como PDC de rede.
logon path ndica o caminho do perfil remoto do usurio. A varivel %L
corresponde ao nome do servidor NetBios (que pode ser o prprio
SAMBA).
O logon path til quando usurios costumam efetuar logon em mais
de um Host na rede, pois seu perfil trazido com o logon. No caso do
17/32
exemplo, o diretrio "Profiles"deve conter os scripts (em formato
Microsoft usando NET USE e etc) e os scripts devem ser criados com o
notepad do Windows por exemplo, a fim de conservar o formato do
arquivo.
domain master ndica se o Host ser o Domain Master Browser da rede inteira (WAN).
local master ndica se o Host ser o Master Browser da rede local.
veto files No nosso exemplo, est sendo definido na sesso [global], sendo
assim, esse parmetro ser utilizado por todos os compartilhamentos.
guest account O SAMBA trabalha melhor em redes Microsoft com a existncia de uma
conta guest (visitante em ingls). Por padro, a conta usada .nobody.
wins server ndica qual o servidor de Wins da rede. Se o prprio Host for o servidor
de Wins ento no utilize este parmetro, pois haver um loop e o
sistema travar.
debug level Parmetro usado para dar flexibilidade configurao do sistema.
Permite ao SAMBA trabalhar corretamente com algumas situaes de
erro, por exemplo.
J#(#)-!(K
comment = Diretorio Pessoal de cada Usurio [U:\]
path = /home/usr/%u
browseable = Yes
host allow = 192.168.0.5,192.168.60.6
writeable = Yes
create mask = 0600
directory mask = 700
D-((+5)n"! !( )t-9#t!(D
Diretiva Funo
Comment Comentrio sobre o recurso compartilhado.
path Especifica o diretrio que ser compartilhado
browseable Define se o compartilhamento ser ou no visvel para o Ambiente de
Rede. Estaes Windows95 verso 4.00.950-C no aceitam esta opo,
onde uma possvel soluo seria utilizar o nome do compartilhamento
18/32
seguido de $ (teste$ por exemplo), como feito no Windows.
host allow
lista de ps ou range de ps que se conectam ao compartilhamento.Obs
host deny inverso.
writeable ndica se o usurio poder ou no escrever em sua pasta pessoal
(home dir).
directory mask Modo padro para a criao de diretrios no compartilhamento. O modo
de diretrio deve ser especificado em formato octal.

J:-nt+(K
comment = mpressoras Linux
public = no
browseable = yes
printable = yes
path = /var/spool/samba
admin users = admin, usuario1
Diretiva Funo
Comment Comentrio para o compartilhamento.
Public ndica se ser ou no permitido o acesso de outros usurios.
Browseable Define se o compartilhamento ser ou no visvel para o Ambiente de
Rede.
Printable Este parmetro permite aos clientes conectados abrir, escrever e sub-
meter arquivos no diretrio especificado pelo "path". utilizado pelo
SAMBA para diferenciar compartilhamento de impressora de
compartilhamento de arquivo.
Path Caminho do diretrio compartilhado.
admin users Define quais usurios tero privilgios de administrao de
compartilhamento.
Substitui$%o de ,ari:2eis 8"acros;
Possibilidade de substituio de strings por variveis, chamadas macros, que so
processadas no momento que a diretiva entrar em operao.
19/32
JI!3+(K
5!33+nt O D-+tP-! I!3+ "! #(#7-!
:)tI O EI!3+E#(#)-!(EQ#
Cada uma das variveis so descritas em detalhes abaixo:
QS O O nome do servio atual, se existir. Seu uso interessante, principalmente no uso
de diretrios homes.
QP O O diretrio raiz do servio atual, se existir.
Q# O O nome de usurio do servio atual, se aplicvel. Esta varivel bastante til para
programao de scripts e tambm para criar arquivos de log personalizados, etc.
Q0 O O grupo primrio do usurio %u.
QU O O nome de usurio da seo (o nome de usurio solicitado pelo cliente, no uma
regra que ele ser sempre o mesmo que ele recebeu).
QN O O nome do grupo primrio de %U.
QR O O diretrio home do usurio, de acordo com %u.
Q. O A verso do Samba.
QI O O nome DNS da mquina que est executando o Samba.
Q3 O O nome NetBOS da mquina do cliente. sto muito til para log de conexes
personalizados e outras coisas teis.
QL O O nome NetBOS do servidor. Como o servidor pode usar mais de um nome no
samba (aliases), voc poder saber com qual nome o seu servidor est sendo acessado e
possivelmente torn-lo o nome primrio de sua mquina.
QM O O nome DNS da mquina cliente.
'( ) O nome do seu servidor de diretrios home NS. Este parmetro obtido de uma
entrada no seu arquivo auto.map. Se no tiver compilado o SAMBA com a opo --with-
automount ento este valor ser o mesmo de %L.
'p ) O caminho do diretrio home do servio, obtido de uma entrada mapeada no arquivo
auto.map do NS. A entrada NS do arquivo auto.map dividida na forma "%N:%p".
QR O O nvel de protocolo selecionado aps a negociao. O valor retornado pode ser
CORE, COREPLUS, LANMAN1, LANMAN2 ou NT1.
Q" O A identificao de processo do processo atual do servidor.
'a ) A arquitetura da mquina remota. Somente algumas so reconhecidas e a resposta
pode no ser totalmente confivel. O samba atualmente reconhece Samba, Windows for
Workgroups, Windows 95, Windows NT e Windows 2000. Qualquer outra coisa ser
mostrado como "UNKNOWN" (desconhecido).
QI O O endereo P da mquina do cliente.
QT O A data e hora atual.
20/32
%$(*ar+a%,iente) ) Retorna o valor da varivel de ambiente especificada.
Reali0a!do bac>up de sua base Samba
Em complementao aos arquivos de configurao, o Samba utiliza os arquivos .tdb
(Trivial Database), como banco de dados para armazenamento de informaes, divididos
em persistentes e temporrios. Esto localizados em /var/lib/samba. Os persistentes
armazenam informaes que devem ser salvas em backups e copiados juntamente com
as configuraes em caso de migrao do servidor:
)55!#ntS:!*-5T: polticas de de contas
0!#:S3)::-n0: mapeamentos entre SD->grupos UNX
nt"-.+(: informaes de drivers de impressoras instalados
nt/!3(: informaes de forms de impressoras instalados
nt:-nt+(: configuraes de impressoras instaladas
:)(("9: armazena informaes de contas SambaSAMAccount
+0-(tT: esqueleto somente leitura de registro Windows
(+5+t(: armazena SDs (identificadores), senha do LDAP e dados sensveis e crticos
para o funcionamento do Samba.
(I)+S-n/!: Armazena ACLs de compartilhamentos
;-n9-n""S-"3):: base de mapeamentos de endereo do Winbind
Os temporrios no so essenciais ao funcionamento do sistema:
9*!56: nformaes de byte-range locking de arquivos
5!nn+5t-!n(: Cache de informaes de conexes em uso para gerenciamento de
nmero de conexes
+.+nt*!0EUt"9: Cache de logs de sistema
0+n5)5I+: Cache de servidores WNS no-funcionais e dados de domnio
*!0-nS5)5I+: Cache de informaes de login e tentativas incorretas de senha
3+(()0+(: Armazena temporariamente mensagens sendo processadas pelo smdb
n+t()3*!0!nS5)5I+: Cache de estruturas de dados de logon
:+/3!nEU.t"9: nformaes do contador de performance
:-nt-n0EU.t"9: Cache das filas de impresso
(5I)nn+*S(t!+: nformaes criptogrficas de credenciais de sesses ativas
(+((-!n-": Dados genricos de sesso
#n+G:+5t+": Armazena pacotes recebidos que no so para os daemons do Samba)
;-n9-n""S5)5I+: Cache de informaes de identidade recebidas pelo Winbind
21/32
?. *RR("*NT(S
Os pacotes samba, smbclient e samba-tools disponibilizam diversas ferramentas de linha
de comando.
testparm -2 8a!tes do restart;
Ferramenta primordial para o administrador, l um arquivo de configurao do Samba e
verifica se h erros de sintaxe que impedem a inicializao do servidor. A opo -v mostra
todos os valores usados pelo servidor.
smbpass&d
Gerencia usuarios e senhas do Samba.
Modificando a senha de um usurio: < (39:)((;" V#(#7-!W
Adicionando um usurio: < (39:)((;" -) V#(#7-!W
Excluindo um usurio: < (39:)((;" -G V#(#7-!W
/i!dsmb
Script em perl que faz parte do pacote smblcient e descobre informaes sobre maquinas
utilizando o protocolo SMB/CFS informando maquinas, grupos de trabalho, domnios
existentes na rede.
smbclie!t
um cliente para o protocolo SMB/CFS de linha de comando que permite lista e acessar
compartilhamentos de forma rpida
Listando compartilhamentos
< (395*-+nt -L *!5)*I!(t
Ent+ !!t>( :)((;!"D - +nt+ -
An!nT3!#( *!0-n (#55+((/#*
D!3)-nOJ44CTA.EB.MIL.BRK OSOJUn-GK S+.+OJS)39) 3.4.FK
SI)+n)3+ TT:+ C!33+nt
--------- ---- -------
IPCX IPC IPC S+.-5+ ?445t).+9.3-*.9@
t+3: D-(6 D)"!( T+3:!7-!( J TDY K
22/32
")"!( D-(6 S-(t+3)( + D)"!( "+ U(#7-!( J SDY K
#(#)-!( D-(6 D-+tP-! P+((!)* "+ C)") U(#7-! J UDY K
An!nT3!#( *!0-n (#55+((/#*
D!3)-nOJ44CTA.EB.MIL.BRK OSOJUn-GK S+.+OJS)39) 3.4.FK
S+.+ C!33+nt
--------- -------
ARIEL 445t).+9.3-*.9
Z!60!#: M)(t+
--------- -------
44CTA.EB.MIL.BR [[[[[[
EG+3:*! "+ )5+((! +3 #3 (+.-"! "! 44\CTAD
Acionando a tecla enter no campo password a listagem feita com usurio anonimo.
Acessando um compartilhamento para efetuar operaes.
X (395*-+nt >YY#9#n9!GYt3:>
Ent+ !!t>( :)((;!"D
D!3)-nOJZOR]NROUPK OSOJUn-GK S+.+OJS)39) 3.4.FK
(39D Y^
A partir deste momento voc estar no prompt interativo do smbclient.
Listando o contedo do compartilhamento
(39D Y^ *(
. D 0 2- N!. 1A 13D30D30 2010
.. D 0 M!n O5t 1B 21D04D04 2010
t+(t+.tGt 20 2- N!. 1A 0AD0'D1A 2010
1F103 9*!56( !/ (-H+ 2F2111. 21442 9*!56( ).)-*)9*+
23/32
Fazendo download de um arquivo:
(39D Y^ 0+t ),#-.!
Pode-se salvar o arquivo com outro nome na estao
(39D Y^ 0+t ),#-.! Et3:En!3+S"!S),#-.!.GGG
Enviando um arquivo
(39D Y^ :#t Et3:En!.!),#-.!.tGt n!.!,#-.!.tGt
* caso sua configurao de sistema no permita gravao na pasta destino, ser exibido o
seguinte resultado:
(39D Y^ :#t Et3:En!.!),#-.!.tGt n!.!),#-.!.tGt
NTSSTATUSSACCESSSDENIED !:+n-n0 +3!t+ /-*+ Yn!.!),#-.!.tGt
smbcacls
Leitura e definio de ACLs
smbcquotas
Leitura e definio de quotas em compartilhamentos de diretrios
@. #ac>e!ds de Usu:rios
(ute!tica$%o e 1ermiss=es !o Samba
Devido ao seu modo de funcionamento, em que cada daemon smbd executado como se
fosse o usurio que se autenticou, o Samba exige que uma conta local exista no servidor
em que executado. Alm disso ele ser limitado por permisses do sistema de arquivo.
Mesmo que sua prpria configurao permita alguma operao Um usurio com
permisso de escrita em um compartilhamento do Samba no ir conseguir gravar um
arquivo caso seu usurio no possua permisso de escrita no diretrio em nvel de
sistema de arquivos.
Porm o Samba no pode utilizar a conta do sistema diretamente para autenticar usurios
pois existem vrios atributos utilizados no SMB/CFS que no existem no Unix, alm das
senhas serem armazenadas em um formato diferente.
Uma conta de usurio do Samba ir conter diversos dados extras:
Senhas no formato LanMan e MD4
Flags de controle, utilizadas para determinar se a conta um usurio ou uma
mquina, se foi bloqueada, se uma relao de confiana, etc. Veja nos anexos,
uma lista completa das flags de contas do Samba.
24/32
SD Security dentifier ou identificador de segurana do usurio e grupo.
Estes so atributos essenciais no funcionamento do Samba. As senhas utilizadas
atualmente no protocolo SMB/CFS so derivadas da criptografia MD4 e no caso de
verses mais antigas de cliente so utilizadas senhas LanMan.
Devido essas duas caractersticas sempre que um usurio ou mquina for ser utilizado
pelo samba ele dever existir como dois objetos: um usurio e sistema e tambm um
usurio do samba. Na configurao padro isso feito criando-se, literalmente, dois
usurios em bases distintas: os usurios de sistema so armazenados no arquivo
/etc/passwd e os usurios do Samba so armazenados no arquivo
/etc/samba/smbpasswd ou. No caso do Samba verso 3 ou superior tambm podem ser
gravados em um arquivo tdb localizado em Samba verso 3 ou superior tambm podem
ser gravados em um arquivo . Tdb localizado em /var/lib/samba/passdb.tdb.
Por padro, no Debian, o arquivo/etc/samba/smbpasswd ser utilizado. Outras
distribuies, como o Ubuntu, j adotam o arquivo passdb.tdb como padro e esse ser o
comportamento caso o Samba seja compilado a partir do cdigo-fonte em alteraes.
O formato do smbpasswd o seguinte:
[nome do usurio]:[UD Unix]:[hash NT]:[flags]:[horrio de modificao]:
#ac>e!ds
Como mencionamos o Samba pode utilizar um arquivo chamado smbpasswd para
armazenar os usurios e tambm pode utilizar um arquivo .tdb. Estes so dois backends
possveis: maneiras de armazenar os dados de autenticao que o servidor samba
utilizar.
Atualmente o Samba permite a utilizao dos seguintes backends:
1lai!te<t
Backend original Samba, recuperava informaes diretamente da base Unix e toda
autenticao era feita utilizando o PAM. Nenhuma informao especfica do protocolo
SMB armazenada e senhas criptografadas no so suportadas.
Smbpass&d
Tradicionalmente usado quando senhas criptografadas so utilizadas, um arquivo de
texto simples que armazena dados especficos do protocolo SMB como os hashes se
senha NT/LM e flags indicando a situao e tipo de contas>
Entretanto este mtodo apresenta vrios problemas:
Pesquisas de usurios so feitas de maneira sequencial, tornando a consulta lenta
em servidores com muitos usurios. Esse problema se torna ainda mais crtico
levando-se em considerao que o Samba faz aproximadamente duas consultas a
cada solicitao de login.
25/32
No existe uma maneira robusta de replicao deste arquivo.
Vrios atributos suportados no so armazenados, como o diretrio pessoal de
usurios especficos ou mesmo os RDs dos usurios, sendo necessrio que o
servidor os calcule a cada consulta.
Por estes motivos foi adicionado suporte a outros backends.
Tdbsam
Este backend armazena as contas em um arquivo "trivial database. Foi desenvolvido
para utilizao em servidores que no necessitam de um LDAP e atenua os problemas
que o backend smbpasswd apresenta em relao a performance, sendo recomendado
para servidores com at 250 usurios, e tambm pode conter atributos adicionais.
)D(1sam
Utilizando este backend permitir a utilizao de um servidor LDAP para armazenar as
contas do Samba, e apresenta diversas vantagens em relao aos outros mtodos, ao
custo de uma complexidade maior do ambiente.
Quando utilizando o LDAP podemos unificar as contas de sistema e contas do Samba,
simplificando a administrao. Alm disso possvel compartilhar o backend de usurios
entre servidores diferentes, o que particularmente til quando estamos trabalhando com
servidores Samba como PDC e BDC.
*scolhe!do o #ac>e!d
A seleo entre os diferentes backends disponveis feita utilizando-se a diretiva
V:)(("9 9)56+n"W em nosso arquivo E+t5E()39)E(39.5!n/. Assim, poderamos ter as
seguintes situaes:
smbpass&dA passdb backend = smbpasswd
tdbsamA passdb backend = tdbsam
IdapsamA passdb backend = 1dapsam
Nenhuma configurao extra necessria no caso dos backends smbpasswd e tdbsam,
que iro utilizar os arquivos na localizao padro. No caso da utilizao do dapsam
outras configuraes ainda so necessrias, que sero abordadas posteriormente em um
captulo especfico sobre a utilizao do LDAP com o Samba.
Caso se deseje utilizar um arquivo em uma localizao no padro, pode-se especificar
onde esse se encontra da seguinte forma:
passdb backend = tdbsam: /srv/samba/passdb.tdb
Esta configurao faria com que o Samba procurasse pelo arquivo passdb.tdb no
diretrios/srv/samba.
26/32
5ere!ciame!to de (rqui2os .tdb
Feito pela ferramenta tcb-tools, que visualiza, edita e faz backup das bases, mas deve-se
tomar cuidado para no copiar um arquivo .tdb em uso pois pode estar gravando dados
no momento da cpia e portanto inconsistente:
< ):t-t#"+ -n(t)** t"9-t!!*(
tdbbac>up
Ferramenta que realiza backup dos arquivos .tdb, garantindo integridade na base de
dados. Gera um arquivo do mesmo nome que o .tdb acrescido de .bak.
< t"99)56#: n!3+S"!S),#-.!.t"9
Voc pode utiliz-lo para verificar se arquivos esto corrompidos, e caso estejam, restaure
o ultimo backup com parmetro "-v no comando e no exemplo abaixo, constata-se a
sada de um arquivo .tdb ntegro, informando quantos registros existem:
< 5" E.)E*-9E()39)
< t"99)56#: -. :)(("9.t"9
:)(("9.t"9 D B +5!"(
Caso haja arquivos corrompidos existe a possibilidade de restaurao automtica de
backup se o arquivo passdb.tdb.bak estiver no mesmo diretrio:
< t"99)56#: -. :)(("9.t"9
+(t!-n0 :)(("9.t"9
Se no houve a restaurao imediata ocorre a informao de necessidade de restaurao
do ),#-.! .9)6 com o parmetro V-.W:
< t"99)56#: -. :)(("9.t"9
+(t!-n0 :)(("9.t"9
:)(("9.t"9.9)6D N! (#5I /-*+ ! "-+5t!T
tdbdump
Visualizao rpida do contedo dos arquivos .tdb auxiliando na resoluo de problemas:
< t"9"#3: n!3+S"!S),#-.!.t"9
tdbtool
Ferramenta que visualiza, edita registros, verifica integridade e efetua teste de
performance nos arquivos .tdb.
-xe%p!o. a,rindo o pro%pt rea!i$e as se/0intes opera"1es:
27/32
< t"9t!!*
t"9 ^
No prompt, o comando "open abre determinado arquivo:
t"9 ^ !:+n E.)E*-9E()39)E:)(("9.t"9
t"9 ^ 1
6+T 13 9Tt+(
RIDS000001/4
")t) ' 9Tt+(
J000K FE F2 F2 F2 F1 'A 00 n!9!"T
N++n5-)3+nt! "+ #(#7-!( n! S)39)
Para criar um usurio no Samba devemos primeiro adicionar um usurio local no sitema e
ento criar a conta do Samba utilizando o comando smbpasswd. Portanto, para
adicionarmos um usurio chamado "usurio1 no sistema, devemos fazer o seguinte:
< #(+)"" #(#7-!1
Adicionando no samba:
< (39:)((;" L ) #(#7-!1
N+; SMB :)((;!"D
R+tT:+ n+; SMB :)((;!"D
A""+" #(+ #(#7-!1
Uma vez adicionado o usurio, devemos conseguir visualiz-lo no arquivo
/etc/samba/smbpasswd (Caso tenha referenciado na diretiva :)((;"
9)56+n"O(39:)((;").
< 5)t E+t5E()39)E(39:)((;"
#(#7-!1D 1004D GGGGGGGGGGGGGGD 31E0C0BAC0D JU K D LCT- 1DOBDB3C
O contedo do arquivo passdb.tdb semelhante (podendo conter mais dados) e , quando
utilizamos este backend, pode ser visualizado atravs do seguinte comando:
< t"9"#3: E.)E*-9E()39)E:)(("9.t"9
Para remover usurios do Samba devemos primeiro remov-los do backend Samba para
somente ento remov-los do sistema:
< (39:)((;" -G #(#7-!1
< #(+"+* #(#7-!1
28/32
PRTICA 1
Vamos modificar nosso smb.conf e criar um compartilhamento acessvel por usurios no
autenticados (pblico), que dever direcionar o usurio para
/samba/nome/_netbios_do_servidor.
remos tambm criar um arquivo de texto para verificar que o acesso funciona
corretamente.
O primeiro passo criar o diretrio que ser acessado, no caso,
/samba/nome_do_servidor.
Altere "nome_do_servidor para o nome NetBOS do seu servidor.
O Samba sempre tratar o nome NetBOS como se fosse escrito em caracteres
minsculos quando for buscar este diretrio:
# mkdir -p /samba/nome_do_servidor
Vamos agora criar um arquivo dentro deste diretrio:
# echo "Arquivo Teste > /samba/debianxx/teste.txt
Agora devemos editar nosso smb.conf e adicionar uma Stanza compartilhando este
diretrio. O arquivo /etc/samba/smb.conf dever ficar assim (substitua DEBANXX pelo
nome de sua estao):
1 J0*!9)*K
2 workgroup 55!T"
# netbios name $%&'"N((
4
4 J5!3:)t-*I)3+nt!K
6 path = /samba/%L
7 public = yes
Descrio das linhas
1) ncio da Stanza [global]
2) Nome do grupo de trabalho
3) Nome NetBOS do servidores
4) ............
5) ncio do compartilhamento chamado "compartilhamento. Este o incio de sua
Stanza e tambm o final da Stanza [global]
6) Diretrio que est sendo compartilhado. A varivel %L ser substituda pelo nome
NetBOS do servidor quando o compartilhamento for acessado.
7) Este parmetro indica que o diretrio acessvel por usurios no autenticados.
29/32
prximo passo, reiniciar o daemon do Samba para que as alteraes sejam aplicadas:
< E+t5E-n-t . "E()39) +(t)t
Agora deve ser possvel acessar o compartilhamento a partir de uma mquina windows utilizando o endereo
\\DEBIA!!\compartilhamento"
2ara testar o &0nciona%ento da %acro '3. a!tere o no%e (etB456 do ser*idor. crie 0% diretrio
7/sa%,a/no*o+no%e8 e reinicie o dae%on do 6a%,a9
LABORAT_RIO 1
Fazer um script para realizar o backup do arquivo de configurao e das bases de
dados.tdb do Samba. Para isso, o script dever fazer o seguinte:
copiar o arquivo de configurao para um diretrio de backup;
executar o tdbdump, gerando os arquivos .bak das bases do Samba;
copiar os arquivos .bak para o diretrio de backup;
verificar se o .bak foi gerado com sucesso; se no foi feito, restaure o ultimo
Backup valido
OBS - C)(! n%! !9t+nI) (#5+((! n! "+(+n.!*.-3+nt! "! (5-:t -+3!( ):+(+nt)
#3) (!*#$%! n! /-n)* ") :-3+-) (+3)n) "! 5#(!.
30/32
4ON4)USO
O SAMBA permite infinitas configuraes que podem ser consultadas atravs do man do
smb.conf. Uma documentao importante est em /usr/doc/samba-2.0.x/ com dicas e
referencias a segurana, navegao, compatibilidades, etc.
aconselhvel reiniciar o SAMBA a cada modificao no smb.conf (embora no seja
realmente necessrio), principalmente em se tratando de parmetros como "path", "logon
master", e outros que definem acesso ou segurana.
Sua compreenso no difcil, mas requer um certo tempo de aprendizado, pois sua
configurao bastante abrangente para atender os mais diversos tipos de necessidade.
Lembre-se que a documentao do SAMBA (do protocolo SMB em geral) extensa.
Consulte os docs criados aps a sua instalao.
31/32
R**RBN4I( #I#)IO5RCI4(
VLLAS BOAS, Tiago; MENDONA, Nelson. Samba, totalmente reformulado para Samba
3. 3 Ed.,Brasport, 2006.
FERRAR, Sandro Roberto; Sambando com Linux. 2 Ed., Rio de Janeiro: Alta Books,
2009.
O'REALLY, Using Samba, A File and print Server for linux, 3Rd.
http://www.samba.org/ Acesso em 12 Mar 2013.
http://www.jsbusiness.com.br/foca/avancado/ch-s-samba.htm#s-s-samba-s-varsubst
Acesso em 21 Set 2011.
http://debian.org Acessado em 14 Set 2011.
32/32

Vous aimerez peut-être aussi