Samba
Introdução
Fundamentos para criação de um
domínio e serviços Windows em um
servidor Linux.
O convívio Unix x Windows
• Uso crescente de máquinas Windows e
Linux
• Não vão ser parceiros
• Mas podem compartilhar recursos
• Este compartilhamento é possível através da
suíte de protocolos CIFS
CIFS
• Common Internet File System
– Nome criado pela Microsoft
– “esconde” a rede e permite compartilhamento
de discos e impressoras remotas como se
fossem locais (com autenticação de usuários)
– SMB: Server Message Block
• O coração do CIFS
– Versão melhorada do SMB
CIFS
• Para ter acesso aos serviços, um cliente na
rede Windows precisa identificar o nome
servidor e os nomes no domínio daquele
servidor
• Determinado o nome, é preciso “resolver”
esse nome em um endereço de transporte
(DNS ou NetBIOS)
CIFS
• Servidor e clientes trocam mensagens a fim
de acessarem recursos neste servidor
• Isso é feito através das Server Message
Blocks (SMB).
Historia
• NetBIOS: sistema de redes simples para
construção de LANs pequenas.
– Grupo de programas armazenados em RAM
que fornecia interface entre programas e
hardware de rede.
– Endereçamento de 16 bytes para identificar as
estações e aplicativos de rede.
NetBIOS - evolução
• Microsoft incorpora ao DOS a capacidade
de redirecionar I/O de disco para a interface
NetBIOS
– permite compartilhamento de disco na LAN !
• Este protocolo de compartilhamento de
arquivos foi finalmente chamado de SMB,
que mais tarde se tornou o CIFS.
NetBIOS
• Corresponde a camada de sessão do modelo
ISO/OSI
– atua como uma interface para aplicativo de rede
– permite que o aplicativo estabeleça uma sessão
com outro dispositivo e deixa que o protocolo
de rede (transação e redirecionamento) passe a
solicitação de um lado para outro. (NetBEUI) !
– Não manipula o dado.
– Isso é feito através de comandos passados no
NCB (Network Control Blocks)
Estrutura de Camadas
Importante
• Cliente conectam-se a servidores com TCP/IP
(NetBIOS sobre TCP/IP), NetBEUI ou IPX/SPX.
• Estabelecida a conexão, cliente podem enviar
comandos (SMBs) ao servidor que lhes permitem
acessar “áreas compartilhadas” (shares), abrir
arquivos, ler e escrever arquivos, e outras
operações que se fazem no file system local
NetBIOS e NetBEUI
• NetBEUI: NetBios Enhanced User Interface
– Formalizou o frame de transporte utilizado pelo
NetBIOS.
– Tornou-se o protocolo de transporte oficial da
IBM/Microsoft.
– Não é roteável
– Mas há interconexão com TCP/IP (rfc 1001 e
1002), de forma a torná-lo roteável.
• NBT NetBios sobre TCP/IP !!!
Enquanto isso no Unix...
• Pode-se usar um cliente NFS para DOS/
Windows par “ver” um file system do unix.
• E como ficam os aplicativos que necessitam
de NetBIOS?
– Andrew Tridgell: criou uma implementação de
SMB para Linux e para evitar conflitos de
copyright, ao invés de smb procurou uma
palavra próxima -> SAMBA
Samba
• É o código aberto da implementação do
CIFS para Linux!
• Além de Samba e Windows, a outras
implementações de CIFS para OS/2,
Macintosh e outros Unix´s
• Samba foi portado para VMS, Netware, etc.
Funcionalidade do SAMBA
•
•
•
•
Serviços de Arquivos e Impressão
Autenticação e Autorização.
Resolução de Nomes
Browsing (anúncio de serviços)
– Lista de serviços (arquivos e impressoras
compartilhadas) oferecidas pelos computadores
• dois programas chaves compõem o Samba:
– smbd e nmbd
SMBD - Daemon
• Responsável pelos:
– Serviços de diretórios e impressão
• quais (e como) arquivos e impressoras serão vistos
pelas máquinas Windows.
– autenticação de “share mode” e “user mode”
• como proteger arquivos e impr. através de senhas.
• Share mode: atribui uma senha para o diretório ou
impressora
• user mode: cada usuário tem senha para o serviço.
Sistema de Domínio do Windows
• Usuário “loga” uma única vez e tem acesso
a todos os serviços autorizados naquela
rede.
– Tarefa feita por um servidor de autenticação
conhecido como Controlador de Domínio
(Domain Controller). Não confundir com DNS
• Um domínio NT é um grupo de máquinas
que compartilham um mesmo Domain
Controller.
NMBD Daemon
• Responsável por:
– resolução de nomes
– Browsing
• envolve tarefas como o gerenciamento e
distribuição de listas de nomes NetBIOS.
Resolução de Nomes
• Broadcast
– usado pelo NetBIOS original: um cliente que
procura por uma máquina m1 anuncia na rede
“onde você está?” e espera que a máquina de
nome m1 responda. Isso gera tráfico de
broadcast, mas é aceitável para uma LAN.
Resolução de Nomes
• NBNS (NetBIOS Name Service): WINS
– As máquinas deixam seus nomes e números em
um servidor (daí, servidor WINS) para que os
outros vejam.
– O servidor WINS mantém isso em um Banco.
– Quando um cliente quer falar com outro, este
manda o nome do destino para o servidor que
retorna o seu número.
– Permite que isso funcione não apenas em redes
locais
Browsing
• Eleição para escolher quem será o Local
Master Browser (LMB)
– retém um nome NetBIOS especial (além do seu
nome usual)
– Mantém a lista de serviço que aparece na sua
janela “Window Neighbourhood” na rede local
• Domain Master Browser (DMB)
– coordena as listas entre Domínios de várias
redes.
– troca e combina listas com o LMB. Assim as
listas podem ser propagadas por todos os hosts.
WorkGroup X Domains
• WorkGroup
– coleção de máquinas onde cada qual define sua
própria segurança. Segurança descentralizada
• Domain:
– Coleção de computadores para a qual a
segurança é centralizada pelos Controladores de
Domínio (Domain Controllers)
• senhas, usuários, horas de uso, etc...
Clientes e Servidores SMB
• Clientes
– smbclient, Microsoft clients (3.11, 95, NT ...)
– smbfs
• Servidores
–
–
–
–
Samba
Windows for Workgroups 3.11
Windows 95, NT, etc...
LAN Manager
Estrutura de um nome NetBIOS
Recursos “Unique” do NetBIOS
Named Resource
Hexidecimal Byte Value
Standard Workstation Service
00
Messenger Service (WinPopup)
03
RAS Server Service
06
Domain Master Browser Service
(associated with primary domain controller)
1B
Master Browser name
1D
NetDDE Service
1F
Fileserver (including printer server)
20
RAS Client Service
21
Network Monitor Agent
BE
Network Monitor Utility
BF
Comando NBTSTAT
D:\> NBTSTAT -a hydra
NetBIOS Remote Machine Name Table
Name
Type
Status
--------------------------------------------HYDRA
<00> UNIQUE
Registered
HYDRA
<03> UNIQUE
Registered
HYDRA
<20> UNIQUE
Registered
...
Recursos “group” do NetBIOS
Named Resource
Hexidecimal Byte Value
Standard Workstation group
00
Logon Server
1C
Master Browser name
1D
Normal Group name (used in browser elections)
1E
Internet Group name (administrative)
20
<01><02>__MSBROWSE__<02>
01
Comando NBTSTAT
D:\> NBTSTAT -a hydra
NetBIOS Remote Machine Name Table,(continued)
Name
Type
Status
--------------------------------------------SIMPLE
<00> GROUP
Registered
SIMPLE
<1E> GROUP
Registered
..__MSBROWSE__. <01> GROUP
Registered
Configuração Samba
• Smb.conf – (dividido em [seções] e parâmetros)
– [global] nesta seção todo o parâmetro configurado serve para
todas as seções, salvo configuração específica.
– [home] conexões com diretórios de trabalho e pessoais.
Arquivo smb.conf
# Global parameters
[global]
# Nome do Servidor atribuído no NetBios
netbios name = LINUX
# Num. IP da Interface do Servidor
interfaces = 192.168.1.100/255.255.255.0
# Nome do Servidor SAMBA
server string = LINUX %v %h
# Utiliza senha criptografadas
encrypt passwords = yes
...arquivo smb.conf
# Arquivo onde as senhas do SAMBA irão ser gravadas
smb passwd file = /etc/smbpasswd
# Informa que o update da senha será criptografado
update encrypted = yes
# Aceita senha vazia
null passwords = yes
# Arquivo de logs do SAMBA
log file = /var/log/samba/log.%m
# Tamanho máximo do arquivo de log em Kilobytes
max log size = 50
...arquivo smb.conf
# Verifica o estado da conexão.
keepalive = 20
# Esta opçao incrementa o velocidade de acesso
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
# Arquivos onde se encontram as definições das impressoras
printcap name = /etc/printcap
# O nivel de eleição do servidor de dominio. Default e' 20
os level = 20
# Nao utiliza DNS com servidor proxy
dns proxy = No
# Suporte para utilizar servidores WINS
wins support = no
hosts allow = 192.168.1. 192.168.2. 127.
...arquivo smb.conf
# Modo compartilhado de arquivos
share modes = yes
# Tipo de Autenticação
security = user
# Preserva o nome dos arquivos
preserve case = yes
# Sincroniza a senha com o LINUX
unix password sync = no
# Indica qual o programa que ira autenticar as senhas
passwd program = /usr/bin/passwd
# Nome do grupo do ambiente Windows
workgroup = curso
# Este parametro e' somente usado com security=share, o valor default e'
never
map to guest = never
...arquivo smb.conf
#Faz a combinaçao entre maiusculas e minusculas da senha ate n
caracteres.
password level = 32
# Elege um servidor para nmbd, caso utilize servidor de senha NT coloque
este item como yes
preferred master = yes
# Utilizado para configurar um expecifico dominio, somente utilizado para
que o SAMBA autentique os usuarios no NT
domain master = yes
...arquivo smb.conf
# Dominio master esta localizado no Linux
local master = yes
# Auto-desconexao
dead time = 0
# Sincroniza a data/hora do Servidor e dos clientes
time server = True
# Nivel de debug do sistema
debug level = 0
# Carrega as Impressoras
load printers = yes
...Exemplo arquivo smb.conf
Smb.conf
Mapeamentos
•
No diretório /home/netlogon, adicionar o arquivo %U.bat.
–
–
–
–
–
Net time \\linux /set /yes.
Net use y: \\linux\projetos.
.
.
.
Variáveis de substituição
• Variável Descrição
–
–
–
–
–
–
–
–
%S Nome do serviço (compartilhamento) atual.
%u Nome do usuário.
%g Nome do grupo.
%H Nome do diretório pessoal do usuário (HOME).
%m Nome da máquina utilizada pelo usuário (ex. pc1001).
%L Nome do servidor NetBIOS.
%M Nome Internet da máquina cliente.
%a Nome do sistema operacional da máquina do cliente
(ex.wfw, win95,WinNT).
– %I Número IP da máquina cliente.
– %T Data e horário.
Parâmetros
• Admin users (S)
– Usuários que terão privilégios de administração do
compartilhamento, com poderes de superusuário no samba.
Exemplo:
• admin user = l.linux, d.linux
• announce as (G)
– Especifica Servidor de Nomes NetBIOS que será divulgado na
rede. O padrão é igual a Windows NT. As opções válidas são "NT",
"NT Server", "NT Workstation", "Win95". Exemplo:
• Announce as = Win95
• browseable (S)
– Controla se o compartilhamento será visualizado na lista de
recursos disponíveis.
• browseable = Yes
...Parâmetros
•
comment (S)
– Contém o texto que será visualizado pelo usuário quando solicita uma lista
de recursos disponíveis na rede. Exemplo:
• comment = Servidor Linux
•
copy (S)
– Permite que a seção atual seja uma cópia de qualquer seção anterior.
Exemplo:
• Copy = home
•
create mode (S)
– Define as permissões que serão utilizadas na criação de arquivos no
recurso compartilhado. Exemplo:
• create mode = 0775
...Parâmetros
• guest account (S)
– Define o nome do usuário usado para acessar os
compartilhamentos definidos com o parâmetro guest
ok'.Exemplo:
• guest account = tatu
• guest ok (S)
– Caso yes', não solicita senha ao usuário. Os privilégios
serão iguais aos determinados para a conta "guest account“.
Exemplo:
• guest ok = yes
• hosts deny (S)
– Hosts sem permissão de acesso. Exemplo:
• hosts deny = 150.203.5. máquina.domínio.com.br
...Parâmetros
• hosts allow (S)
– Hosts com permissão de acesso.
• hosts allow = 192.168.1. EXCEPT 192.168.1.60
• allow hosts = 192.168.1.
• load printers (G)
– Determina se as impressoras definidas no printcap serão
disponibilizadas na lista padrão de recursos. Exemplo:
• load printers = yes
• max connections (S)
– Número máximo de conexões simultâneas a um
determinado serviço. Exemplo:
• max connections = 10
...Parâmetros
•
path (S)
– Caminho do Diretório de acesso. Exemplo:
• path = /home/arquivos
•
printer (S)
– Nome da impressora para a qual os serviços de impressão serão enviados.
Exemplo:
• printer name = laserwriter
•
workgroup (G)
– Grupo de trabalho do servidor ou domínio quando "security=domain".
Exemplo:
• workgroup = Linux
...Parâmetros
• security (G)
– Forma de Autenticação. opções:
•
•
•
•
•
"security=share": senhas por recurso compartilhado.
"security=user": senha por usuário.
"security=server": validação em um server SMB ex. NT.
"security=domain": somente se num dominio NT.
Exemplo:
– security = USER
...Parâmetros
• writeable (S)
– Permitida a criação ou modificação de arquivos no diretório
compartilhado. Exemplos:
• read only = no
• writeable = yes
• write ok = yes
Utilizando o Samba
• Testparm.
• Smbclient –L host. (ver compart.)
– Smbclient //host/share passwd (usar share)
Usuários e senhas
• smbpasswd [opções] [nome do usuário]
– Cadastrar usuários no SAMBA
• smbpasswd –a [nomedousuario]
– Deletar usuários no SAMBA
• smbpasswd –x [nomedousuario]
– Habilitar usuários no SAMBA
• smbpasswd –e [nomedousuario]
– Desabilitar usuários no SAMBA
• smbpasswd –e [nomedousuario]
Configuração estação win
... Configuração estação win
Adm via Web
• Swat. (instalar)
– Inetd.conf  liberar swat.
– Verificar se a porta 901 está configurada no
arquivo services.
– http://host:901/.
Samba – Pré-requisitos
•
Rede deve estar corretamente instalada e configurada.
•
As estações Windows® devem utilizar o protocolo TCP/IP.
•
•
•
•
samba
linuxconf-samba
samba-clients (opcional)
samba-swat (opcional)
Samba - Configuração
• Smb.conf  Este arquivo determina os recursos compartilhados e
restrições do sistema.
• Este arquivo é constituído de sessões com cabeçalhos.
[global][homes][printers]...
• A seção [global] define variáveis que Samba usará para definir o
compartilhamento de todos os recursos.
• A seção [homes] permite aos usuários remotos acessar seus diretórios
home na máquina Linux.
O que pode ser feito com
SAMBA
•
1. Compartilhar uma unidade de Linux com máquinas Windows.
•
2. Compartilhar uma unidade de Windows com máquinas Linux.
•
3. Compartilhar uma impressora de Linux com máquinas Windows.
•
4. Compartilhar uma impressora de Windows com máquinas Linux.
Opções de serviço
• Configuração Base.
–
–
–
–
–
Gerenciador de contas do SMB.
Descrição do Servidor.
Grupo de trabalho.
Nome do NetBios(opc).
Apelidos do NetBios(opc).
...Opções do serviço
• Senhas.
–
–
–
–
–
Modo de Autenticação.
Mapear para guest.
Servidor de Senha.
Nivel de senha.
Programa Password.
• Acesso
– Permite/proíbe máquinas.
...Opções do acesso
• Colocando em rede.
–
–
–
–
–
–
Nível de OS.
Anúncio remoto.
Navegadores remotos síncronos.
Servidor Wins.
Interfaces.
Ordem de resolução de nomes.
...Opções do serviço
• Contas automáticas.
– Adiciona script do usuário.
– Apaga script do usuário.
• Características.
–
–
–
–
–
Conta convidado.
Tempo limite de inatividade.
Nível de depuração.
Serviço padrão.
Comando WinPopup
Download

Samba