Você está na página 1de 11

SAMBA é uma aplicaçao que utiliza o protocolo SMB (no Linux, os "server daemons" SMBD e NMBD) permitindo compatibilidade

com
redes que utilizam este protocolo, principalmente redes NetBios da Microsoft. Com o SAMBA é possível compartilhar diretórios,
impressoras, acessar arquivos na rede exatamente como em redes Microsoft. Mas neste caso, seu servidor é um Linux rodando uma
aplicaçao específica.

O curso, com base na distribuição Debian, começa na Segunda-Feira e termina no Domingo. Todo o conteúdo do curso estará visível
somente a partir da data de início. Para começar o curso você deve ler o Guia do aluno a seguir.

Conteúdo do Curso

• site: http://focalinux.cipsga.org.br/guia/avancado/

Licença: Copyleft © 1999-2005 - Gleydson Mazioli da Silva.


Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version
1.1 or any later version published by the Free Software Foundation; A copy of the license is included in the section entitled "GNU Free
Documentation License".

• artigo: http://br-linux.org/artigos/samba_intro.htm
• artigo: http://www.guiadohardware.net/artigos/316/; escrito por Carlos E. Morimoto.

OBJETIVO

Qualificar técnicos e programadores na utilização do software SAMBA.

PÚBLICO ALVO

Técnicos e Programadores que desejam utilizar o SAMBA para gerenciar compartilhamento de recursos em redes com diferentes
sistemas operacionais, especialmente redes compostas por máquinas Windows.

PRÉ-REQUISITOS

Os usuários deverão ser, necessariamente, funcionários públicos e ter conhecimentos básicos para operar um computador e
fundamentos de rede.

DESCRIÇÃO

O curso de SAMBA será realizado na modalidade EAD e utilizará a plataforma Moodle como ferramenta de aprendizagem. Ele é composto
de um módulo de aprendizado que será dado na primeira semana com uma avalição ao final do crso. O material didático estará
disponível on-line de acordo com as datas pré-estabelecidas no calendário. A versão utilizada para o SAMBA será a 3.0.14a.

METODOLOGIA

O curso está dividido da seguinte maneira:

Cronograma Descrição das atividades


Relação de todas as atividades do curso:
Lição 1 - Introdução
Lição 2 - Instalação
Lição 3 - Conceitos gerais de Configuração
De Segunda-Feira a Domingo Livro 4 - Arquivo de configuração do Samba
Livro 5 - Compartilhamentos
Livro 6 - Samba como PDC
Livro 7 - Ferramentas gráficas de administração
Avaliação final

As lições contém o contéudo principal. Elas poderão ser acessadas quantas vezes forem necessárias, desde que esteja dentro da semana
programada. Ao final de uma lição, você receberá uma nota de acordo com o seu desempenho. Responda com atenção às perguntas de
cada lição, pois elas serão consideradas na sua nota final. Caso sua nota numa determinada lição for menor do que 6.0, sugerimos que
você faça novamente esta lição.

Ao final do curso será disponibilizada a avaliação referente ao curso. Tanto as notas das lições quanto a da avaliação serão consideradas
para a nota final. Todos os módulos ficarão visíveis para que possam ser consultados durante a avaliação final.

Aconselhamos a leitura da "Ambientação do Moodle" para que você conheça a plataforma de Ensino a Distância, evitando dificuldades
advindas do "desconhecimento" sobre a mesma.
Os instrutores estarão a sua disposição ao longo de todo curso. Qualquer dúvida deverá ser enviada no fórum. Diariamente os
monitores darão respostas e esclarecimentos.

PROGRAMA

Semana 1

• Introdução
• Instalação
• Conceitos gerais de configuração
• Arquivo de configuração do Samba
• Compartilhamentos
• Samba com PDC
• Ferramentas gráficas de administração

AVALIAÇÃO

Toda a avaliação será feita on-line.

Aspectos a serem considerados na avaliação:

• Iniciativa e autonomia no processo de aprendizagem e de produção de conhecimento;


• Capacidade de pesquisa e abordagem criativa na solução de problemas apresentados.

Instrumentos de avaliação:

• Avaliação final

Ao final do curso, o participante fará a avaliação final referente a todo o conteúdo do curso. Para a aprovação e obtenção do certificado o
participante deverá obter nota final maior ou igual a 6.0 de acordo com a fórmula abaixo:

