Aula 08 - Samba (Guia Foca Linux)

Aula 08 - Samba (Guia Foca Linux)

(Parte 1 de 7)

Guia Foca GNU/Linux Gleydson Mazioli da Silva <gleydson@guiafoca.org>

Versão 6.42 - terça, 27 de novembro de 2007

Resumo

Este documento tem por objetivo ser uma referência ao aprendizado do usuário e um guia de consulta, operação e configuração de sistemas Linux (e outros tipos de *ix). A última versão deste guia pode ser encontrada na Página Oficial do Foca GNU/Linux (http://w. guiafoca.org). Novas versões são lançadas com uma freqüência mensal e você pode receber avisos de novos lançamentos deste guia preenchendo um formulário na página Web.

Nota de Copyright

Copyleft © 2007 - 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”.

Sumário

1.1 Considerações sobre o nível Avançado2
1.2 Pré-requisitos para a utilização deste guia2
1.3 O Linux2
1.3.1 Algumas Características do Linux3
2.1 Monitorando os logs7
2.1.1 Destruindo arquivos/partições de forma segura7
2.2 Curingas8

2 Explicações Básicas 7

3.1 Introdução1
3.1.1 Versão documentada12
3.1.2 História12
3.1.3 Contribuindo12
3.1.4 Características13
3.1.5 Ficha técnica14
3.1.6 Requerimentos de Hardware14
3.1.7 Arquivos de log criados14
3.1.8 Instalação14
3.1.9 Iniciando o servidor/reiniciando/recarregando a configuração14
3.1.10 Opções de linha de comando15
3.2.1 Nome de máquina (nome NetBios)15
3.2.2 Grupo de trabalho16
3.2.3 Domínio16
3.2.4 Compartilhamento17
3.2.5 Mapeamento17
3.2.6 Navegação na Rede e controle de domínio17
3.2.7 Arquivo de configuração do samba18
3.2.8 Seção [global]19
3.2.9 Seção [homes]24
3.2.10 Seção [printers]25
3.2.1 Buscando problemas na configuração25
3.2.12 Níveis de sistema para eleição de rede26
3.2.13 Variáveis de substituição27
3.3 Compartilhamento de arquivos e diretórios28
3.3.1 Descrição de parâmetros usados em compartilhamento29
3.4 Configuração em Grupo de Trabalho31
3.5 Resolução de nomes de máquinas no samba3
3.5.1 Arquivo /etc/samba/lmhosts3
3.5.2 WINS35
3.6 Servidor de data/hora36
3.6.1 Configuração do serviço de data/hora no SAMBA36
3.6.2 Sincronizando a data/hora no Cliente37
3.7 Configuração em Domínio37
3.7.1 Uma breve introdução a um Domínio de rede37
3.7.2 Local Master Browser38
3.7.3 Domain Master Browser38
3.7.4 Configurando um servidor PDC no SAMBA38
3.7.5 Contas de máquinas de domínio40
3.7.6 Criando uma conta de administrador de domínio41
3.7.7 Criando Scripts de logon42
3.7.9 Modificações de permissões de acesso pelos clientes do domínio46
3.8 Ativando o suporte a senhas criptografadas46
3.8.1 Migrando de senhas texto plano para criptografadas48
3.8.2 Adicionando usuários no smbpasswd48
3.8.3 Removendo usuários do smbpasswd48
3.8.4 Desabilitando uma conta no smbpasswd49
3.8.5 Habilitando uma conta no smbpasswd49
3.8.6 Alterando a senha de um usuário49
3.8.7 Definindo acesso sem senha para o usuário50
3.9 Ativando o suporte a senhas em texto plano50
3.9.1 Configurando o acesso de clientes para uso de senhas em texto plano50
3.10 Mapeamento de usuários/grupos em clientes53
3.10.1 Mapeamento de usuários/grupos domínio em Windows53
3.10.2 Mapeamento de usuários/grupos domínio em Linux53
3.1 Compartilhamento de impressão no servidor SAMBA5
3.1.1 Configurando o Linux como um servidor de impressão Windows5
3.12 Controle de acesso ao servidor SAMBA5
3.12.1 Nível de acesso de usuários conectados ao SAMBA56
3.12.2 Restringindo o acesso por IP/rede56
3.12.3 Restringindo o acesso por interface de rede57
3.12.4 Restringindo o acesso por usuários58
3.12.5 Evite o uso do parâmetro hosts equiv!59
3.12.6 Evite o uso de senhas em branco!59
3.12.7 Criando um compartilhamento para acesso sem senha59
3.12.8 Criando um compartilhamento com acesso somente leitura60
3.12.9 Criando um compartilhamento com acesso leitura/gravação61
3.12.10 Excessão de acesso na permissão padrão de compartilhamento62
3.12.1 Restringindo o IPC$ e ADMIN$62
3.12.12 Criando um compartilhamento invisível63
3.12.13 Executando comandos antes e após o acesso ao compartilhamento64

SUMÁRIO i 3.12.14 Considerações de segurança com o uso do parâmetro “public = yes” . . . 65

3.12.15 Senhas criptografadas ou em texto puro?65
3.12.16 Mapeamento de nomes de usuários6
3.13 Melhorando a performance do compartilhamento/servidor67
3.14 Configuração de Clientes NetBEUI68
3.14.1 Considerações sobre o Windows for Workgroups e LanManager69
3.14.2 Configurando clientes em Grupo de Trabalho69
3.14.3 Configurando clientes em Domínio73
3.14.4 Erros conhecidos durante o logon do cliente7
3.14.5 Programas de navegação gráficos78
3.14.6 Cliente de configuração gráficos78
3.15 Exemplos de configuração do servidor SAMBA79
3.15.1 Grupo de Trabalho com acesso público79
3.15.2 Grupo de Trabalho com acesso por usuário81
3.15.3 Domínio82

SUMÁRIO iv

4.1 Sobre este guia87
4.2 Sobre o Autor87
4.3 Referências de auxílio ao desenvolvimento do guia8
4.4 Onde encontrar a versão mais nova do guia?89
4.5 Colaboradores do Guia89
4.6 Marcas Registradas90
4.7 Futuras versões90

Capítulo 1 Introdução

Bem vindo ao guia Foca GNU/Linux. O nome FOCA significa FOnte de Consulta e Aprendizado. Este guia é dividido em 3 níveis de aprendizado e versão que esta lendo agora contém: • Avançado

Para melhor organização, dividi o guia em 3 versões: Iniciante, Intermediário e Avançado. Sendo que a versão Iniciante é voltada para o usuário que não tem nenhuma experiência no GNU/Linux. A última versão deste guia pode ser encontrada em: Página Oficial do guia Foca GNU/Linux http://www.guiafoca.org

Caso tiver alguma sugestão, correção, crítica para a melhoria deste guia, envie um e-mail para <gleydson@guiafoca.org>.

O Foca GNU/Linux é atualizado freqüentemente, por este motivo recomendo que preencha a ficha do aviso de atualizações na página web em Página Oficial do guia Foca GNU/Linux http://www.guiafoca.org no fim da página principal. Após preencher a ficha do aviso de atualizações, você receberá um e-mail sobre o lançamento de novas versões do guia e o que foi modificado, desta forma você poderá decidir em copia-la caso a nova versão contenha modificações que considera importantes.

Venho recebendo muitos elegios de pessoas do Brasil (e de paises de fora também) elogiando o trabalho e a qualidade da documentação. Agradeço a todos pelo apoio, tenham certeza que este trabalho é desenvolvido pensando em repassar um pouco do conhecimento que adquiri ao começar o uso do Linux.

Também venho recebendo muitos e-mails de pessoas que passaram na prova LPI nível 1 e 2 após estudar usando o guia Foca GNU/Linux. Fico bastante feliz por saber disso, pois nunca tive a intenção de tornar o guia uma referência livre para estudo da LPI e hoje é usado para estudo desta difícil certificação que aborda comandos, serviços, configurações, segurança, empacotamento, criptografia, etc.

Capítulo 1. Introdução 2

1.1 Considerações sobre o nível Avançado

Este guia foi compilado incluindo o nível Avançado do guia FOCA GNU/Linux, ele não tem a intenção de focar na configuração de serviços, servidores, aplicativos, nem garantia que ele atenderá a determinada finalidade específica do usuário (principalmente de uma rede, que depende de uma perfeita compreensão para adaptação de acordo com os requisitos de uma instalação local). Seu foco principal é a instalação do serviço, abordando considerações voltadas a segurança, e exemplos de configuração e seu funcionamento.

Com relação a capítulos sobre servidores, é importante observar qual versão é documentada no guia e se confere com a instalada em seu sistema, a fim de que tudo funcione corretamente. Entretanto, na maioria dos casos, as explicações relacionadas a uma versão de um programa são inteiramente válidas em uma nova versão.

1.2 Pré-requisitos para a utilização deste guia

É assumido que você ja tenha experiência na configuração de sistemas Linux, conheça boa parte dos comandos e sua utilização, tenha noções de rede e saiba como procurar documentação para complementar o que vem aprendendo. Enfim, requer que se tiver interesse em se aprofundar em determinada área, que utilize os métodos de busca de documentação sugeridos no guia para complementação do aprendizado. O guia não contém todos os materiais para que a pessoa se torne um expert no assunto, mas contém as referências para documentações mais específicas sobre determinadas áreas do sistema.

Este guia não cobre a instalação do sistema. Para detalhes sobre instalação, consulte a documentação que acompanha sua distribuição GNU/Linux.

O Linux é um sistema operacional criado em 1991 por Linus Torvalds na universidade de Helsinki na Finlândia. É um sistema Operacional de código aberto distribuído gratuitamente pela Internet. Seu código fonte é liberado como Free Software (software livre), sob licença GPL, o aviso de copyright do kernel feito por Linus descreve detalhadamente isto e mesmo ele não pode fechar o sistema para que seja usado apenas comercialmente.

Isto quer dizer que você não precisa pagar nada para usar o Linux, e não é crime fazer cópias para instalar em outros computadores, nós inclusive incentivamos você a fazer isto. Ser um sistema de código aberto pode explicar a performance, estabilidade e velocidade em que novos recursos são adicionados ao sistema.

PararodaroLinuxvocêprecisa,nomínimo,deumcomputador386SXcom2MBdememória (para um kernel até a série 2.2.x) ou 4MB (para kernels 2.4 e 2.6) e 100MB disponíveis em seu disco rígido para uma instalação básica e funcional.

O sistema segue o padrão POSIX que é o mesmo usado por sistemas UNIX e suas variantes. Assim, aprendendo o Linux você não encontrará muita dificuldade em operar um sistema

Capítulo 1. Introdução 3 do tipo UNIX, FreeBSD, HPUX, SunOS, etc., bastando apenas aprender alguns detalhes encontrados em cada sistema.

O código fonte aberto permite que qualquer pessoa veja como o sistema funciona (útil para aprendizado), corrija alguma problema ou faça alguma sugestão sobre sua melhoria, esse é um dos motivos de seu rápido crescimento, do aumento da compatibilidade de periféricos (como novas placas sendo suportadas logo após seu lançamento) e de sua estabilidade.

Outro ponto em que ele se destaca é o suporte que oferece a placas, CD-Roms e outros tipos de dispositivos de última geração e mais antigos (a maioria deles já ultrapassados e sendo completamente suportados pelo sistema operacional). Este é um ponto forte para empresas que desejam manter seus micros em funcionamento e pretendem investir em avanços tecnológicos com as máquinas que possui.

Hoje o Linux é desenvolvido por milhares de pessoas espalhadas pelo mundo, cada uma fazendo sua contribuição ou mantendo alguma parte do kernel gratuitamente. Linus Torvalds ainda trabalha em seu desenvolvimento e na coordenação dos grupos de trabalho do kernel.

O suporte ao sistema também se destaca como sendo o mais eficiente e rápido do que qualquer programa comercial disponível no mercado. Existem centenas de consultores especializados espalhados ao redor do mundo. Você pode se inscrever em uma lista de discussão e relatar sua dúvida ou alguma falha, e sua mensagem será vista por centenas de usuários na Internet e algum irá te ajudar ou avisará as pessoas responsáveis sobre a falha encontrada para devida correção.

1.3.1 Algumas Características do Linux

• É livre e desenvolvido voluntariamente por programadores experientes, hackers, e contribuidores espalhados ao redor do mundo que tem como objetivo a contribuição para a melhoria e crescimento deste sistema operacional. Muitos deles estavam cansados do excesso de propaganda (Marketing) e baixa qualidade de sistemas comerciais existentes

• Também recebe apoio de grandes empresas como IBM, Sun, HP, etc. para seu desenvolvimento

• Convivem sem nenhum tipo de conflito com outros sistemas operacionais (com o DOS,

Windows, OS/2) no mesmo computador. • Multitarefa real

• Multiusuário

• Suporte a nomes extensos de arquivos e diretórios (255 caracteres)

• Conectividade com outros tipos de plataformas como Apple, Sun, Macintosh, Sparc, Alpha,

PowerPc, ARM, Unix, Windows, DOS, etc.

• Utiliza permissões de acesso a arquivos, diretórios e programas em execução na memória RAM. • Proteção entre processos executados na memória RAM

• Suporte a mais de 63 terminais virtuais (consoles)

• Modularização - O Linux somente carrega para a memória o que é usado durante o processamento, liberando totalmente a memória assim que o programa/dispositivo é finalizado

Capítulo 1. Introdução 4

• Devido a modularização, os drivers dos periféricos e recursos do sistema podem ser carregados e removidos completamente da memória RAM a qualquer momento. Os drivers (módulos) ocupam pouco espaço quando carregados na memória RAM (cerca de 6Kb para a Placa de rede NE 2000, por exemplo)

• Não há a necessidade de se reiniciar o sistema após a modificar a configuração de qualquer periférico ou parâmetros de rede. Somente é necessário reiniciar o sistema no caso de uma instalação interna de um novo periférico, falha em algum hardware (queima do processador, placa mãe, etc.).

• Não precisa de um processador potente para funcionar. O sistema roda bem em computadores 386Sx 25 com 4MB de memória RAM (sem rodar o sistema gráfico X, que é recomendado 32MB de RAM). Já pensou no seu desempenho em um Pentium, Xeon, ou Athlon? ;-)

• Suporte nativo a múltiplas CPUs, assim processadores como Dual Core Athlon Duo,

Quad Core tem seu poder de processamento integralmente aproveitado. • Suporte nativo a dispositivos SATA, PATA, Fiber Channel

• Suporte nativo a virtualização, onde o Linux se destaca como plataforma preferida para execução de outros sistemas operacionais.

• O crescimento e novas versões do sistema não provocam lentidão, pelo contrário, a cada nova versão os desenvolvedores procuram buscar maior compatibilidade, acrescentar recursos úteis e melhor desempenho do sistema (como o que aconteceu na passagem do kernel 2.0.x para 2.2.x, da 2.2.x para a 2.4.x).

• Não é requerido pagamento de licença para usa-lo. O GNU/Linux é licenciado de acordo com os termos da GPL.

• Acessa corretamente discos formatados pelo DOS, Windows, Novell, OS/2,

NTFS, SunOS, Amiga, Atari, Mac, etc.

• O LINUX NÃO É VULNERÁVEL A VÍRUS! Devido a separação de privilégios entre processos e respeitadas as recomendações padrão de política de segurança e uso de contas privilegiadas (como a de root, como veremos adiante), programas como vírus tornamse inúteis pois tem sua ação limitada pelas restrições de acesso do sistema de arquivos e execução. Qualquer programa (nocivo ou não) poderá alterar partes do sistema que possui permissões (será abordado como alterar permissões e tornar seu sistema mais restrito no decorrer do guia). Frequentemente são criados exploits que tentam se aproveitar de falhas existentes em sistemas desatualizados e usa-las para danificar o sistema. Erroneamente este tipo de ataque é classificado como vírus por pessoas mal informadas e são resolvidas com sistemas bem mantidos. Em geral, usando uma boa distribuição que tenha um bom sistema de atualização, 9.9% dos problemas com exploits são resolvidos.