Nota Final = ((ML x 7) + (AF x 3)) / 10

ML = Média aritmética das lições


AF = Avaliação final

Sua participação será importante em todas as atividades propostas.

BIBLIOGRAFIA

Site official: http://www.samba.org


Guia em Português: http://focalinux.cipsga.org.br/guia/avancado/ch-s-samba.htm

AULA1 - INTRODUÇÃO

O SAMBA é um servidor e conjunto de ferramentas que permite que máquinas Linux e Windows se comuniquem
entre si, compartilhando serviços (arquivos, diretório, impressão) através do protocolo SMB (Server Message
Block)/CIFS (Common Internet File System), equivalentes a implementação NetBEUI no Windows. O SAMBA é
uma das soluções em ambiente UNIX capaz de interligar redes heterogêneas.

Na lógica da rede Windows o NetBEUI é o protocolo e o NETBIOS define a forma com que os dados são
transportados. Não é correto dizer que o NetBIOS é o protocolo, como muitos fazem.

Com o SAMBA, é possível construir domínios completos, fazer controle de acesso a nível de usuário,
compartilhamento, montar um servidor WINS, servidor de domínio, impressão, etc. Na maioria dos casos o
controle de acesso e exibição de diretórios no samba é mais minucioso e personalizável que no próprio Windows.

HISTORIA
Andrew Tridgell - Desenvolveu o samba porque precisava montar um volume Unix em sua máquina DOS.
Inicialmente ele utilizava o NFS, mas um aplicativo precisava de suporte NetBIOS. Andrew então utilizou um
método muito avançado usado por administradores para detectar problemas: escreveu um sniffer de pacotes que
atendesse aos requerimentos para ter uma única função: analisar e auxilia-lo a interpretar todo o tráfego NetBIOS
da rede.

Ele escreveu o primeiro código que fez o servidor Unix aparecer como um servidor de arquivos Windows para sua
máquina DOS que foi publicado mais ou menos em meados de 1992 quando também começou a receber patches.
Satisfeito com o funcionamento de seu trabalho, deixou seu trabalho de lado por quase 2 anos. Um dia, ele resolveu
testar a máquina Windows de sua esposa com sua máquina Linux, e ficou maravilhado com o funcionamento do
programa que criou e veio a descobrir que o protocolo era documentado e resolveu levar este trabalho a fundo
melhorando e implementando novas funções.

O SAMBA atualmente é um servidor fundamental para a migração de pequenos grupos de trabalho à grandes
domínios com clientes mistos. Nenhum servidor de rede NetBEUI conhecido proporciona tanta flexibilidade de
acesso a clientes como o SAMBA para compartilhamento de arquivos/impressão em rede. As funções de segurança
que foram adicionadas ao SAMBA hoje garantem um controle mais rigoroso que a própria implementação usada
no Windows NT, incluindo os serviços de diretórios, mapeamento entre IDs de usuários Windows com Linux,
PDC, perfis móveis e uma coisa que inclusive apresenta problemas no Windows: compatibilidade total entre as
diferentes implementações de versões do Windows.

Sua configuração pode receber ajustes finos pelo administrador nos soquetes TCP de transmissão, recepção, cache
por compartilhamento, configurações físicas que afetam a performance de rede. Seu código vem sendo melhorado
constantemente por hackers, obtendo excelente performance com hardwares mais obsoletos. O guia tem por
objetivo abordar estes temas e permitir que você configure seu sistema com uma performance batendo a mesma
alcançada em um servidor NT dedicado.

Porque usar o Samba


Com o SAMBA é possível compartilhar diretórios, impressoras, acessar arquivos na rede exatamente como em
redes Microsoft. Mas neste caso, seu servidor é um Linux rodando uma aplicação específica. O Windows NT e o
2000 (assim como o NetWare 5 e outros presentes no mercado) sao reconhecidos mundialmente por sua segurança
e escalabilidade, mas o SAMBA possui muitas vantagens que podem se transformar em soluções e economia para
sua empresa. Confira:

Permite compatibilidade com estações Windows (de WfW a 2000) e servidores WinNT 4.0 e 2000. Entre
servidores e estações Linux (com Interface Gráfica por exemplo) a compatibilidade é total.