• Rede TCP/IP mais rápida que no Windows e tem sua pilha constantemente melhorada.

O GNU/Linux tem suporte nativo a redes TCP/IP e não depende de uma camada intermediária como o WinSock. Em acessos via modem a Internet, a velocidade de transmissão é 10% maior. Jogadores do Quake ou qualquer outro tipo de jogo via Internet preferem o GNU/Linux por causa da maior velocidade do Jogo em rede. É fácil rodar um servidor Quake em seu computador e assim jogar contra vários adversários via Internet.

• Roda aplicações DOS através do DOSEMU, QEMU, BOCHS. Para se ter uma idéia, é possível dar o boot em um sistema DOS qualquer dentro dele e ao mesmo tempo usar a multitarefa deste sistema.

Capítulo 1. Introdução 5

• Roda aplicações Windows através do WINE. • Suporte a dispositivos infravermelho.

• Suporte a rede via rádio amador.

• Suporte a dispositivos Plug-and-Play.

• Suporte a dispositivos USB.

• Suporte nativo a cartões de memória

• Suporte nativo a dispositivos I2C

• Integração com gerenciamento de energia ACPI e APM

• Suporte a Fireware.

• Dispositivos Wireless.

• Vários tipos de firewalls de alta qualidade e com grande poder de segurança de graça.