O SAMBA é 100% configurável, com a grande vantagem de centralizar esta configuraçao em um único arquivo, o
smb.conf. Sem dúvida é muito interessante ter a possibilidade de restaurar toda a configuração que disponibiliza
seu Servidor de Arquivos (inclusive as permissões de acesso) através do backup de apenas 1 arquivo, em casos de
desastre. Porém isso não quer dizer que não seja necessário o backup de outros arquivos de configuração...

Todo o SAMBA pode ser configurado remotamente através de acesso seguro, além do recebimento por email de
informações do estado do servidor (bastando utilizar um script específico que busca informações nos arquivos de
log e cria um arquivo que pode ser enviado por email).

Em se falando de economia não há o que discutir: o Linux e o SAMBA estão disponíveis para download na
Internet sem ônus algum para qualquer usuário comum ou empresa que se interesse em utilizá-lo, sem custos com
licenças ou atualizações.
O suporte está disponível 24h por dia, o ano todo: além do próprio site do SAMBA existem milhares de sites e
listas de discussão dedicadas ao assunto, entre outras documentações e artigos em sites de renome por
Administradores e Engenheiros de Redes Linux. Muita coisa já está em nosso idioma facilitando os iniciantes e
interessados em leitura. Muitos sites nacionais sao especializados em Linux e Segurança para Linux.

Características
Segue abaixo algumas funcionalidades importantes de aplicações do samba e seu conjunto de ferramentas:

• Compartilhamento de arquivos entre máquinas Windows e Linux ou de máquinas Linux (sendo o servidor
SAMBA) com outro SO que tenha um cliente NetBEUI (Macintosh, OS/2, LanManager, etc).
• Montar um servidor de compartilhamento de impressão no Linux que receberá a impressão de outras
máquinas Windows da rede.
• Controle de acesso aos recursos compartilhados no servidor através de diversos métodos
(compartilhamento, usuário, domínio, servidor).
• Controle de acesso leitura/gravação por compartilhamento.
• Controle de acesso de leitura/gravação por usuário autenticado.
• Possibilidade de definir contas de "Convidados", que podem se conectar sem fornecer senha.
• Possibilidade de uso do banco de dados de senha do sistema (/etc/passwd), autenticação usando o arquivo
de dados criptografados do samba, LDAP, PAM, etc.
• Controle de cache e opções de tunning por compartilhamento.
• Permite ocultar o conteúdo de determinados diretórios que não quer que sejam exibidos ao usuário de forma
fácil.
• Possui configuração bastante flexível com relação ao mapeamento de nomes DOS => UNIX e vice versa,
página de código, acentuação, etc.
• Permite o uso de aliases na rede para identificar uma máquina com outro nome e simular uma rede
NetBIOS virtual.
• O samba possibilita ajuste fino nas configurações de transmissão e recepção dos pacotes TCP/IP, como
forma de garantir a melhor performance possível de acordo com suas instalações.
• Permite o uso do gerenciador de mensagem do Linux (Linpopup) para a troca de mensagens com estações
Windows via NetBios. Com a flexibilidade do samba é possível até redirecionar a mensagem recebida via
e-mail ou pager.
• Possui suporte completo a servidor WINS (também chamado de NBNS - NetBios Name Service) de rede. A
configuração é bastante fácil.
• Faz auditoria tanto dos acessos a pesquisa de nomes na rede como acesso a compartilhamentos. Entre os
detalhes salvos estão a data de acesso, IP de origem, etc.
• Suporte completo a controlador de domínio Windows (PDC).
• Suporte quase completo a backup do controlador de domínio (BDC). Até a versão 2.2 do samba, o suporte a
BDC é parcial.
• Permite montar unidades mapeadas de sistemas Windows ou outros servidores Linux como um diretório no
Linux.
• Permite a configuração de recursos simples através de programas de configuração gráficos, tanto via
sistema, como via web.
• Permite executar comandos no acesso ao compartilhamento ou quando o acesso ao compartilhamento é
finalizado.
• Com um pouco de conhecimento e habilidade de administração de sistemas Linux, é possível criar
ambientes de auditoria e monitoração até monitoração de acesso a compartilhamento em tempo real.

Requerimentos de Hardware
Processador 386 ou superior, 15 MB de espaço em disco (não levando em conta os logs gerados e espaço para
arquivos de usuários, aplicativos, etc.), 8 MB de memória RAM.

Outros utilitários importantes


Outros utilitários importantes para a operação do clientes samba:

• smbclient - Ferramenta para navegação e gerenciamento de arquivos, diretórios e impressoras


compartilhados por servidores Windows ou samba.
• smbfs - Pacote que possui ferramentas para o mapeamento de arquivos e diretórios compartilhados por
servidores Windows ou samba em um diretório local.
• winbind - Daemon que resolve nomes de usuários e grupo através de um servidor NT/SAMBA e mapeia os
UIDs/GIDs deste servidor como usuários locais.

Lição 2 - Instalação

Obtendo e Instalando o Samba


Pacotes binários do Samba são incluídos em quase todas as distribuições Linux. Há também alguns pacotes
disponíveis no site, www.samba.org . Na home page também haverá instruções caso você deseje compilar os fontes
do Samba

Configurando o APT
Neste curso optamos por instalar a versão Samba disponível no repositório Stable do Debian. Utilizaremos a
ferramenta APT para a instalação do Samba. O APT é uma ferramenta desenvolvida pela comunidade Linux
Debian, mas que é utilizada pela maior parte das distribuições Linux.

O APT inseriu o conceito de repositório, ou seja, um local na net de onde são baixados os softwares para
instalação. Esse princípio facilita para o usuário, pois, você escolhe os seus programas, seus repositórios e deixa o
APT gerenciar a instalação.
Para tanto, precisamos observar se o arquivo de configuração do APT está correto. Com o terminal aberto, siga as
seguintes instruções:

• shell > vi /etc/apt/sources.list

Este comando abre o arquivo souces.list, arquivo que guarda as “fontes” dos arquivos que serão obtidos, para
edição através do editor “vi”. Algo semelhante ao texto abaixo apareçerá:

#deb file:///cdrom/ sarge main


deb http://ftp.br.debian.org/debian/ stable main
deb-src http://ftp.br.debian.org/debian/ stable main
deb http://security.debian.org/ stable/updates main

O caracter “#” significa que a linha está comentada, ou seja, não será considerada.
A primeira palavra em cada linha, deb ou deb-src, indica o tipo de arquivo. Seguido pelo endereço do servidor.

Não precisamos necessariamente obter os arquivos dessas “fontes”. Podem ser utilizados outros repositórios.
Depois de modificado o source.list, precisamos sempre atualizar a lista de softwares disponíveis.

• shell > apt-get update

Instalando o Samba no Debian


Instalar o samba é um procedimento muito simples, vamos aos passos:

• Shell > apt-get install samba smbclient smbfs

O comando acima instala o conjunto de aplicativos samba. O pacote samba é o servidor samba e os pacotes
smbclient e smbfs fazem parte dos aplicativos cliente. Caso deseje apenas mapear compartilhamentos remotos na
máquina Linux, instale somente os 2 últimos pacotes.

No Debian existe um utilitário que auxilia a configuração de determinados softwares logo após sua instalação, o
Debconf. Uma tela de configuração do Servidor apareçerá, mas a frente será explicado melhor estas configurações:

Coloque um nome de trabalho e continue.


Deixe a opção padrão "usar senhas criptografadas" clicando em sim.
A opção "Não" vem como padrão, mas a frente será explicado como usar as configurações WINS fornecidas pelo
DHPC.

Selecione daemons para continuar.

Deixe a opção para prosseguir, depois alteraremos o que for necessário.


Pronto, o servidor Samba, juntamente com o cliente está instalado na máquina, bastando para agora configurá-lo.

Iniciando o Servidor

O servidor samba pode ser executado tanto via inetd como daemon:

inetd
No modo inetd, o servidor de nomes nmbd será carregado assim que for feita a primeira requisição de pesquisa e
ficará residente na memória. No caso de acesso a um compartilhamento, o smbd será carregado e lerá a
configuração em smb.conf a cada acesso do cliente a um compartilhamento. Quando o samba opera via inetd,
ele não usa o controle de acesso dos arquivos hosts.allow e hosts.deny.
Para reiniciar o samba digite killall -HUP nmbd. Não é necessário reiniciar o serviço smbd, conforme foi explicado
acima.

daemon
Quando opera no modo daemon, ambos os daemons nmbd e smbd são carregados. No caso de um acesso a
compartilhamento, é criado um processo filho do smbd que é finalizado assim que o compartilhamento não for
mais usado.
Para iniciar o samba em modo daemon digite: /etc/init.d/samba start, para interromper o samba: /etc/init.d/samba
stop e para reiniciar: /etc/init.d/samba restart.