• Roteamento estático e dinâmico de pacotes.

• Ponte entre Redes, proxy arp

• Proxy Tradicional e Transparente.

• Possui recursos para atender a mais de um endereço IP na mesma placa de rede, sendo muito útil para situações de manutenção em servidores de redes ou para a emulação de “mais computadores” virtualmente. O servidor WEB e FTP podem estar localizados no mesmo computador, mas o usuário que se conecta tem a impressão que a rede possui servidores diferentes.

• Os sistemas de arquivos usados pelo GNU/Linux (Ext3, Ext3, reiserfs, xfs, jfs) organiza os arquivos de forma inteligente evitando a fragmentação e fazendo-o um poderoso sistema para aplicações multi-usuárias exigentes e gravações intensivas.

• Permite a montagem de um servidor de publicação Web, E-mail, News, etc. com um baixo custo e alta performance. O melhor servidor Web do mercado, o Apache, é distribuído gratuitamente junto com a maioria das distribuições Linux. O mesmo acontece com o Sendmail.

• Por ser um sistema operacional de código aberto, você pode ver o que o código fonte (instruções digitadadas pelo programador) faz e adapta-lo as suas necessidades ou de sua empresa. Esta característica é uma segurança a mais para empresas sérias e outros que não querem ter seus dados roubados (você não sabe o que um sistema sem código fonte faz na realidade enquanto esta processando o programa).

• Suporte a diversos dispositivos e periféricos disponíveis no mercado, tanto os novos como obsoletos.

• Pode ser executado em 16 arquiteturas diferentes (Intel, Macintosh, Alpha, Arm, etc.) e diversas outras sub-arquiteturas.

• Empresas especializadas e consultores especializados no suporte ao sistema espalhados por todo o mundo.

• Entre muitas outras características que você descobrirá durante o uso do sistema. TODOS OS ÍTENS DESCRITOS ACIMA SÃO VERDADEIROS E TESTADOS PARA QUE TIVESSEPLENACERTEZADESEUFUNCIONAMENTO.

Capítulo 1. Introdução 6 Capítulo 1. Introdução 6

Capítulo 2 Explicações Básicas

Este capítulo traz explicações sobre os principais componentes existentes no computador e do sistema operacional.

2.1 Monitorando os logs

Os arquivos de logs residem em /var/log e registram tudo o que acontecem com o kernel, com os daemons e utilitários do sistema. Eles são muito importantes tanto para monitorar o que acontece com o seu sistema como para ajudar na solução de problemas diversos. É comum programas como o servidor web, e-mail, mensagens instantaneas, firewall, irc, banco de dados, gravarem os arquivos de log em diretórios próprios dentro de /var/log/programa, desta forma evitam misturar seus arquivos com os de log do sistema residentes em /var/log.

Acostume-se a olhar constantemente os arquivos de log em seu sistema, isto pode ser importante para encontrar possíveis falhas de segurança, tentativa de acesso ao sistema e, principalmente, solucionar problemas (principalmente os mais complicados).

(Parte 1 de 7)

Comentários