Se desejar mudar do modo daemon para inetd ou vice versa, edite o arquivo /etc/default/samba e modifique o
valor da linha RUN_MODE= para daemons ou inetd. Uma forma de fazer isso automaticamente é executando o
dpkg-reconfigure samba.

Lição 3 - Conceitos Gerais de Configuração

Nome de máquina (nome NetBios)

Toda a máquina em uma rede NetBEUI é identificada por um nome, este nome deve ser único na rede e permite
que outras máquinas acessem os recursos disponibilizados ou que sejam enviadas mensagens para a máquina.
Este nome é composto de 16 caracteres, sendo 15 que identificam a máquina e o último o tipo de serviço que ela
disponibiliza. O tipo de serviço é associado com o nome da máquina e registrado em servidores de nomes
conforme a configuração da máquina (você verá isto mais adiante). O nome de máquina é especificado nas
diretivas netbios name e netbios aliases.

Grupo de trabalho

O grupo de trabalho organiza a estrutura de máquinas da rede em forma de árvore, facilitando sua pesquisa e
localização. Tomemos como exemplo uma empresa grande com os departamentos comunicação, redes, web, rh,
as máquinas que pertencem ao grupo de redes serão agrupadas no programa de navegação:

redes

• gleydson
• tecnico
• marcelo
• henrique
• michelle

rh

• mrpaoduro
web

• web1
• web2
• web3

comunicacao

• comunic1
• comunic2
• comunic3

A segurança no acesso a arquivos e diretórios na configuração de grupo de trabalho é controlada pela própria
máquina, normalmente usando segurança a nível de compartilhamento. Esta segurança funciona definindo um
usuário/senha para acessar cada compartilhamento que a máquina possui. O Lan Manager, Windows for
Workgroups, Windows 95, Windows 98, XP Home Edition usam este nível

Domínio

O funcionamento é semelhante ao grupo de trabalho, com a diferença que a segurança é controlada pela
máquina central (PDC) usando diretivas de acesso e grupos. O PDC (Primary Domain Controller) deverá ter
todas as contas de acesso que serão utilizadas pelo usuário para acessar os recursos existentes em outras
máquinas, script de logon que poderá ser executado em cada máquina para fazer ajustes, sincronismo,
manutenção ou qualquer outra tarefa programada pelo administrador do sistema.

Compartilhamento

Um compartilhamento é um recurso da máquina local que é disponibilizado para acesso via rede, que poderá ser
mapeada por outra máquina. O compartilhamento pode ser um diretório, arquivo, impressora. Além de permitir o
acesso do usuário, o compartilhamento pode ser protegido por senha, e ter controle de acesso de
leitura/gravação, monitoração de acessos, diretórios ocultos, autenticação via PDC (domínio) e outras formas
para restringir e garantir segurança na disponibilização dos dados.

Um compartilhamento no SAMBA pode ser acessível publicamente (sem senha) ou estar rigidamente protegido
tendo que passar por diversas barreiras para chegar ao seu conteúdo, como senhas, endereço de origem,
interfaces, usuário autorizados, permissões de visualização, etc.

Mapeamento

Mapear significa pegar um diretório/arquivo/impressora compartilhado por alguma máquina da rede para ser
acessada pela máquina local. Para mapear algum recurso de rede, é necessário que ele seja compartilhado na
outra máquina. Por exemplo, o diretório /usr compartilhado com o nome usr, pode ser mapeado por uma máquina
Windows como a unidade F, ou mapeado por uma máquina Linux no diretório /mnt/samba.

O programa responsável por mapear unidades compartilhadas no Linux é o smbmount e smbclient.

Navegação na Rede e controle de domínio

Esta função é controlada pelo nmbd que fica ativo o tempo todo disponibilizando os recursos da máquina na
rede, participando de eleições NetBIOS, fazendo logon de máquinas no domínio, etc.
A função de navegação na rede é feita utilizando o compartilhamento IPCS. Este compartilhamento possui
acesso público somente leitura e utiliza o usuário "guest" para disponibilização de seus.

A função de navegação (browsing) poderá não funcionar corretamente caso a máquina não consiga resolver
nomes NetBIOS para endereços IP.