Você está na página 1de 98

Guia Foca GNU/Linux

Gleydson Mazioli da Silva <gleydson@guiafoca.org>

Verso 6.43 - sexta, 09 de julho de 2010

Resumo
Este documento tem por objetivo ser uma referncia ao aprendizado do usurio e um guia de consulta, operao e congurao de sistemas Linux (e outros tipos de *ix). A ltima verso deste guia pode ser encontrada na Pgina Ocial do Foca GNU/Linux (http://www. guiafoca.org). Novas verses so lanadas com uma freqncia mensal e voc pode receber avisos de novos lanamentos deste guia preenchendo um formulrio na pgina Web.

Nota de Copyright
Copyleft 2010 - 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.

Sumrio
1 Introduo 1.1 1.2 1.3 Consideraes sobre o nvel Avanado . . . . . . . . . . . . . . . . . . . . . . . . . Pr-requisitos para a utilizao deste guia . . . . . . . . . . . . . . . . . . . . . . . O Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 2 Algumas Caractersticas do Linux . . . . . . . . . . . . . . . . . . . . . . . 1 2 2 2 3 7 7 7 8 11

Explicaes Bsicas 2.1 Monitorando os logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 2.2 Destruindo arquivos/parties de forma segura . . . . . . . . . . . . . . .

Curingas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

SAMBA 3.1

Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 Verso documentada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Histria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Contribuindo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Caractersticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Ficha tcnica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Requerimentos de Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Arquivos de log criados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Instalao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Iniciando o servidor/reiniciando/recarregando a congurao . . . . . . 14

3.1.10 Opes de linha de comando . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.2 Conceitos gerais para a congurao do SAMBA . . . . . . . . . . . . . . . . . . . 15

SUMRIO

ii

3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9

Nome de mquina (nome NetBios) . . . . . . . . . . . . . . . . . . . . . . . 15 Grupo de trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Domnio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Compartilhamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Mapeamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Navegao na Rede e controle de domnio . . . . . . . . . . . . . . . . . . 17 Arquivo de congurao do samba . . . . . . . . . . . . . . . . . . . . . . 18 Seo [global] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Seo [homes] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.2.10 Seo [printers] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.2.11 Buscando problemas na congurao . . . . . . . . . . . . . . . . . . . . . 25 3.2.12 Nveis de sistema para eleio de rede . . . . . . . . . . . . . . . . . . . . . 26 3.2.13 Variveis de substituio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.3 Compartilhamento de arquivos e diretrios . . . . . . . . . . . . . . . . . . . . . . 28 3.3.1 3.4 3.5 Descrio de parmetros usados em compartilhamento . . . . . . . . . . . 29

Congurao em Grupo de Trabalho . . . . . . . . . . . . . . . . . . . . . . . 31 Resoluo de nomes de mquinas no samba . . . . . . . . . . . . . . . . . . . . . . 33 3.5.1 3.5.2 Arquivo /etc/samba/lmhosts . . . . . . . . . . . . . . . . . . . . . . . 33 WINS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.6

Servidor de data/hora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.6.1 3.6.2 Congurao do servio de data/hora no SAMBA . . . . . . . . . . . . . . 36 Sincronizando a data/hora no Cliente . . . . . . . . . . . . . . . . . . . . . 37

3.7

Congurao em Domnio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.7.1 3.7.2 3.7.3 3.7.4 3.7.5 3.7.6 3.7.7 3.7.8 Uma breve introduo a um Domnio de rede . . . . . . . . . . . . . . . . 37 Local Master Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Domain Master Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Congurando um servidor PDC no SAMBA . . . . . . . . . . . . . . . . . 39 Contas de mquinas de domnio . . . . . . . . . . . . . . . . . . . . . . . . 40 Criando uma conta de administrador de domnio . . . . . . . . . . . . . . 41 Criando Scripts de logon . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Congurando pers de usurios . . . . . . . . . . . . . . . . . . . . . . . . 44

SUMRIO

iii

3.7.9 3.8

Modicaes de permisses de acesso pelos clientes do domnio . . . . . 46

Ativando o suporte a senhas criptografadas . . . . . . . . . . . . . . . . . . . . . . 46 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.8.7 Migrando de senhas texto plano para criptografadas . . . . . . . . . . . . 48 Adicionando usurios no smbpasswd . . . . . . . . . . . . . . . . . . . . . 48 Removendo usurios do smbpasswd . . . . . . . . . . . . . . . . . . . . . 48 Desabilitando uma conta no smbpasswd . . . . . . . . . . . . . . . . . . . 49 Habilitando uma conta no smbpasswd . . . . . . . . . . . . . . . . . . . . 49 Alterando a senha de um usurio . . . . . . . . . . . . . . . . . . . . . . . 49 Denindo acesso sem senha para o usurio . . . . . . . . . . . . . . . . . . 50

3.9

Ativando o suporte a senhas em texto plano . . . . . . . . . . . . . . . . . . . . . . 50 3.9.1 Congurando o acesso de clientes para uso de senhas em texto plano . . . 50

3.10 Mapeamento de usurios/grupos em clientes . . . . . . . . . . . . . . . . . . . . . 53 3.10.1 Mapeamento de usurios/grupos domnio em Windows . . . . . . . . . . 53 3.10.2 Mapeamento de usurios/grupos domnio em Linux . . . . . . . . . . . . 53 3.11 Compartilhamento de impresso no servidor SAMBA . . . . . . . . . . . . . . . . 55 3.11.1 Congurando o Linux como um servidor de impresso Windows . . . . . 55 3.12 Controle de acesso ao servidor SAMBA . . . . . . . . . . . . . . . . . . . . . . . . 55 3.12.1 Nvel de acesso de usurios conectados ao SAMBA . . . . . . . . . . . . . 56 3.12.2 Restringindo o acesso por IP/rede . . . . . . . . . . . . . . . . . . . . . . . 56 3.12.3 Restringindo o acesso por interface de rede . . . . . . . . . . . . . . . . . . 57 3.12.4 Restringindo o acesso por usurios . . . . . . . . . . . . . . . . . . . . . . . 58 3.12.5 Evite o uso do parmetro hosts equiv! . . . . . . . . . . . . . . . . . . . . . . 59 3.12.6 Evite o uso de senhas em branco! . . . . . . . . . . . . . . . . . . . . . . . . 59 3.12.7 Criando um compartilhamento para acesso sem senha . . . . . . . . . . . 59 3.12.8 Criando um compartilhamento com acesso somente leitura . . . . . . . . 60 3.12.9 Criando um compartilhamento com acesso leitura/gravao . . . . . . . . 61 3.12.10 Excesso de acesso na permisso padro de compartilhamento . . . . . . 62 3.12.11 Restringindo o IPC$ e ADMIN$ . . . . . . . . . . . . . . . . . . . . . . . . 62 3.12.12 Criando um compartilhamento invisvel . . . . . . . . . . . . . . . . . . . 63 3.12.13 Executando comandos antes e aps o acesso ao compartilhamento . . . . 64 3.12.14 Consideraes de segurana com o uso do parmetro public = yes . . . 65

SUMRIO

iv

3.12.15 Senhas criptografadas ou em texto puro? . . . . . . . . . . . . . . . . . . . 65 3.12.16 Mapeamento de nomes de usurios . . . . . . . . . . . . . . . . . . . . . . 66 3.13 Melhorando a performance do compartilhamento/servidor . . . . . . . . . . . . 67 3.14 Congurao de Clientes NetBEUI . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 3.14.1 Consideraes sobre o Windows for Workgroups e LanManager . . . . . 69 3.14.2 Congurando clientes em Grupo de Trabalho . . . . . . . . . . . . . . . . 69 3.14.3 Congurando clientes em Domnio . . . . . . . . . . . . . . . . . . . . . . 73 3.14.4 Erros conhecidos durante o logon do cliente . . . . . . . . . . . . . . . . . 77 3.14.5 Programas de navegao grcos . . . . . . . . . . . . . . . . . . . . . . . 78 3.14.6 Cliente de congurao grcos . . . . . . . . . . . . . . . . . . . . . . . . 78 3.15 Exemplos de congurao do servidor SAMBA . . . . . . . . . . . . . . . . . . . . 79 3.15.1 Grupo de Trabalho com acesso pblico . . . . . . . . . . . . . . . . . . . . 79 3.15.2 Grupo de Trabalho com acesso por usurio . . . . . . . . . . . . . . . . . . 81 3.15.3 Domnio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 4 Apndice 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 87

Sobre este guia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Sobre o Autor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Referncias de auxlio ao desenvolvimento do guia . . . . . . . . . . . . . . . . . 88 Onde encontrar a verso mais nova do guia? . . . . . . . . . . . . . . . . . . . . . 89 Colaboradores do Guia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Marcas Registradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Futuras verses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Chave Pblica PGP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

Captulo 1

Introduo
Bem vindo ao guia Foca GNU/Linux. O nome FOCA signica FOnte de Consulta e Aprendizado. Este guia dividido em 3 nveis de aprendizado e verso que esta lendo agora contm: Avanado Para melhor organizao, dividi o guia em 3 verses: Iniciante, Intermedirio e Avanado. Sendo que a verso Iniciante voltada para o usurio que no tem nenhuma experincia no GNU/Linux. A ltima verso deste guia pode ser encontrada em: Pgina Ocial do guia Foca GNU/Linux (http://www.guiafoca.org). Caso tiver alguma sugesto, correo, crtica para a melhoria deste guia, envie um e-mail para <gleydson@guiafoca.org>. O Foca GNU/Linux atualizado freqentemente, por este motivo recomendo que preencha a cha do aviso de atualizaes na pgina web em Pgina Ocial do guia Foca GNU/Linux (http://www.guiafoca.org) no m da pgina principal. Aps preencher a cha do aviso de atualizaes, voc receber um e-mail sobre o lanamento de novas verses do guia e o que foi modicado, desta forma voc poder decidir em copia-la caso a nova verso contenha modicaes que considera importantes. Venho recebendo muitos elegios de pessoas do Brasil (e de paises de fora tambm) elogiando o trabalho e a qualidade da documentao. Agradeo a todos pelo apoio, tenham certeza que este trabalho desenvolvido pensando em repassar um pouco do conhecimento que adquiri ao comear o uso do Linux. Tambm venho recebendo muitos e-mails de pessoas que passaram na prova LPI nvel 1 e 2 aps estudar usando o guia Foca GNU/Linux. Fico bastante feliz por saber disso, pois nunca tive a inteno de tornar o guia uma referncia livre para estudo da LPI e hoje usado para estudo desta difcil certicao que aborda comandos, servios, conguraes, segurana, empacotamento, criptograa, etc.

Captulo 1. Introduo

1.1

Consideraes sobre o nvel Avanado

Este guia foi compilado incluindo o nvel Avanado do guia FOCA GNU/Linux, ele no tem a inteno de focar na congurao de servios, servidores, aplicativos, nem garantia que ele atender a determinada nalidade especca do usurio (principalmente de uma rede, que depende de uma perfeita compreenso para adaptao de acordo com os requisitos de uma instalao local). Seu foco principal a instalao do servio, abordando consideraes voltadas a segurana, e exemplos de congurao e seu funcionamento. Com relao a captulos sobre servidores, importante observar qual verso documentada no guia e se confere com a instalada em seu sistema, a m de que tudo funcione corretamente. Entretanto, na maioria dos casos, as explicaes relacionadas a uma verso de um programa so inteiramente vlidas em uma nova verso.

1.2

Pr-requisitos para a utilizao deste guia

assumido que voc ja tenha experincia na congurao de sistemas Linux, conhea boa parte dos comandos e sua utilizao, tenha noes de rede e saiba como procurar documentao para complementar o que vem aprendendo. Enm, requer que se tiver interesse em se aprofundar em determinada rea, que utilize os mtodos de busca de documentao sugeridos no guia para complementao do aprendizado. O guia no contm todos os materiais para que a pessoa se torne um expert no assunto, mas contm as referncias para documentaes mais especcas sobre determinadas reas do sistema. Este guia no cobre a instalao do sistema. Para detalhes sobre instalao, consulte a documentao que acompanha sua distribuio GNU/Linux.

1.3

O Linux

O Linux um sistema operacional criado em 1991 por Linus Torvalds na universidade de Helsinki na Finlndia. um sistema Operacional de cdigo aberto distribudo gratuitamente pela Internet. Seu cdigo fonte liberado como Free Software (software livre), sob licena GPL, o aviso de copyright do kernel feito por Linus descreve detalhadamente isto e mesmo ele no pode fechar o sistema para que seja usado apenas comercialmente. Isto quer dizer que voc no precisa pagar nada para usar o Linux, e no crime fazer cpias para instalar em outros computadores, ns inclusive incentivamos voc a fazer isto. Ser um sistema de cdigo aberto pode explicar a performance, estabilidade e velocidade em que novos recursos so adicionados ao sistema. O requisito mnimo para rodar o Linux depende do kernel que ser usado: 2.2.x - Computador 386 SX com 2 MB de memria 2.4.x - Computador 386 SX com 4MB de memria 2.6.x - Computador 486 DX com no mnimo 8MB

Captulo 1. Introduo

Para espao em disco requerido 500MB para uma instalao bsica usando modo texto com suporte a rede. Claro que no considerada a execuo de ambiente grco ou servios de rede em produo, que neste caso exigido mais memria RAM e espao em disco para armazenamento de dados de programas e usurios. O sistema segue o padro POSIX que o mesmo usado por sistemas UNIX e suas variantes. Assim, aprendendo o Linux voc no encontrar muita diculdade em operar um sistema do tipo UNIX, FreeBSD, HPUX, SunOS, etc., bastando apenas aprender alguns detalhes encontrados em cada sistema. O cdigo fonte aberto permite que qualquer pessoa veja como o sistema funciona (til para aprendizado), corrija alguma problema ou faa alguma sugesto sobre sua melhoria, esse um dos motivos de seu rpido crescimento, do aumento da compatibilidade de perifricos (como novas placas sendo suportadas logo aps seu lanamento) e de sua estabilidade. Outro ponto em que ele se destaca o suporte que oferece a placas, CD/DVD-RWs, BluRay e outros tipos de dispositivos de ltima gerao 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 avanos tecnolgicos com as mquinas que possui. O Linux desenvolvido por milhares de pessoas espalhadas pelo mundo, cada uma fazendo sua contribuio ou mantendo alguma parte do kernel gratuitamente. Linus Torvalds ainda trabalha em seu desenvolvimento e na coordenao dos grupos de trabalho do kernel. O suporte ao sistema tambm se destaca como sendo o mais eciente e rpido do que qualquer programa comercial disponvel no mercado. Existem milhares de consultores e empresas especializadas no suporte e treinamento espalhados ao redor do mundo. Outra opo de suporte atravs da comunidade Linux; voc pode se inscrever em uma lista de discusso e relatar sua dvida ou alguma falha, e sua mensagem ser vista por centenas de usurios na Internet e algum ir te ajudar ou avisar as pessoas responsveis sobre a falha encontrada para devida correo.

1.3.1

Algumas Caractersticas do Linux

livre e desenvolvido voluntariamente por programadores experientes, hackers, e contribuidores espalhados ao redor do mundo que tem como objetivo a contribuio para a melhoria e crescimento deste sistema operacional. Muitos deles estavam cansados do excesso de propaganda (Marketing) e baixa qualidade de sistemas comerciais existentes Tambm recebe apoio de grandes empresas como IBM, Sun, HP, etc. para seu desenvolvimento Convivem sem nenhum tipo de conito com outros sistemas operacionais (com o DOS, Windows, OS/2) no mesmo computador. Multitarefa real Multiusurio Suporte a nomes extensos de arquivos e diretrios (255 caracteres) Conectividade com outros tipos de plataformas como Apple, Sun, Macintosh, Sparc, Alpha, PowerPc, ARM, Unix, Windows, DOS, etc.

Captulo 1. Introduo

Utiliza permisses de acesso a arquivos, diretrios e programas em execuo na memria RAM. Proteo entre processos executados na memria RAM Suporte a mais de 63 terminais virtuais (consoles) Modularizao - O Linux somente carrega para a memria o que usado durante o processamento, liberando totalmente a memria assim que o programa/dispositivo nalizado Devido a modularizao, os drivers dos perifricos e recursos do sistema podem ser carregados e removidos completamente da memria RAM a qualquer momento. Os drivers (mdulos) ocupam pouco espao quando carregados na memria RAM (cerca de 6Kb para a Placa de rede NE 2000, por exemplo) Suporte nativo a rede e tecnologias avanadas como: balanceamento de carga, ips alias, failover, vlans, bridge, trunking, OSPF, BGP. No h a necessidade de se reiniciar o sistema aps a modicar a congurao de qualquer perifrico ou parmetros de rede. Somente necessrio reiniciar o sistema no caso de uma instalao interna de um novo perifrico, falha em algum hardware (queima do processador, placa me, etc.). No precisa de um processador potente para funcionar. O sistema roda bem em computadores 386Sx 25 com 4MB de memria RAM (sem rodar o sistema grco X, que recomendado 32MB de RAM). J pensou no seu desempenho em um Pentium, Xeon, ou Athlon? ;-) Suporte nativo a mltiplas CPUs, assim processadores como Dual Core, Core Duo, Athlon Duo, Quad Core tem seu poder de processamento integralmente aproveitado, tanto em 32 ou 64 bits. Suporte nativo a dispositivos SATA, PATA, Fiber Channel Suporte nativo a virtualizao, onde o Linux se destaca como plataforma preferida para execuo de mltiplos sistemas operacionais com performance e segurana. O crescimento e novas verses do sistema no provocam lentido, pelo contrrio, a cada nova verso 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 e da 2.4.x para a 2.6.x). O GNU/Linux distribuido livremente e 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 NO VULNERVEL A VRUS! Devido a separao de privilgios entre processos e respeitadas as recomendaes padro de poltica de segurana e uso de contas privilegiadas (como a de root, como veremos adiante), programas como vrus tornam-se inteis pois tem sua ao limitada pelas restries de acesso do sistema de arquivos e execuo. Qualquer programa (nocivo ou no) poder alterar partes do sistema que possui permisses (ser abordado como alterar permisses e tornar seu sistema mais restrito no decorrer do guia). Frequentemente so criados exploits que tentam se aproveitar de falhas existentes em sistemas desatualizados e usa-las para causar danos. Erroneamente este tipo de ataque classicado como vrus por pessoas mal informadas e so resolvidas com sistemas bem mantidos. Em geral, usando uma boa distribuio que tenha um eciente sistema de atualizao e bem congurado, voc ter 99.9% de sua tranqulidade. Rede TCP/IP mais rpida que no Windows e tem sua pilha constantemente melhorada.

Captulo 1. Introduo

O GNU/Linux tem suporte nativo a redes TCP/IP e no depende de uma camada intermediria como o WinSock. Em acessos via modem a Internet, a velocidade de transmisso 10% maior. Executa outros sistemas operacionais como Windows, MacOS, DOS ou outro sistema Linux atravs de consagrados sistemas de virtualizao como Xen, vmware, ou emulao como o DOSEMU, QEMU, WINE. Suporte completo e nativo a diversos dispositivos de comunicao via infravermelho, Bluetooth, Fireware, USB. Basta conectar e o seu dispositivo automaticamente reconhecido. Raramente so necessrios drivers externos, exceto no caso de dispositivos muito novos que no tenham o suporte ainda adicionado no sistema. Suporte a rede via rdio amador. Suporte a dispositivos Plug-and-Play. Suporte nativo a pen drivers, dispositivos de armazenamento e cartes de memria. Suporte nativo a dispositivos I2C Integrao com gerenciamento de energia ACPI e APM Dispositivos de rede Wireless. Tanco com criptograa WEB e WPA PSK Vrios tipos de rewalls avanados de alta qualidade na deteco de trfego indesejvel, dando ao administrador uma excelente ferramenta de proteo e controle de sua rede. Roteamento esttico e dinmico de pacotes. Ponte entre Redes, proxy arp Proxy Tradicional e Transparente. Possui recursos para atender a mais de um endereo IP na mesma placa de rede, sendo muito til para situaes de manuteno em servidores de redes ou para a emulao de mltiplos computadores. O servidor WEB e FTP podem estar localizados no mesmo computador, mas o usurio que se conecta tem a impresso 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 fragmentao e fazendo-o um poderoso sistema para aplicaes multi-usurias exigentes e gravaes intensivas. Permite a montagem de um servidor de publicao Web, E-mail, News, etc. com um baixo custo e alta performance. O melhor servidor Web do mercado, o Apache, distribudo gratuitamente junto com a maioria das distribuies Linux. O mesmo acontece com o Sendmail. Por ser um sistema operacional de cdigo aberto, voc pode ver o que o cdigo fonte (instrues digitadadas pelo programador) faz e adapta-lo as suas necessidades ou de sua empresa. Esta caracterstica uma segurana a mais para empresas srias e outros que no querem ter seus dados roubados (voc no sabe o que um sistema sem cdigo fonte faz na realidade enquanto esta processando o programa). Suporte a diversos dispositivos e perifricos disponveis 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 caractersticas que voc descobrir durante o uso do sistema (alm de poder criar outras, caso seja um administrador avanado ou desenvolvedor).

Captulo 1. Introduo

TODOS OS TENS DESCRITOS ACIMA SO VERDADEIROS E TESTADOS PARA QUE TIVESSE PLENA CERTEZA DE SEU FUNCIONAMENTO.

Captulo 2

Explicaes Bsicas
Este captulo traz explicaes sobre os principais componentes existentes no computador e do sistema operacional Linux.

2.1

Monitorando os logs

Os arquivos e diretrios de logs residem em /var/log e registram tudo o que acontecem com o kernel, com os daemons e utilitrios do sistema. Eles so muito importantes tanto para monitorar o que acontece com o seu sistema como para ajudar na soluo de problemas diversos. comum programas como o servidor web, e-mail, mensagens instantaneas, rewall, irc, banco de dados, gravarem os arquivos de log em diretrios prprios 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 possveis falhas de segurana, tentativa de acesso ao sistema e, principalmente, solucionar problemas (principalmente os mais complicados).

2.1.1

Destruindo arquivos/parties de forma segura

Esta seo tem a inteno de conscientizar o administrador do uso devido de tcnicas para garantir que dados sensveis sejam apagados de forma um pouco mais segura em seu sistema. Quando um arquivo apagado, apenas a entrada na tabela de inodes mexida, e ele pode ainda ser recuperado com o debugfs e um pouco de pacincia e engenharia. O mesmo acontece com as parties, que podem ser recuperadas com facilidade (isto explicado no nvel Intermedirio do guia). Esta recuperao proporcionada pelas regras de funcionamento do sistema de arquivos e do esquema de particionamento, ou seja, so permitidas pelo SO. Vou um pouco mais alm: O disco rgido uma mdia magntica e opera de forma mecnica para ler/gravar dados. Quando um arquivo apagado, seja por qualquer motivo, ainda

Captulo 2. Explicaes Bsicas

possvel recupera-lo. O que permite isto porque o HD nem sempre tem a preciso de gravar exatamente no mesmo lugar (pois a cabea movida mecanicamente), gravando em trilhas microscpicamente vizinhas a anterior. Ento a imagem do arquivo que foi apagada continua l. Segundo ouvi falar, a NASA possui recursos para recuperar at 60 regravaes posteriores no disco. claro que isto pode ocorrer em pouco tempo, dependendo do tamanho de sua partio e se esta for uma /var/spool em um servidor de e-mails :-) Baseado nesta teoria, voc poder apagar os dados de forma destrutiva usando o programa shred, que regrava o arquivo repetidamente com dados aleatrios. Sua sintaxe a seguinte: shred -n 70 -v -u arquivo Isto faz com que ele regrava o contedo do arquivo 70 vezes com dados aleatrios. O -u trunca e remove o arquivo aps concludo. Note que o uso de dados aleatrios serve para destruir as possibilidades de uma recuperao simples, este o motivo de se recomendar sempre o uso de /dev/urandom ao invs de /dev /zero para destruio de arquivos. OBS1: Saiba exatamente o que est fazendo pois estes procedimentos servem para dicultar ao mximo a recuperao de dados. OBS2: Devido as tecnologias de sistemas que utilizam journaling (XFS, EXT3, EXT4, JFS e ReiserFS) e sistemas RAID, o shred no funcionar. O shred tambm no funcionar com sistemas de arquivos via rede (NFS, SMB, etc.). Se procura alguma forma de proteger seus dados, mesmo que apagados, utilize um mtodo de criptograa como o DM-CRYPTO, cryptoloop, gpg, etc. OBS3: Caso esteja usando um sistema de arquivos criptografado, estes procedimentos so quase desnecessrios (dependendo do nvel de segurana e algortmos que voc utiliza).

2.2

Curingas

Curingas (ou referncia global) um recurso usado para especicar um ou mais arquivos ou diretrios do sistema de uma s vez. Este um recurso permite que voc faa a ltragem do que ser listado, copiado, apagado, etc. So usados 4 tipos de curingas no GNU/Linux: * - Faz referncia a um nome completo/restante de um arquivo/diretrio. ? - Faz referncia a uma letra naquela posio. [padro] - Faz referncia a uma faixa de caracteres de um arquivo/diretrio. Padro pode ser: [a-z][0-9] - Faz referncia a caracteres de a at z seguido de um caracter de 0 at 9. [a,z][1,0] - Faz a referncia aos caracteres a e z seguido de um caracter 1 ou 0 naquela posio.

Captulo 2. Explicaes Bsicas

[a-z,1,0] - Faz referncia a intervalo de caracteres de a at z ou 1 ou 0 naquela posio. A procura de caracteres Case Sensitive assim se voc deseja que sejam localizados todos os caracteres alfabticos voc deve usar [a-zA-Z]. Caso a expresso seja precedida por um ^, faz referncia a qualquer caracter exceto o da expresso. Por exemplo [^abc] faz referncia a qualquer caracter exceto a, b e c. {padres} - Expande e gera strings para pesquisa de padres de um arquivo/diretrio. X{ab,01} - Faz referncia a seqencia de caracteres Xab ou X01 X{a-z,10} Faz referencia a seqencia de caracteres Xa-z e X10. O que diferencia este mtodo de expanso dos demais que a existncia do arquivo/diretrio opcional para gerao do resultado. Isto til para a criao de diretrios. Lembrando que os 4 tipos de curingas (*, ?, [], {}) podem ser usados juntos. Para entender melhor vamos a prtica: Vamos dizer que tenha 5 arquivo no diretrio /usr/teste: teste1.txt,teste2.txt, teste3.txt,teste4.new,teste5.new. Caso deseje listar todos os arquivos do diretrio /usr/teste voc pode usar o coringa * para especicar todos os arquivos do diretrio: cd /usr/teste e ls * ou ls /usr/teste/*. No tem muito sentido usar o comando ls com * porque todos os arquivos sero listados se o ls for usado sem nenhum Coringa. Agora para listar todos os arquivos teste1.txt,teste2.txt,teste3.txt com excesso de teste4.new, teste5.new, podemos usar inicialmente 3 mtodos: 1 Usando o comando ls *.txt que pega todos os arquivos que comeam com qualquer nome e terminam com .txt. 2 Usando o comando ls teste?.txt, que pega todos os arquivos que comeam com o nome teste, tenham qualquer caracter no lugar do coringa ? e terminem com .txt. Com o exemplo acima teste*.txt tambm faria a mesma coisa, mas se tambm tivssemos um arquivo chamado teste10.txt este tambm seria listado. 3 Usando o comando ls teste[1-3].txt, que pega todos os arquivos que comeam com o nome teste, tenham qualquer caracter entre o nmero 1-3 no lugar da 6a letra e terminem com .txt. Neste caso se obtm uma ltragem mais exata, pois o coringa ? especica qualquer caracter naquela posio e [] especica nmeros, letras ou intervalo que ser usado. Agora para listar somente teste4.new e teste5.new podemos usar os seguintes mtodos: 1 ls *.new que lista todos os arquivos que terminam com .new 2 ls teste?.new que lista todos os arquivos que comeam com teste, contenham qualquer caracter na posio do coringa ? e terminem com .new. 3 ls teste[4,5].* que lista todos os arquivos que comeam com teste contenham nmeros de 4 e 5 naquela posio e terminem com qualquer extenso. Existem muitas outras formas de se fazer a mesma coisa, isto depende do gosto de cada um. O que pretendi fazer aqui foi mostrar como especicar mais de um arquivo de uma s vez. O uso

Captulo 2. Explicaes Bsicas

10

de curingas ser til ao copiar arquivos, apagar, mover, renomear, e nas mais diversas partes do sistema. Alias esta uma caracterstica do GNU/Linux: permitir que a mesma coisa possa ser feita com liberdade de vrias maneiras diferentes.

11

Captulo 3

SAMBA
Este captulo descreve a congurao, utilizao, aplicao, integrao de redes Windows e Linux atravs do SAMBA. Entre as explicaes de cada opo, so passados detalhes importantes relacionados com seu funcionamento, performance e impactos de segurana sobre o servidor como um todo. Uma seo foi especialmente separada para os mais paranicos (como eu) conhecerem, combinar e aplicar as restries de forma mais adequada a congurao da mquina.

3.1

Introduo

O SAMBA um servidor e conjunto de ferramentas que permite que mquinas Linux e Windows se comuniquem entre si, compartilhando servios (arquivos, diretrio, impresso) atravs do protocolo SMB (Server Message Block)/CIFS (Common Internet File System), equivalentes a implementao NetBEUI no Windows. O SAMBA uma das solues em ambiente UNIX capaz de interligar redes heterognea. Na lgica da rede Windows o NetBEUI o protocolo e o NETBIOS dene a forma com que os dados so transportados. No correto dizer que o NetBIOS o protocolo, como muitos fazem. Com o SAMBA, possvel construir domnios completos, fazer controle de acesso a nvel de usurio, compartilhamento, montar um servidor WINS, servidor de domnio, impresso, etc. Na maioria dos casos o controle de acesso e exibio de diretrios no samba mais minucioso e personalizvel que no prprio Windows. O guia Foca GNU/Linux documentar como instalar e ter as mquinas Windows de diferentes verses (Win3.11, Win95, Win95OSR/2, Win98, XP, WinNT, W2K) acessando e comunicando-se entre si em uma rede NetBEUI. Estas explicaes lhe podero ser indispensveis para solucionar problemas, at mesmo se voc for um tcnico especialista em redes Windows e no tem ainda planos de implementar um servidor SAMBA em sua rede.

Captulo 3. SAMBA

12

3.1.1

Verso documentada

A verso do servidor samba documentada neste captulo do guia a 2.2.

3.1.2

Histria

Andrew Tridgell - Desenvolveu o samba porque precisava montar um volume Unix em sua mquina DOS. Inicialmente ele utilizava o NFS, mas um aplicativo precisava de suporte NetBIOS. Andrew ento utilizou um mtodo muito avanado usado por administradores para detectar problemas: escreveu um sniffer de pacotes que atendesse aos requerimentos para ter uma nica funo: analisar e auxilia-lo a interpretar todo o trfego NetBIOS da rede. Ele escreveu o primeiro cdigo que fez o servidor Unix aparecer como um servidor de arquivos Windows para sua mquina DOS que foi publicado mais ou menos em meados de 1992 quando tambm comeou 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 mquina Windows de sua esposa com sua mquina Linux, e cou 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 funes. O SAMBA atualmente um servidor fundamental para a migrao de pequenos grupos de trabalho grandes domnios com clientes mixtos. Nenhum servidor de rede NetBEUI conhecido proporciona tanta exibilidade de acesso a clientes como o SAMBA para compartilhamento de arquivos/impresso em rede. As funes de segurana que foram adicionadas ao SAMBA hoje garantem um controle mais rigoroso que a prpria implementao usada no Windows NT, incluindo o servios de diretrios, mapeamento entre IDs de usurios Windows com Linux, PDC, pers mveis e uma coisa que inclusive apresenta problemas no Windows: compatibilidade total entre as diferentes implementaes de verses do Windows. Sua congurao pode receber ajustes nos pelo administrador nos soquetes TCP de transmisso, recepo, cache por compartilhamento, conguraes fsicas que afetam a performance de rede. Seu cdigo 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 congure seu sistema com uma performance batendo a mesma alcanada em um servidor NT dedicado.

3.1.3

Contribuindo
veja os detalhes na pgina:

Para contribuir com o desenvolvimento do samba, http://us1.samba.org/samba/devel/

Caso encontre um bug no programa, ele poder ser relatado se inscrevendo na lista de discusso samba-technical-request@lists.samba.org. Aps responder a mensagem de conrmao, envie um relato detalhado do problema encontrado no programa.

Captulo 3. SAMBA

13

3.1.4

Caractersticas

Segue abaixo algumas funcionalidades importantes de aplicaes do samba e seu conjunto de ferramentas: Compartilhamento de arquivos entre mquinas Windows e Linux ou de mquinas Linux (sendo o servidor SAMBA) com outro SO que tenha um cliente NetBEUI (Macintosh, OS/2, LanManager, etc). Montar um servidor de compartilhamento de impresso no Linux que receber a impresso de outras mquinas Windows da rede. Controle de acesso aos recursos compartilhados no servidor atravs de diversos mtodos (compartilhamento, usurio, domnio, servidor). Controle de acesso leitura/gravao por compartilhamento. Controle de acesso de leitura/gravao por usurio autenticado. Possibilidade de denir contas de Convidados, que podem se conectar sem fornecer senha. Possibilidade de uso do banco de dados de senha do sistema (/etc/passwd), autenticao usando o arquivo de dados criptografados do samba, LDAP, PAM, etc. Controle de cache e opes de tunning por compartilhamento. Permite ocultar o contedo de determinados diretrios que no quer que sejam exibidos ao usurio de forma fcil. Possui congurao bastante exvel com relao ao mapeamento de nomes DOS => UNIX e vice versa, pgina de cdigo, acentuao, etc. Permite o uso de aliases na rede para identicar uma mquina com outro nome e simular uma rede NetBIOS virtual. O samba possibilita ajuste no nas conguraes de transmisso e recepo dos pacotes TCP/IP, como forma de garantir a melhor performance possvel de acordo com suas instalaes. Permite o uso do gerenciador de mensagem do Linux (Linpopup) para a troca de mensagens com estaes Windows via NetBios. Com a exibilidade do samba possvel at redirecionar a mensagem recebida via e-mail ou pager. Possui suporte completo a servidor WINS (tambm chamado de NBNS - NetBios Name Service) de rede. A congurao bastante fcil. Faz auditoria tanto dos acessos a pesquisa de nomes na rede como acesso a compartilhamentos. Entre os detalhes salvos esto a data de acesso, IP de origem, etc. Suporte completo a controlador de domnio Windows (PDC). Suporte quase completo a backup do controlador de domnio (BDC). At a verso 2.2 do samba, o suporte a BDC parcial. Este cdigo provavelmente estar estvel at a verso 3.0. Permite montar unidades mapeadas de sistemas Windows ou outros servidores Linux como um diretrio no Linux. Permite a congurao de recursos simples atravs de programas de congurao grcos, tanto via sistema, como via web. Permite executar comandos no acesso ao compartilhamento ou quando o acesso ao compartilhamento nalizado. Com um pouco de conhecimento e habilidade de administrao de sistemas Linux, possvel criar ambientes de auditoria e monitorao at monitorao de acesso a com-

Captulo 3. SAMBA

14

partilhamento em tempo real. Entre outras possibilidades.

3.1.5

Ficha tcnica

Pacote samba Outros utilitrios importantes para a operao do clientes samba. smbclient - Ferramenta para navegao e gerenciamento de arquivos, diretrios e impressoras compartilhados por servidores Windows ou samba. smbfs - Pacote que possui ferramentas para o mapeamento de arquivos e diretrios compartilhados por servidores Windows ou samba em um diretrio local. winbind - Daemon que resolve nomes de usurios e grupo atravs de um servidor NT/SAMBA e mapeia os UIDs/GIDs deste servidor como usurios locais.

3.1.6

Requerimentos de Hardware

Processador 386 ou superior, 15 MB de espao em disco (no levando em conta os logs gerados e espao para arquivos de usurios, aplicativos, etc.), 8 MB de memria RAM.

3.1.7

Arquivos de log criados

O daemon nmbd salva seus logs em /var/log/daemon.log (dependendo da diretiva de congurao syslog do arquivo smb.conf) e em /var/log/samba/log.nmbd. Os detalhes de acesso a compartilhamento so gravados no arquivo /var/log/samba/log.smbd (que pode ser modicado de acordo com a diretiva log le no smb.conf, Log de acessos/servios on page 22).

3.1.8

Instalao

Digite apt-get install samba smbclient smbfs para instalar 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 mquina Linux, instale somente os 2 ltimos pacotes.

3.1.9

Iniciando o servidor/reiniciando/recarregando a congurao

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 requisio de pesquisa e car residente na memria. No caso de acesso a um compartilhamento, o smbd ser carregado e ler a congurao em smb.conf a cada acesso do cliente a um compartilhamento. Quando o samba opera via inetd, ele no usa o controle

Captulo 3. SAMBA

15

de acesso dos arquivos hosts.allow e hosts.deny. Veja Restringindo o acesso por IP/rede on page 56 e Restringindo o acesso por interface de rede on page 57 para detalhes de como fazer o controle de acesso. Para reiniciar o samba digite killall -HUP nmbd. No necessrio reiniciar o servio smbd, conforme foi explicado acima. daemon Quando opera no modo daemon, ambos os daemons nmbd e smbd so carregados. No caso de um acesso a compartilhamento, criado um processo lho do smbd que nalizado assim que o compartilhamento no 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 modique o valor da linha RUN_MODE= para daemons ou inetd. Uma forma de fazer isso automaticamente executando o dpkg-reconfigure samba. OBS: Como praticamente no existe diferena entre os modos de operao inetd e daemon para o SAMBA, aconselhvel que execute sempre que possvel via inetd, pois isto garantir uma disponibilidade maior do servio caso algo acontea com um dos processos.

3.1.10

Opes de linha de comando

Opes de linha de comando usadas pelo nmbd: -H [arquivo_lmhosts ] Quando especicado, o servidor samba far a procura de nomes primeiro neste arquivo e depois usando a rede. -s [arquivo_cfg ] Especica uma nova localizao para o arquivo de congurao do samba. Por padro o /etc/samba/smb.conf usado. -d [num ] Especica o nvel de depurao do nmbd, que podem ir de 0 a 10. O valor padro 0. -l [diretrio ] Especica a localizao do diretrio onde o nmbd gravar o arquivo de log log.nmbd. O valor padro /var/log/samba -n [nomeNetBIOS ] Permite utilizar o nome NetBIOS especicado a invs do especicado no arquivo smb.conf para identicar o computador na rede.

3.2

Conceitos gerais para a congurao do SAMBA

Este captulo documenta como congurar o seu servidor SAMBA permitindo o acesso a compartilhamento de arquivos e impresso no sistema.

3.2.1

Nome de mquina (nome NetBios)

Toda a mquina em uma rede NetBEUI identicada por um nome, este nome deve ser nico na rede e permite que outras mquinas acessem os recursos disponibilizados ou que sejam enviadas mensagens para a mquina. Este nome composto de 16 caracteres, sendo 15 que identicam a mquina e o ltimo o tipo de servio que ela disponibiliza. O tipo de servio associado com o nome da mquina e registrado em servidores de nomes conrme a congurao da mquina (voc ver isto mais adiante).

Captulo 3. SAMBA

16

O nome de mquina especicado nas diretivas netbios name e netbios aliases (veja Nomes e grupos de trabalho on page 19) para detalhes.

3.2.2

Grupo de trabalho

O grupo de trabalho organiza a estrutura de mquinas da rede em forma de rvore, facilitando sua pesquisa e localizao. Tomemos como exemplo uma empresa grande com os departamentos comunicao, redes, web, rh, as mquinas que pertencem ao grupo de redes sero agrupadas no programa de navegao: redes gleydson tecnico marcelo henrique michelle rh mrpaoduro web web1 web2 web3 comunicacao comunic1 comunic2 comunic3 A segurana no acesso a arquivos e diretrios na congurao de grupo de trabalho controlada pela prpria mquina, normalmente usando segurana a nvel de compartilhamento. Esta segurana funciona denindo um usurio/senha para acessar cada compartilhamento que a mquina possui. O Lan Manager, Windows for Workgroups, Windows 95, Windows 98, XP Home Edition usam este nvel de acesso por padro. Se deseja congurar uma rede usando o nvel de grupo de trabalho, veja Congurao em Grupo de Trabalho on page 31 para detalhes passo a passo e exemplos prticos. Os programas para navegao na rede NetBIOS so mostrados em smbclient on page 72, nmblookup on page 72 e Programas de navegao grcos on page 78.

3.2.3

Domnio

O funcionamento semelhante ao grupo de trabalho, com a diferena que a segurana controlada pela mquina central (PDC) usando diretivas de acesso e grupos. O PDC (Primary

Captulo 3. SAMBA

17

Domain Controller) dever ter todas as contas de acesso que sero utilizadas pelo usurio para acessar os recursos existentes em outras mquinas, script de logon que poder ser executado em cada mquina para fazer ajustes, sincronismo, manuteno ou qualquer outra tarefa programada pelo administrador do sistema. Estas caractersticas para congurao de mquinas em domnio so documentadas passo a passo em Uma breve introduo a um Domnio de rede on page 37.

3.2.4

Compartilhamento

Um compartilhamento um recurso da mquina local que disponibilizado para acesso via rede, que poder ser mapeada (veja Mapeamento on the current page) por outra mquina. O compartilhamento pode ser um diretrio, arquivo, impressora. Alm de permitir o acesso do usurio, o compartilhamento pode ser protegido por senha, e ter controle de acesso de leitura/gravao, monitorao de acessos, diretrios ocultos, autenticao via PDC (domnio) e outras formas para restringir e garantir segurana na disponibilizao dos dados (veja Controle de acesso ao servidor SAMBA on page 55 para aprender os mtodos de como fazer isto). Um compartilhamento no SAMBA pode ser acessvel publicamente (sem senha) ou estar rigidamente protegido tendo que passar por diversas barreiras para chegar ao seu contedo, como senhas, endereo de origem, interfaces, usurio autorizados, permisses de visualizao, etc. O guia Foca Linux abordar estes assuntos com detalhes e explicar didaticamente como tornar seguro seu servidor samba e garantir um minucioso controle de acesso a seus compartilhamentos.

3.2.5

Mapeamento

Mapear signica pegar um diretrio/arquivo/impressora compartilhado por alguma mquina da rede para ser acessada pela mquina local. Para mapear algum recurso de rede, necessrio que ele seja compartilhado na outra mquina (veja Compartilhamento on the current page). Por exemplo, o diretrio /usr compartilhado com o nome usr, pode ser mapeado por uma mquina Windows como a unidade F:, ou mapeado por uma mquina Linux no diretrio /mnt/samba. O programa responsvel por mapear unidades compartilhadas no Linux o smbmount e smbclient (veja Linux on page 71).

3.2.6

Navegao na Rede e controle de domnio

Esta funo controlada pelo nmbd que ca ativo o tempo todo disponibilizando os recursos da mquina na rede, participando de eleies NetBIOS (Nveis de sistema para eleio de rede on page 26), fazer logon de mquinas no domnio (Uma breve introduo a um Domnio de rede on page 37), etc.

Captulo 3. SAMBA

18

A funo de navegao na rede feita utilizando o compartilhamento IPC$. Este compartilhamento possui acesso pblico somente leitura e utiliza o usurio guest para disponibilizao de seus. Como deve ter percebido, necessrio especicar esta ID de usurio atravs do parmetro guest account (Descrio de parmetros usados em compartilhamento on page 29), ou a navegao de recursos no sistema (ou na rede, dependendo da congurao do SAMBA) no funcionar. OBS: A funo de navegao (browsing) poder no funcionar corretamente caso a mquina no consiga resolver nomes NetBIOS para endereos IP.

3.2.7

Arquivo de congurao do samba

Toda a congurao relacionada com nomes, grupo de trabalho, tipo de servidor, log, compartilhamento de arquivos e impresso do samba colocada no arquivo de congurao /etc /samba/smb.conf. Este arquivo dividido em sees e parmetros. Uma seo no arquivo de congurao do samba (smb.conf) denido por um nome entre [ ]. As sees tem o objetivo de organizar os parmetros pra que tenham efeito somente em algumas conguraes de compartilhamento do servidor (exceto os da seo [global] que no especicam compartilhamentos, mas suas diretivas podem ser vlidas para todas os compartilhamentos do arquivo de congurao). Alguns nomes de sees foram reservados para conguraes especcas do samba, eles so os seguintes: [global] Dene conguraes que afetam o servidor samba como um todo, fazendo efeito em todos os compartilhamentos existentes na mquina. Por exemplo, o grupo de trabalho, nome do servidor, pgina de cdigo, restries de acesso por nome, etc. Veja Seo [global] on the facing page. [homes] Especica opes de acesso a diretrios homes de usurios. O diretrio home disponibilizado somente para seu dono, aps se autenticar no sistema. Veja Seo [homes] on page 24. [printers] Dene opes gerais para controle das impressoras do sistema. Este compartilhamento mapeia os nomes de todas as impressoras encontradas no /etc/printcap. Conguraes especiais podem ser feitas separadamente. Veja Seo [printers] on page 25. [profile] Dene um perl quando o servidor samba usado como PDC de domnio. Veja Congurando pers de usurios on page 44. Qualquer outro nome de [seo] no arquivo smb.conf que no sejam as acima, so tratadas como um compartilhamento ou impressora. Um parmetro denido no formato nome = valor. Para um exemplo prtico, veja um exemplo de arquivo smb.conf em Exemplos de congurao do servidor SAMBA on page 79. Na congurao de booleanos, a seguinte sintaxe pode ser usada: 0 ou 1 yes ou no true ou false Assim, as seguintes conguraes so equivalentes master browse = 0

Captulo 3. SAMBA

19

master browse = no master browse = false

Todos signicam NO ser o navegador principal de domnio. A escolha ca a gosto do administrador. Durante a congurao, voc notar o poder da exibilidade oferecida pelo samba na congurao de um servidor SMB :-) Linhas iniciadas por # ou ; so tratadas como comentrio. Quebras de linha pode ser especicadas com uma \ no nal da linha.

3.2.8

Seo [global]

Os parmetros especicados nesta seo tem efeito em todo o servidor samba incluindo os compartilhamentos. Caso o parmetro seja novamente especicado para o compartilhamento, o valor que valer o do compartilhamento. Por exemplo, se guest user = nobody for usado na seo [global] e o guest user = foca for usado no compartilhamento [focalinux], o usurio que far acesso pblico a todos os compartilhamentos do servidor ser o nobody, exceto para o compartilhamento [focalinux], que ser feito pelo usurio foca. Veja Compartilhamento de arquivos e diretrios on page 28 para obter uma lista e descrio dos principais parmetros de compartilhamentos existentes. Uma lista completa pode ser obtida na pgina de manual do smb.conf. Irei descrever alguns parmetros utilizados nesta seo, organizado de forma didtica e simplicada.

Nomes e grupos de trabalho netbios name = [nome do servidor ] Especica o nome NetBIOS primrio do servidor samba. Caso no seja ajustado, ele usar o hostname de sua mquina como valor padro. Ex.: netbios name = focasamba. workgroup = [grupo de trabalho/domnio ] Diz qual o nome do grupo de trabalho/domnio que a mquina samba pertencer. Ex.: workgroup = focalinux. netbios aliases = [nomes alternativos ao sistema ] Permite o uso de nomes alternativos ao servidor, separados por espaos. Ex.: teste1 teste2. server string = [identicao ] Identicao enviada do servidor samba para o ambiente de rede. A string padro Samba %v (%v substituda pela verso do samba, para maiores detalhes, veja Variveis de substituio on page 27). Ex: server string = Servidor Samba verso %v. name resolve order = [ordem ] Dene a ordem de pesquisa para a resoluo de nomes no samba. A ordem padro : lmhosts host wins bcast, que a melhor para resoluo rpida e que tente gerar menos trfego broadcast possvel. Veja Resoluo de nomes de mquinas no samba on page 33 para uma explicao mais detalhada.

Captulo 3. SAMBA

20

Caracteres e pgina de cdigo Uma das partes essenciais aps colocar o SAMBA em funcionamento, congurar a pgina de cdigo para que os caracteres sejam gravados e exibidos corretamente no cliente. A primeira coisa que precisa vericar se seu kernel possui o suporte a pgina de cdigo local. Caso no tenha, baixe o fonte do kernel e siga os seguintes passos na congurao: Dentro da opo File Systems, Network File Systems dena como Default Remote NLS Option a iso8859-1. Esta opo permite ao smbmount montar os volumes locais usando os caracteres corretos. Entre na opo File Systems, Native Language Support. Na opo Default NLS Option coloque iso8859-1. Ative tambm o suporte as pginas de cdigo 437, 850 e 860 e tambm ao conjunto de caracteres iso8859-1 e UTF8. Note que esta ordem pode variar dependendo da verso do seu kernel, basta que as entenda para fazer as modicaes apropriadas. character set = [conjunto_caracteres ] Seleciona o conjunto de caracteres dos arquivos exibidos pelo servidor samba. Para os idiomas de lngua latina, sempre utilize iso8859-1. Ex.: character set = iso8859-1. client code page = [pagina_de_codigo ] Seleciona a pgina de cdigo do servidor samba para tratar os caracteres. Para os idiomas de lngua latina, sempre utilize 850. Ex.: client code page = 850. preserve case = Seleciona se arquivos com nomes extensos criados sero criados com os caracteres em maisculas/minsculas denidos pelo cliente (no) ou se ser usado o valor de default case (caso seja especicado yes). short preserve case = Seleciona se os arquivos com nomes curtos (formato 8.3) sero criados com os caracteres mixtos enviados pelo cliente (no) ou se ser usando o valor de default case (caso seja especicado yes). default case = [lower/upper ] Dene se os arquivos criados tero seus nomes todos em minsculas (lower) ou maisculas (upper). valid chars = [caracteres ] Dene caracteres vlidos nos nomes de arquivos: valid chars =: : : : : : : : : : : :. Este parmetro DEVER ser sempre especicado depois do client code page, pois caso contrrio, eles sero substitudos por estes.

Restries de acesso/mapeamento de usurios guest account = [conta] Dene a conta local de usurio que ser mapeada quando um usurio se conectar sem senha (usurio guest). Veja mais detalhes em Descrio de parmetros usados em compartilhamento on page 29. invalid users Dene uma lista de usurios que no tero acesso aos recursos do servidor ou compartilhamento. seguro restringir o acesso samba a usurios com grande poder no sistema (como o root). Veja mais detalhes em Restringindo o acesso por usurios on page 58. valid users Semelhante a opo invalid users mas permite que somente os usurios especicados tenham acesso ao sistema. Veja mais detalhes em Restringindo o acesso por usurios on page 58.

Captulo 3. SAMBA

21

default service = nome Caso o servio que o usurio deseja se conectar no for encontrado no servidor, o SAMBA mapear o servio especicado nesta diretiva como alternativa. A varivel %S e o caracter _ podem ser interessantes em algumas alternativas de congurao. A opo default um sinnimo para esta opo. Caso utilize esta opo, crie o compartilhamento em modo somente leitura e com acesso pblico, caso contrrio (dependendo do planejamento de parties e segurana do sistema de arquivos) a mquina poder ser derrubada sem diculdades. username map = [arquivo] Especica um arquivo que faz o mapeamento entre nomes fornecidos por clientes e nomes de contas Unix locais. Veja Mapeamento de nomes de usurios on page 66 para mais detalhes de como congurar este recurso. obey pam restrictions = yes Indica se as restries do usurio nos mdulos PAM tero efeito tambm no SAMBA.

Nveis de autenticao (esta seo contm algumas explicaes que dependem do resto do contedo do guia, caso no entenda de imediato a fundo as explicaes, recomendo que a leia novamente mais tarde). Dene o nvel de segurana do servidor. Os seguintes valores so vlidos: share - Usada principalmente quando apenas a senha enviada por compartilhamento acessado para o servidor, caso muito tpico em sistemas Lan Manager e Windows for Workgroups. Mesmo assim o samba tenta mapear para um UID de usurio local do sistema usando os seguintes mtodos (retirado da pgina de manual do samba): 1 Se o parmetro guest only usado no compartilhamento junto com o guest ok, o acesso imediatamente permitido, sem vericar inclusive a senha. 2 Caso um nome de usurio seja enviado junto com a senha, ele utilizado para mapear o UID e aplicar as permisses deste usurio (como acontece no nvel de segurana user). 3 Se ele usou um nome para fazer o logon no Windows este nome ser usado como usurio local do SAMBA. Caso ele seja diferente, voc dever usar o mapeamento de nomes para associar o nome remoto do nome local (veja Mapeamento de nomes de usurios on page 66) 4 O nome do servio tentado como nome de usurio. 5 O nome da mquina NetBios tentada como nome de usurio 6 Os usurios especicados na opo user do compartilhamentos so utilizados (veja Descrio de parmetros usados em compartilhamento on page 29). 7 Caso nenhum destes mtodos acima for satisfeito, o acesso NEGADO. Hoje em dia, o uso do nvel de acesso share raramente usado, porque todos os sistemas a partir do Windows 95 e acima enviam o nome de usurio ao acessar um compartilhamento (caindo na segunda checagem do nvel share), sendo equivalente a usar o nvel user. Entretanto, o nvel de segurana share recomendado para servidores onde TODO o contedo deve ter acesso pblico (seja leitura ou gravao) e o parmetro guest shares tambm funciona nativamente. As senhas criptografadas (encrypt passwords = 1) NO funcionaro no nvel share, lembre-se deste detalhe.

Captulo 3. SAMBA

22

user - Este o padro. O usurio precisa ter uma conta de usurio no Linux para acessar seus compartilhamentos. A mesma conta de usurio/senha dever ser usada no Windows para acessar seus recursos ou realizado um mapeamento de nomes de usurios (veja Mapeamento de nomes de usurios on page 66). Este o padro do SAMBA. No nvel de acesso user o usurio precisa ser autenticado de qualquer forma, inclusive se for usado o parmetro guest only ou user. Os seguintes passos so usados para autorizar uma conexo usando o nvel user (retirado da documentao do SAMBA): tentada a validao usando o nome/senha passados pelo cliente. Se tudo estiver OK, a conexo permitida. Caso j tenha se autenticado anteriormente para acessar o recurso e forneceu a senha correta, o acesso permitido. O nome NetBIOS da mquina do cliente e qualquer nome de usurio que foi usado novamente tentado junto com a senha para tentar permitir o acesso ao recurso compartilhado. Caso o cliente tenha validado o nome/senha com o servidor e o cliente enviou novamente o token de validao, este nome de usurio usado. tentada a checagem com o parmetro user no compartilhamento (veja Descrio de parmetros usados em compartilhamento on page 29. vericado se o servio pblico, ento a conexo feita usando o usurio guest account e ignorando a senha (veja Criando um compartilhamento para acesso sem senha on page 59). domain - Neste nvel, o acesso s ser permitido quando a mquina for adicionada ao domnio com o smbpasswd (Linux on page 76). Neste nvel de acesso, a conta de usurio ser validada em um servidor PDC (controlador de domnio) e o acesso aos recursos das mquinas que fazem parte do domnio ser feito a partir do PDC. Veja Linux on page 76 para detalhes. server - A mquina samba tentara autenticar o usurio em outro servidor NT (ou samba). No caso da autenticao falhar, ser usado o nvel de acesso user na base de usurios local (ser necessrio o arquivo de senhas criptografado do samba para que a autenticao local funcione, veja Ativando o suporte a senhas criptografadas on page 46). Este nvel bastante usado quando conguramos um servidor de pers de usurios ou logon separado do PDC.

Log de acessos/servios log le= [arquivo ] Dene a localizao e nome do arquivo de log gerado pelo samba. As variveis de expanso podem ser usadas caso o administrador queira ter um melhor controle dos logs gerados (veja Variveis de substituio on page 27). Ex.: /var/log/samba/samba-log-%m. OBS: Se possvel coloque uma extenso no arquivo de log gerado pelo SAMBA (como .log). O motivo disto porque se estes logs forem rotacionados pelo logrotate voc ter problemas de recompactao mltiplas caso utilize um coringa samba-log-*, gerando arquivos como .gz.gz.gz.., lotando a tabela de arquivos do diretrio e deixando sua mquina em um loop de compactao. max log size = [tamanho ] Especica o tamanho mximo em Kb do arquivo de log gerado

Captulo 3. SAMBA

23

pelo samba. O valor padro 5000Kb (5MB). debug pid = [valor ] Este processo adiciona a pid aos logs gerados pelo processo smbd Isto til para depurao caso existam mltiplos processos rodando. O valor padro no e a opo debug timestamp deve ser yes para esta opo ter efeito. debug timestamp = [valor ] Ativa ou desativa a gravao de data/hora nos arquivos de log gerados pelo samba. O valor padro yes. debug level = [valor ] Aumenta o nvel de depurao dos daemons do SAMBA de 0 a 9. Um nvel de depurao interessante e que produz uma quantidade razovel de dados para congurao de um logrotate s para o SAMBA o 2, produzindo a lista de todos os compartilhamentos acessados, quem acessou, data/hora (dependendo das outras opes de depurao). Isto permite ao administrador saber exatamente o que est sendo acessado e por quem, quais as tentativas de acesso. Assim ter certeza que o contedo no est sendo acessado indevidamente. O nvel de depurao 0 o padro. debug uid = [valor ] Este parmetro inclui o euid, egid, uid, gid nos arquivos de log. O valor padro no. lock directory = [diretrio ] Dene onde sero gravados os arquivos de lock gerados pelo samba.

Navegao no servidor/tipo de servidor os level=[num ] Especica o nvel do sistema operacional. Este nmero usado para as eleies netbios para denir o navegador de grupo local e controlador de domnio (veja Nveis de sistema para eleio de rede on page 26 para detalhes). O valor pode ser de 0 a 255, o padro 32. announce as = [sistema ] Selecione o nome que o samba (nmbd) se anunciar na lista de pesquisa de rede. Os seguintes nomes podem ser usados: NT Server (ou NT) - Anuncia como Windows NT Server. Este o padro. NT Workstation - Anuncia-se como um NT Workstation. Win95 ou WfW - Anuncia-se na rede como uma estao Windows 9x, Windows for Workgroups, Windows NT Server e Windows NT Workstation de uma s vez. domain master = [valor ] Diz se o servidor tentar se tornar o navegador principal de domnio. Os valores que podem ser especicados so: yes, no e auto. O valor padro auto. Veja Domain Master Browser on page 38. local master = [valor ] Diz se o servidor participar ou no das eleies para navegador local do grupo de trabalho (workgroup). Os valores que podem ser especicados so: yes, no. O valor padro yes. Para vencer a eleio, o samba precisa ter o valor de os level maior que os demais. Note tambm que o Windows NT no aceita perder as eleies e convoca uma nova eleio caso ele perca. Como esta eleio feita via broadcasting, isso gera um trfego grande na rede. Desta forma, se tiver um computador NT na rede congure este valor para no. Veja Local Master Browser on page 38. preferred master = [valor ] Diz se o servidor samba ter ou no vantagens de ganhar uma eleio local. Se estiver congurado para yes, o servidor samba pedir uma eleio e ter vantagens para ganha-la. O servidor poder se tornar garantidamente o navegador principal do domnio se esta opo for usada em conjunto com domain master = 1. Os valores especicados podem ser yes, no e auto, o padro auto. Antes de ajustar

Captulo 3. SAMBA

24

este valor para yes, verique se existem outros servidores NetBIOS em sua rede que tem preferncia para se tornar o master principal, pois poder ocorrer um trfego alto de broadcasting causado pelas eleies solicitadas pelas outras mquinas. Outros parmetros de congurao include Inclui um outro arquivo de congurao na poro atual do arquivo de congurao. Voc pode utilizar variveis de substituio, exceto %u, %P e %S (veja Variveis de substituio on page 27).

3.2.9

Seo [homes]

Esta seo tem a funo especial de disponibilizar o diretrio home do usurio. Quando o usurio envia seu nome de login como compartilhamento feita uma busca no arquivo smb.conf procurando por um nome de compartilhamento que conra. Caso nenhum seja encontrado, feita uma busca por um nome de usurio correspondente no arquivo /etc /passwd, se um nome conferir e a senha enviada tambm, o diretrio de usurio disponibilizado como um compartilhamento com o mesmo nome do usurio local. O diretrio home do usurio poder ser modicado com o uso de mapeamento de nomes, veja Mapeamento de nomes de usurios on page 66. Quando o caminho do compartilhamento no for especicado, o SAMBA utilizar o diretrio home do usurio (no /etc/passwd). Para maior segurana da instalao, principalmente porque o diretrio home do usurio no um requerimento para a autenticao de usurio, recomendo usar a varivel de substituio %S apontando para um diretrio com as permisses apropriadas conguradas em seu sistema, por exemplo: [homes] comment = Diretrios de Usurios path=/pub/usuarios/%S Voc apenas ter o trabalho extra de criar os diretrios de usurios que faro acesso ao sistema. Isto no ser nenhum problema aps voc programar um shell script simples que verique os nomes de contas em /etc/passwd e crie os diretrios com as permisses/grupos adequados (isso no ser abordado por este captulo do guia, embora no seja complicado). Se deseja, existem exemplos em Exemplos de congurao do servidor SAMBA on page 79 sobre a seo [homes] no arquivo de congurao. Os parmetros aceitos em [homes] aqui so os mesmos usados para compartilhamentos normais (veja Descrio de parmetros usados em compartilhamento on page 29). Abaixo segue mais um exemplo de seo [homes]: [homes] comment = Diretrio home de usurios writable = yes

Captulo 3. SAMBA

25

public = no invalid users = root nobody @adm follow symlinks = no create mode = 0640 directory mode = 0750 A explicao de cada um dos parmetros podem ser encontradas em Descrio de parmetros usados em compartilhamento on page 29. O guia est com os parmetros bem organizados em sees especcas, apenas de uma olhada para entender com o captulo do SAMBA foi organizado e no ter diculdades de se localizar. OBS1:Caso nenhum caminho de compartilhamento seja utilizado, o diretrio home do usurio ser compartilhado. OBS2:No utilize o parmetro public yes na seo guest, caso contrrio todos os diretrios de usurios sero lidos por todos. Veja Consideraes de segurana com o uso do parmetro public = yes on page 65 para maiores detalhes.

3.2.10

Seo [printers]

Esta seo tem a funo de disponibilizar as impressoras existentes no sistema (lp, lp1, lp2, etc) existentes no /etc/printcap como compartilhamento de sistemas Windows. O mtodo que os nomes de impressoras so pesquisados idntico a forma feita para a seo [homes]: Primeiro o nome do compartilhamento pesquisado como um nome de servio, depois se ele um nome de usurio (tentando mapear o servio disponibilizado em [homes]), depois ser vericado a seo [printers]. Ao invs de usar este recurso, se preferir voc poder compartilhar as impressoras individualmente. Para detalhes, veja Congurando o Linux como um servidor de impresso Windows on page 55. OBS: importante lembrar que a seo [printers] DEVE ser denida como printable usando o parmetro printable = yes para funcionar. O utilitrio testparm poder ser usado para vericar problemas no arquivo cd congurao do SAMBA (veja Buscando problemas na congurao on the current page).

3.2.11

Buscando problemas na congurao

Durante o processo de congurao do SAMBA, comum cometer erros de digitao, usar parmetros em lugares indevidos, etc. recomendvel o uso do testparm para checar a congurao do SAMBA sempre que houver modicaes para ter certeza nada comprometa o funcionamento que planejou para sua mquina. Para usar o testparm s digitar testparm. Logo aps executa-lo, analise se existem erros nas sees de congurao e te pedir para pressionar <ENTER> para ver um dump do arquivo:

Captulo 3. SAMBA

26

Load smb config files from /etc/samba/smb.conf Processing section "[homes]" Processing section "[printers]" Processing section "[tmp]" Processing section "[cdrom]" Loaded services file OK. Press enter to see a dump of your service definitions A sada acima indica que est tudo OK com todas as conguraes que foram realizadas no servidor. possvel especicar um outro arquivo de congurao do SAMBA usando testparm /etc/samba/smb2.conf. Tambm permitido simular o nome NetBIOS que far acesso a mquina usando o parmetro -L nome (que ser substitudo na varivel %L).

3.2.12

Nveis de sistema para eleio de rede

Para selecionar qual sistema NetBIOS ser o local master browse ou domain master browse, usado um mtodo bastante interessante: o de eleies. Quando uma nova mquina entra na rede NetBIOS, ela solicita quem o Local Master Browser, caso nenhuma responda, ela fora uma eleio na rede atravs de uma requisio Broadcasting especial. Vence a eleio quem tiver o ***maior nmero***, chamado de OS Level (nvel de sistema operacional). Caso duas mquinas empatem, o desempate feito usando outros critrios. Se voc for a nica mquina de um workgroup, automaticamente voc ser o Local Master Browser. De meia em meia hora uma nova eleio feita, forando mais trfego broadcasting na rede. Durante este novo processo de eleio, a lista de computadores atualizada; as novas mquinas so adicionadas e as desligadas saem da lista aps 36 minutos. Este o motivo porque as mquinas Windows continuam aparecendo no ambiente de rede por algum tempo mesmo depois que desligadas ou porque elas no aparecem de imediato. O OS Level um nmero que caracterstico de cada sistema operacional cando entre 0 (mais baixo) e 255. Os nveis de acessos dos sistemas operacionais so os seguintes: Windows Windows Windows Windows for Workgroups 95 98 98 Second Edition 1 1 2 2

Windows Windows Windows Windows

2000 Server (standalone) 2000 Professional NT 4.0 Wks NT 3.51 Wks

16 16 17 16

Captulo 3. SAMBA

27

Windows NT 3.51 Server Windows NT 4.0 Server Windows 2000 Server (Domain Controller) SAMBA

32 33 32 32

O valor padro do OS Level do SAMBA 32, entretanto ele bastante exvel para permitir sua mudana atravs do parmetro os level (veja Navegao no servidor/tipo de servidor on page 23), isto garante que o SAMBA sempre vena as eleies da rede sobre qualquer outro sistema operacional. No caso de um servidor que estiver congurado para ser o navegador de rede, assim que for iniciado ele solicitar uma eleio de rede. As regras so as mesmas, vence o que tiver o *maior* nmero. Este nmero pode ser congurado facilmente no SAMBA para que ele sempre vena as eleies de rede, tomando conta da lista de mquinas. Isto especialmente interessante por causa da estabilidade do servidor Linux, quando migramos de servidor NT ou para fornecer mais servios de navegao, como servidor WINS. OBS: Nunca deixe um servidor NT congurado para ser o Local Browser ou Domain Master Browser competir com o SAMBA. Mesmo que o SAMBA ganhe, o NT um pssimo perdedor e convoca uma nova eleio para tentar novamente se eleger, gerando um *extremo* trfego broadcasting em redes grandes.

3.2.13

Variveis de substituio

Esta seo foi baseada nos dados da pgina de manual do samba, com adies que no estavam presentes na verso original e exemplos. Existem variveis especiais que podem ser usadas no arquivo de congurao do samba e so substitudas por parmetros especiais no momento da conexo do usurio. Um exemplo de utilizao de variveis de substituio seria mudar a localizao do diretrio home do usurio: [homes] comment = Diretrio home do usurio path = /home/usuarios/%u Cada uma das variveis so descritas em detalhes abaixo: %S O nome do servio atual, se existir. Seu uso interessante, principalmente no uso de diretrios homes. %P O diretrio raz do servio atual, se existir. %u 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.

Captulo 3. SAMBA

28

%g O grupo primrio do usurio %u. %U 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). %G O nome do grupo primrio de %U. %H O diretrio home do usurio, de acordo com %u. %v A verso do Samba. %h O nome DNS da mquina que est executando o Samba. %m O nome NetBIOS da mquina do cliente. Isto muito til para log de conexes personalizados e outras coisas teis. %L O nome NetBIOS 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 torna-lo o nome primrio de sua mquina. %M O nome DNS da mquina cliente. %N O nome do seu servidor de diretrios home NIS. 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 NIS. A entrada NIS do arquivo auto.map dividida na forma %N:%p. %R O nvel de protocolo selecionado aps a negociao. O valor retornado pode ser CORE, COREPLUS, LANMAN1, LANMAN2 ou NT1. %d A identicao de processo do processo atual do servidor. %a A arquitetura da mquina remota. Somente algumas so reconhecidas e a resposta pode no ser totalmente convel. O samba atualmente reconhece Samba, Windows for Workgroups, Windows 95, Windows NT e Windows 2000. Qualquer outra coisa ser mostrado como UNKNOWN (desconhecido). %I O endereo IP da mquina do cliente. %T A data e hora atual. %$(var_ambiente) Retorna o valor da varivel de ambiente especicada.

3.3

Compartilhamento de arquivos e diretrios

Esta seo documenta como disponibilizar arquivos e impressoras com o SAMBA e os parmetros usados para realizar restries de compartilhamento, modo que os dados sero disponibilizados e tens de performance. A maior parte destes parmetros so empregados

Captulo 3. SAMBA

29

em servios do SAMBA, mas nada impede que tambm sejam colocado na seo [global] do arquivo de congurao, principalmente quando isto vlido para diversos servios compartilhados (veja Seo [global] on page 19).

3.3.1

Descrio de parmetros usados em compartilhamento

Abaixo o guia traz algumas das opes que podem ser usadas para controlar o comportamento do compartilhamento de arquivos por servios no servidor SAMBA: path Indica o diretrio que ser compartilhado. Lembre-se que o usurio ter as permisses de acesso que ele teria caso estivesse logado no sistema como um usurio UNIX normal, exceto se estiver fazendo mapeamento para outros nomes de usurios (veja Mapeamento de nomes de usurios on page 66). Ex: path=/pub - Compartilha o diretrio local /pub. OBS: Quando no denido um path, o diretrio /tmp usado como padro. comment Descrio do compartilhamento que ser mostrada na janela de procura de rede ou no smbclient -L maquina. Ex: comment=Pasta de contedo pblico do sistema. browseable Dene se o compartilhamento ser ou no exibido na janela de procura de rede. Mesmo no sendo exibido, o compartilhamento poder ser acessado. Veja Criando um compartilhamento invisvel on page 63 para uma explicao mais detalhada. Ex: browseable=yes - Lista o compartilhamento na janela de pesquisa de servidores. guest account Conta que ser usada para fazer acesso sem senha (convidado) quando o parmetro guest ok ou public forem usados em um compartilhamento. Por padro ela mapeada para o usurio nobody. importante especicar uma nome de usurio guest (convidado), principalmente porque seu UID ser usado para fazer vrias operaes no SAMBA, como exibir os recursos disponveis na mquina para a rede. Por motivos claros, recomendvel que este usurio no tenha acesso login ao sistema. Caso no tenha a inteno de ocultar o SAMBA na lista de mquinas da rede (fazendo apenas acesso direto aos recursos), especique um valor para esta opo. Ex: guest account = sambausr - Mapeia os usurio se conectando sem senha para o usurio sambausr, desde que o acesso guest seja permitido pela opo public. public Permitem aos usurios usurios se conectarem ao compartilhamento sem fornecer uma senha usando o usurio guest. O UID que o usurio guest ser mapeado especicado pelo parmetro guest account). Veja Criando um compartilhamento para acesso sem senha on page 59. O parmetro guest ok equivalente a public. Ex: public = no - No permite guest only Permite somente conexes guest ao recurso. O UID do usurio mapeado para guest, mesmo que fornea uma senha correta. O valor padro no. Ex: guest only = no. write list Lista de usurios separados por espao ou vrgula que podero ler e gravar no compartilhamento. Caso o nome for iniciado por @, o nome especicado ser tratado como um grupo UNIX (/etc/group) e todos os usurios daquele grupo tero acesso de gravao. O uso deste parmetro ignora o read only = yes. Veja Excesso de acesso na permisso padro de compartilhamento on page 62 para mais detalhes. Ex: write list = gleydson, @usuarios - Permite acesso gravao somente do usurio gleydson e todos os usurios pertencentes ao grupo @usuarios. OBS: - O

Captulo 3. SAMBA

30

signicado de @ nos parmetros invalid users/valid users diferente das opes write list e read list. read list Lista de usurios separados por espao ou vrgula que podero apenas ler o compartilhamento. O caracter @ pode ser especicado para fazer referncia a grupos, como no write list. O uso deste parmetro ignora o read only = no. Veja Excesso de acesso na permisso padro de compartilhamento on page 62 para mais detalhes. Ex: read list = nobody, system, operador, @usuarios - Permite acesso de leitura somente do usurio nobody, system, operador e todos os usurios pertencentes ao grupo @usuarios. user Especica um ou mais nomes de usurios ou grupos (caso o nome seja seguido de @) para checagem de senha. Quando o cliente somente fornece uma senha (especialmente na rede Lan Manager, Windows for Workgroups e primeira verso do Windows 95) ela ser validada no banco de dados de senhas usando o usurio especicado nesta opo. Ex: user = john @usuariosrede only user Especica se somente sero permitidas conexes vindas de usurios da diretiva user. O padro no. Caso deseje restringir o acesso a determinados usurios, o certo faze-lo usando valid users e invalid users (veja Restringindo o acesso por usurios on page 58). O uso de only user apropriado quando necessrio um controle especco de acesso sobre a diretiva user. Ex: only user = no. locking Permite ao SAMBA fazer um lock real de arquivo ou apenas simular. Caso seja especicado como 0, o arquivo no bloqueado para acesso exclusivo no servidor mas uma resposta positiva de lock retornada ao cliente. Se denido como 1, um lock real feito. O padro yes. Ex: locking = yes available Faz o SAMBA ignorar o compartilhamento (como se tivesse retirado do servidor). O valor padro no. follow symlinks Permite o uso de links simblicos no compartilhamento (veja tambm a opo wide links). A desativao desta opo diminui um pouco a performance de acesso aos arquivos. Como restrita a compartilhamento, o impacto de segurana depende dos dados sendo compartilhados. O valor padro desta opo YES. Ex: follow symlinks = yes wide links Permite apontar para links simblicos para fora do compartilhamento exportada pelo SAMBA. O valor padro esta opo YES. Ex: wide links = yes. OBS: - A desativao desta opo causa um aumento na performance do servidor SAMBA, evitando a chamada de funes do sistema para resolver os links. Entretanto, diminui a segurana do seu servidor, pois facilita a ocorrncia de ataques usando links simblicos. Lembre-se mais uma vez que a segurana do seu sistema comea pela poltica e uma instalao bem congurada, isso j implica desde a escolha de sua distribuio at o conhecimento de permisses e planejamento na implantao do servidor de arquivos. dont descend No mostra o contedo de diretrios especicados. Ex: dont descend = /root, /proc, /win/windows, /win/Arquivos de Programas, /win/program files. printable Especica se o compartilhamento uma impressora (yes) ou um compartilhamento de arquivo/diretrio (no). O padro no. read only Especica se o compartilhamento somente para leitura (yes) ou no (no) para todos os usurios. O parmetro writable um antnimo equivalente a este parmetro, s que utiliza as opes invertidas. Por segurana, o valor padro somente leitura. Veja

Captulo 3. SAMBA

31

uma explicao mais detalhada em Criando um compartilhamento com acesso somente leitura on page 60. Ex: read only = yes. create mask Modo padro para criao de arquivos no compartilhamento. O parmetro create mode um sinnimo para este. O modo de arquivos deve ser especicado em formato octal. Ex: create mask = 0600. directory mask Modo padro para a criao de diretrios no compartilhamento. O parmetro directory mode um sinnimo para este. O modo de diretrio deve ser especicado em formato octal. Ex: directory mask = 0700. getwd cache Permite utilizar um cache para acesso as requisies getwd, diminuindo o nmero de ciclos de processamento para acesso a arquivos/diretrios. O valor padro Yes. write cache size Tamanho do cache de leitura/gravao do compartilhamento. Este valor especicado em bytes e o padro 0. Veja Melhorando a performance do compartilhamento/servidor on page 67 para detalhes sobre seu uso. Ex: write cache size = 384000. inherit permissions Permite herdar permisses de arquivos/diretrios do diretrio pai quando novos arquivos/diretrios so criados, isto inclui bits SGID (set group ID). O padro NO herdar permisses. O uso desta opo substitui as opes fornecidas por create mask, directory mask, force create mask e force directory mask. Ex: inherit permissions. preexec Executa um comando antes a abertura de um compartilhamento. O parmetro exec um sinnimo para este. Veja Executando comandos antes e aps o acesso ao compartilhamento on page 64. postexec Executa um comando depois da utilizao do compartilhamento. Veja Executando comandos antes e aps o acesso ao compartilhamento on page 64. preexec close Fecha imediatamente o compartilhamento caso o valor do comando executado pela opo preexec seja diferente de 0. O uso desta opo s faz sentido em conjunto com preexec. O valor padro no. Veja Executando comandos antes e aps o acesso ao compartilhamento on page 64. Exemplo: preexec close = yes. volume = nome Retorna o nome de volume especicado quando feito o acesso ao compartilhamento. Isto muito til para instalaes onde o serial do CD, disquete ou HD vericado durante o acesso. Isto acontece com freqncia em produtos de fabricantes proprietrios como forma de evitar a execuo ilegal do programa.

3.4

Congurao em Grupo de Trabalho

A congurao grupo de trabalho o mtodo mais simples para compartilhar recursos em uma rede e tambm indicado quando se possui uma rede pequena (at 30 mquinas) pois o gerenciamento no to complicado. Acima deste nmero, recomendada a utilizao da congurao de domnio para denio de polticas de acesso mais precisas pelo administrador e para manter o controle sobre os recursos da rede (veja Congurando um servidor PDC no SAMBA on page 39). A congurao do nvel de acesso por grupo de trabalho tem como caractersticas principais essa simplicidade na congurao e o controle de acesso aos recursos sendo feito pela mquina

Captulo 3. SAMBA

32

local atravs de senhas e controle de IP. Quanto ao mtodo de senhas, voc pode optar tanto por usar senhas criptografadas (Ativando o suporte a senhas criptografadas on page 46) ou senhas em texto limpo (Ativando o suporte a senhas em texto plano on page 50). Veja abaixo um exemplo explicado de congurao do SAMBA para grupo de trabalho:

[global] netbios name = servidor workgroup = focalinux security = user obey pam restrictions = yes encrypt passwords = no os level = 30 guest account = nobody server string = servidor da rede local master = true domain master = false [homes] comment = Diretrios de usurios create mask= 0700 directory mask = 0700 browseable = no [tmp] path = /tmp comment = Diretrio temporrio do sistema read only = yes valid users = gleydson public = no

Agora, verique se existem erros na congurao com o comando testparm (Buscando problemas na congurao on page 25) e reinicie o SAMBA (Iniciando o servidor/reiniciando/recarregando a congurao on page 14). O nome do grupo de trabalho que a mquina pertencer focalinux (workgroup = focalinux). O nvel de acesso usado neste exemplo de usurio (security = user), para mais detalhes sobre este mtodo, veja Nveis de autenticao on page 21. O parmetro local master foi denido para yes para o SAMBA tentar ser o navegador local do grupo de trabalho (veja Local Master Browser on page 38). Para testar se o servidor est funcionando, digite o seguinte comando:

smbclient -L servidor -U usuario

Captulo 3. SAMBA

33

Digite a senha de usurio quando solicitado. O comando dever listar os recuros da mquina, indicando que a congurao est funcionando corretamente. Se voc paranico e est preocupado com a segurana da mquina, recomendo ler a Controle de acesso ao servidor SAMBA on page 55.

3.5

Resoluo de nomes de mquinas no samba

O Samba pode utiliza os seguintes mtodos para resoluo de nomes de mquinas na rede (Nome de mquina (nome NetBios) on page 15). Eles esto listados em ordem de prioridade do mais para o menos recomendvel: lmhosts - Pesquisa primeiro o arquivo /etc/samba/lmhosts (veja Arquivo /etc /samba/lmhosts on this page para detalhes sobre este arquivo). host - Faz a pesquisa no arquivo /etc/hosts e no DNS em busca do nome da mquina. wins - Pesquisa no servidor WINS especicado pelo parmetro wins server do smb.conf (veja WINS on page 35). bcast - Envia um pacote para o endereo de broadcast de sua congurao de rede. Este geralmente deve ser o ltimo mtodo por gerar trfego excessivo em uma rede com um considervel nmero de computadores. A ordem que a resoluo de nomes feita pelo samba, pode ser modicada usando o parmetro name resolve order = [ordem] no arquivo de congurao do samba (ex. name resolve order = lmhosts host wins bcast).

3.5.1

Arquivo /etc/samba/lmhosts

Este arquivo um banco de dados que mapeia o endereo IP com o nome NetBIOS de uma mquina, semelhante ao formato do /etc/hosts. Este arquivo til quando temos servidores que so acessados com freqncia, quando servidores de rede esto em segmentos separados e no temos um servidor WINS entre os dois pontos para resoluo de nomes, para denir mquinas WINS que sero acessados pela internet, etc. Para ter certeza da localizao do arquivo lmhosts em sua mquina, digite smbclient -d 3 -L localhost e veja o diretrio de pesquisa deste arquivo. Veja um exemplo de arquivo lmhosts em Exemplo de lmhosts do UNIX on the following page. O uso do arquivo lmhosts evita o excesso de broadcasting na rede, pois a ordem padro usada para a resoluo de nomes do samba, procura primeiro resolver o nome procurando em arquivos lmhosts, depois usando dns, wins e broadcast. Dependendo do projeto de sua rede e como as mquinas resolvem os nomes, ele pode ser uma camada a mais de segurana contra um simples hijacking de servidor atravs de NetBEUI ou WINS (isso evitado com o uso de domnios, veja Congurando um servidor PDC no SAMBA on page 39). OBS: Note que em clientes Windows que estejam em outra subrede, necessrio o arquivo \windows\lmhosts apontando para um servidor PDC mesmo que ele esteja apontando para o servidor WINS, caso contrrio, a mquina no efetuar o logon.

Captulo 3. SAMBA

34

O formato do arquivo lmhosts do Windows mais complexo do que o do Linux pois o sistema precisa de mais detalhes para resolver os nomes e tipos de mquinas no domnio. Veja o modelo lmhosts.sam em seu sistema Windows para compreender seu funcionamento. Exemplo de lmhosts do UNIX O exemplo abaixo mapeia o endereo IP das mquinas (primeira coluna) com o respectivo nome de mquina (segunda coluna): 172.16.0.34 servarq 172.16.0.30 serverdom 192.168.5.2 servwins 172.16.0.3 servpdc 172.16.0.1 gateway

Exemplo de lmhosts do Windows O arquivo possui uma sintaxe idntica a do lmhosts do UNIX, mas alguns parmetros especiais so especicados para ajudar o Windows resolver algumas coisas que no consegue fazer sozinho (principalmente com relao a identicao de funo de mquinas em redes segmentadas): 192.168.0.5 servarq 192.168.0.1 serverpdc #PRE #DOM:dominio 192.168.0.2 "serverwins \0x1e" #PRE #INCLUDE \\serverpdc\lmhosts A primeira entrada do arquivo a tradicional, onde o nome da mquina NetBIOS associada ao IP. A segunda utiliza dois parmetros adicionais: #PRE - Faz a entrada ser carregada logo na inicializao e se tornando uma entrada permanente no cache NetBIOS. #DOM - Especica que a mquina um controlador de domnio. A mquina dever ter sido congurada para a funo de domnio, pois caso contrrio isso simplesmente no funcionar. Note que ambos #PRE e #DOM devem ser especicados em maisculas. O terceiro exemplo faz uma referncia permanente (#PRE) a mquina servidora WINS serverwins. Neste exemplo usada uma caracterstica especial para especicar a ID hexadecimal da mquina na rede 1e. O quarto utiliza um include para associar outro arquivo ao atual, til quando temos um compartilhamento que distribui um arquivo lmhosts para diversas mquinas na rede. De preferncia, utilize sempre uma diretiva #PRE para todas as mquinas especicadas na diretiva #INCLUDE em seu arquivo de congurao. Para a especicao de ID de servio manual, necessrio manter os 15 caracteres no nome da mquina (preenchendo os restantes com espaos, caso seja preciso). O ltimo caracter o

Captulo 3. SAMBA

35

cdigo hexadecimal que identica o servio de rede (veja nmblookup on page 72 para ver a lista de servios e sua respectiva funo). OBS: Caso crie este arquivo em um editor de textos do Linux, no se esquea de converter o arquivo para que contenha o CR+LF no nal das linhas.

3.5.2

WINS

Este um servio de resoluo de nomes que funciona de forma semelhante ao DNS, s que voltado para o NetBIOS. Quando uma mquina cliente NetBIOS entra na rede, o servidor WINS pega seu nome e IP e inclui em uma tabela para futura consulta pelos clientes da rede. Esta tabela consultada toda vez que um cliente NetBIOS solicita um nome de mquina, componentes do grupo de trabalho ou domnio na rede. Uma outra aplicao importante de um servidor WINS permitir a resoluo de nomes em pontos de redes que requerem roteamento, a simplicidade de um protocolo no rotevel como o NetBIOS ca limitada a simplicidade das instalaes de rede. Um servidor WINS pode ser instalado em cada ponta da rede e eles trocarem dados entre si e atualizar suas tabelas de nomes/grupos de trabalhos/IPs. A resoluo de nomes de mquinas ser feita consultando diretamente a mquina WINS ao invs de broadcasting (que geram um trfego alto na rede). Congurando o servidor WINS Para ativar o servidor WINS no samba, inclua as seguinte linha na seo [global] do seu arquivo /etc/samba/smb.conf: [global] wins support = yes wins proxy = no dns proxy = no max wins ttl = 518400 O parmetro wins proxy pode ser necessrio para alguns clientes antigos que tenham problemas no envio de suas requisies WINS. O dns proxy permite que o servidor WINS faa a pesquisa no DNS para localizao de nomes de mquinas caso no exista no cache. Ambas as opes wins support, wins proxy e dns proxy tem como valor padro no. Pronto, seu servidor samba agora suporta WINS. Fcil, prtico e rpido :-) Se estiver congurando uma subrede com masquerade para acesso a um PDC ou um servidor WINS, voc ter que mexer no gateway central para apontar uma rota para o gateway masquerade. O motivo disto porque o masquerade do Linux atua somente nos cabealhos, mas o IP da estao enviada e processada pelo PDC para retornar uma resposta. Da mesma forma, este IP registrado no servidor WINS para uso das estaes de trabalho. Isto s vai ser resolvido quando for escrito um mdulo de conntrack para conexes SAMBA (at o lanamento do kernel 2.4.22, isso ainda no ocorreu).

Captulo 3. SAMBA

36

OBS1: NUNCA congure mais de um servidor WINS em uma mesma rede. OBS2: NO especique o parmetro wins server caso esteja usando o suporte a WINS.

Congurando o Cliente WINS Para os clientes da rede (Linux, Windows, OS/2, etc.) fazer uso das vantagens da resoluo de nomes usando o WINS, necessrio congurar para que eles o utilizem para resolver os nomes de mquinas. Isto feito da seguinte forma em cada um dos sistemas operacionais: Linux Adicione a linha wins server = ip_do_servidor_WINS na seo global do arquivo /etc/samba/smb.conf: [global] wins server = 192.168.1.1 Aps isto, reinicie o servidor samba. Caso esteja executando o servidor via inetd, digite: killall -HUP nmbd. Se estiver rodando atravs de daemons: /etc/init.d/samba restart. No necessrio reiniciar o computador! Windows 9x Clique com o boto direito sobre o cone Ambiente de Rede e selecione propriedades. Na janela de congurao de rede clique na aba Congurao. Na lista que aparece selecione o protocolo TCP/IP equivalente a sua placa de rede local e clique em Propriedades. Na tela de Propriedades TCP/IP clique em Conguraes WINS e marque a opo Ativar resoluo WINS. Digite o endereo do servidor WINS e clique em Adicionar. OBS: Se utilizar um servidor DHCP em sua rede local e o endereo do servidor WINS tambm oferecido atravs dele, voc poder marcar a opo Usar DHCP para resoluo WINS. Note que esta opo somente estar disponvel se escolher a opo Obter um endereo IP automaticamente na tab Endereos IP. Clique em OK at fechar todas as telas e reinicie quando o computador perguntar :-)

3.6

Servidor de data/hora

O samba pode atuar como um servidor de data/hora ajustando o horrio de suas estaes de trabalho com o servidor da rede. As estaes clientes podero executar o comando net para sincronizar seu relgio durante a inicializao do Windows, ou durante o logon da rede atravs do script de logon, caso tenha congurado o servidor samba para logon em domnios NT.

3.6.1

Congurao do servio de data/hora no SAMBA

Para congurar o samba para atuar como servidor de data/hora de sua rede, adicione o seguinte parmetro na seo global do arquivo de congurao /etc/samba/smb.conf: [global] time server = yes

Captulo 3. SAMBA

37

Para sincronizar a data/hora das estaes de trabalho usando o servidor samba, veja Sincronizando a data/hora no Cliente on the current page. Caso o seu servidor SAMBA tambm seja o servidor de autenticao PDC da rede, a melhor forma de se fazer isto colocar o comando net time \\servidor_SAMBA /set /yes em um script que ser executado pela estao. OBS recomendvel instalar um cliente ntp para manter o relgio do servidor sempre atualizado, conseqentemente mantendo a data/hora das estaes tambm em sincronismo . .

3.6.2

Sincronizando a data/hora no Cliente

Na estao cliente Windows, use o seguinte comando: NET TIME \\SERVIDOR /WORKGROUP:GRUPO /SET /YES Um local interessante para colocao deste comando na pasta Iniciar da estao Windows, pois todos os comandos que estejam nesta pasta so executados quando o sistema iniciado. Exemplos: net time \\linux /set /yes - Sincroniza a hora com o servidor \\linux e no pede conrmao (/yes). net time \\linux /WORKGROUP:pinguim /set /yes - Sincroniza a hora com o servidor \\linux do grupo de trabalho pinguim (/WORKGROUP:pinguim) e no pede conrmao (/yes).

3.7

Congurao em Domnio

Esta seo descreve todos os passos necessrios para congurar um servidor de domnio PDC (Primary Domain Control) com pers mveis e outros recursos que tornam teis e seguras a administrao de uma rede NetBEUI.

3.7.1

Uma breve introduo a um Domnio de rede

Um domnio de rede consiste em uma mquina central chamada de PDC, que mantm o controle de todas as contas de usurios/grupos e permisses para acesso a rede NetBEUI. O acesso desta forma centralizado, como vantagem disto voc pode usar o nvel de acesso por usurios nas mquinas, denindo quais usurios ou grupos tero acesso de leitura/gravao. permitido criar scripts de logon, assim comandos programados pelo administrador sero executados nas mquinas clientes durante o logon no domnio (veja Criando Scripts de logon on page 42). O nome da mquina protegido contra hijacking atravs de contas de mquinas que fazem parte do domnio (veja Contas de mquinas de domnio on page 40). Isto s possvel em clientes Linux, Windows NT, Windows 2000 e Windows XP.

Captulo 3. SAMBA

38

Voc poder usar pers mveis, copiando todas as personalizaes do seu desktop para qualquer mquina na rede que voc faa o logon. Para o administrador, ele poder denir polticas com o Poledit e outros programas que sero salvas junto com o perl do usurio, valendo para qualquer mquina que ele se autentique na rede (veja Criando Scripts de logon on page 42). Se voc deseja iniciar logo a congurao do seu domnio, siga at Congurando um servidor PDC no SAMBA on the next page.

3.7.2

Local Master Browser

a mquina que ganhou a eleio no segmento local de rede (veja Nveis de sistema para eleio de rede on page 26). Logo que declarada o local master browser, ela comea a receber via broadcasting a lista de recursos compartilhados por cada mquina para montar a lista principal que ser retornada para outras mquinas do grupo de trabalho ou outras subredes que solicite os recursos compartilhados por aquele grupo. Uma nova eleio feita a cada 36 minutos ou quando a mquina escolhida desligada.

3.7.3

Domain Master Browser

Quando o local master browse eleito no segmento de rede, uma consulta feita ao servidor WINS para saber quem o Domain Master Browse da rede para enviar a lista de compartilhamentos. A mquina escolhida como Local Master Browse envia pacotes para a porta UDP 138 do Domain Master e este responde pedindo a lista de todos os nomes de mquinas que o local master conhece, e tambm o registra como local master para aquele segmento de rede. Caso tenha congurado sua mquina para ser o domain master browser da rede (tambm chamado de controlador principal de domnio ou PDC), ela tentar se tornar a mquina que ter a lista completa de recursos enviados pelos locais master browsers de cada segmento de rede. Um PDC tambm o local master browse de seu prprio segmento de rede. possvel ter mais de um domain master browse, desde que cada um controle seu prprio domnio, mas no possvel ter 2 domain master browsers em um mesmo domnio. Caso utilize um servidor WINS em sua rede, o PDC far consultas constantes em sua base de dados para obter a lista de domnios registrados. O domnio identicado pelo caracter 1b na rede (veja nmblookup on page 72). OBS: O Windows NT congurado como PDC sempre tenta se tornar o domain master browser em seu grupo de trabalho. No sendo possvel retirar o Windows NT congurado como PDC do domnio (por alguma outra razo), a nica forma ser deixar ele ser o domain master browser. Se este for o caso, voc poder continuar lendo este documento para aprender mais sobre NetBIOS e talvez ainda mudar de idia sobre manter o NT na rede aps ver as caractersticas do SAMBA ;-)

Captulo 3. SAMBA

39

3.7.4

Congurando um servidor PDC no SAMBA

Esta a parte interessante do guia, a prtica. Para os administradores que conhecem atravs da experincia prpria os problemas e denies do SAMBA, grande parte do guia foi apenas uma reviso (por favor, se faltou algo que acha interessante, me notiquem que incluirei na prxima verso e colocarei uma nota no lanamento e na pgina com os devidos crditos :-)) Para congurar uma mquina para ser o PDC (Controladora Principal de Domnio ou Primary Domain Control), siga esta seqncia: Habilite o suporte a senhas criptografadas. Caso ainda no tenha feito isso, leia a seo Ativando o suporte a senhas criptografadas on page 46. Na seo [global], insira/modique os seguintes parmetros: ; Identificao da mquina e domnio netbios name = gleydson workgroup = focalinux ;nveis de acesso e funes do servidor security = user domain master = yes prefered master = yes local master = yes ; senhas criptografadas encrypt passwords = yes smb passwd file = /etc/samba/smbpasswd.db Onde os parmetros signicam: netbios name = gleydson - Nome do computador. Este tambm ser o nome usado pelas outras mquinas clientes quando for congurar o PDC (controlador de domnio). workgroup = focalinux - Nome do domnio que est criando. Todas as mquinas que pertencerem a este domnio, tero o nvel de acesso denido pelo PDC. Note que o parmetro workgroup tambm usado ao especicar o nome do grupo de trabalho quando se usado a congurao grupo de trabalho (Congurao em Grupo de Trabalho on page 31). security = user - Requerido para controle de acesso por domnio, j que utilizado o controle de acesso local usando usurios e grupos locais. domain master = yes - Especica se est mquina est sendo congurada para ser o PDC da rede. OBS: Por favor, certique-se que no existe outro PDC no domnio. Veja Domain Master Browser on the facing page. prefered master = yes - Fora uma eleio com algumas vantagens para seu servidor ser eleito sempre como o controlador de domnio. Isto garante que a mquina SAMBA sempre seja o PDC. Veja Navegao no servidor/tipo de servidor on page 23. local master = yes - Dene se a mquina ser o controlador principal do grupo de trabalho local que ela pertence. Pronto, agora teste se existem erros em sua congurao executando o comando testparm (Buscando problemas na congurao on page 25) e corrija-os se existir. Resta agora reiniciar

Captulo 3. SAMBA

40

o servidor nmbd para que todas as suas alteraes tenham efeito. Para adicionar seus clientes a um domnio, veja Contas de mquinas de domnio on the current page e Congurando clientes em Domnio on page 73.

3.7.5

Contas de mquinas de domnio

Uma conta de mquina de domnio garante que nenhum outro computador possa utilizar o mesmo nome de uma mquina convel e assim utilizar os compartilhamentos que ela tem permisso. Os clientes Windows NT, Windows XP e Windows 2000 precisam de uma conta de mquina para ter acesso ao domnio e seus recursos. A criao de uma conta de mquina bastante semelhante a criao da conta de um usurio normal no domnio. Existe uma coisa que precisa sempre ter em mente quando estiver congurando uma conta de mquina de domnio: Quando voc cria uma conta para a mquina, ela entra e altera sua senha no prximo logon usando um segredo entre ela e o PDC, este segredo a identica sempre como dona daquele nome NetBIOS, ou seja, at o primeiro logon no NT, outra mquina com o mesmo nome NetBIOS poder ser a dona do netbios naquele domnio caso faa o logon no domnio. A nica forma de se evitar isto logar imediatamente no domnio NT assim que criar as contas de mquinas. Existem duas formas para criao de contas de mquinas: manual e automtica. Criando contas de mquinas manualmente

Para criar uma conta de domnio para a mquina master, siga estes 2 passos: 1 Crie uma conta de mquina no arquivo /etc/passwd: useradd -g domainmac -c "Maquina de Dominio" -s /bin/false -d /dev/null O comando acima cria uma conta para a mquina master$ e torna ela parte do grupo domainmac. necessrio especicar o caracter $ aps o nome da mquina para criar uma conta de mquina no domnio, caso contrrio o prximo passo ir falhar. Acredito que nas prximas verses do SAMBA seja desnecessrio o uso do arquivo /etc/passwd para a criao de contas de mquina. 2 Crie uma conta de mquina no arquivo /etc/samba/smbpasswd: smbpasswd -m -a master Isto cria uma conta de mquina para o computador master no arquivo /etc/samba /smbpasswd. Note que a criao de uma conta de mquina muito semelhante a criao de um usurio apenas precisa adicionar a opo -m. Quando for criar uma conta com o smbpasswd No necessrio especicar $ no nal do nome da mquina. O mais importante: Entre IMEDIATAMENTE no domnio aps criar a conta de mquina usando a conta de administrador de domnio criada no SAMBA (veja Criando uma conta de administrador de domnio on the next page)! como a mquina ainda no se autenticou pela primeira vez, qualquer mquina que tenha o mesmo nome e entre no domnio, poder alocar o nome recm criado. A nica forma de resolver este problema, apagando a conta de mquina e criando-a novamente no domnio. Siga os passos de acordo com o sistema operacional em Congurando clientes em Domnio on page 73 para colocar seus clientes em domnio.

Captulo 3. SAMBA

41

OBS1: Como segurana, recomendo desativar a conta de mquina no /etc/passwd usando o comando passwd -l conta. Esta conta NUNCA dever ser usada para login, isto deixa nossa congurao um pouco mais restrita. OBS2: A localizao do arquivo de senhas criptografadas do SAMBA pode ser modicado atravs da opo smb passwd file na seo [global] do arquivo smb.conf. OBS3: Os que tem experincia com NT e Windows 2000 devem ter notado que este mtodo semelhante ao do Server Manager das ferramentas de gerenciamentos de servidores existentes no Windows. Criando contas de mquinas automaticamente Atravs deste mtodo, as mquinas clientes tero sua conta criada automaticamente assim que seja feita a entrada no domnio usando a conta do administrador de domnio no SAMBA. Este o mtodo recomendvel de colocao de mquinas no domnio por ser mais prtica ao invs do mtodo manual. Note que normalmente isto funciona para o WinXP e Win2000 mas no funciona em redes com o NT4, devendo ser criadas contas de mquinas usando o mtodo manual. Para fazer a congurao automtica, coloque a seguinte linha no arquivo smb.conf na seo [global]:

add user script = useradd -g domainmac -c "Maquina de Dominio" -s /bin/false Assim, a conta de mquina ser automaticamente criada quando o administrador zer sua congurao no domnio (veja Criando uma conta de administrador de domnio on the current page). No SAMBA 3.0, a opo add machine script dever ser usada no lugar de add user script para adicionar uma mquina no domnio.

3.7.6

Criando uma conta de administrador de domnio

A conta de administrador do domnio a conta que tem permisses para realizar operaes de manuteno e administrao de mquinas que compem o domnio de rede. Com ela possvel, entre outras coisas, adicionar e remover mquina que compem o domnio. Para especicar que contas de usurios do arquivo /etc/samba/smbpasswd que tero poderes administrativos, utilize a opo domain admin group ou admin users na seo [global] do arquivo /etc/samba/smb.conf. O parmetro admin users permite que todas as operaes realizadas pelo usurio sejam feitas com poderes de usurio root. Isto necessrio porque o arquivo smbpasswd (usado para ajustar as contas de mquinas) normalmente tem permisses de leitura/gravao somente para root. O domain admin group permite que usurios especcos ou usurios do grupo especicado sejam parte do grupo de administradores do domnio para adicionar mquinas, etc. Por exemplo, para tornar o usurio gleydson com privilgios para adicionar/remover mquinas no domnio:

Captulo 3. SAMBA

42

[global] ... admin users = gleydson ou domain admin group = @admins gleydson Isto permite que o usurio gleydson possa adicionar/remover mquinas do domnio NT (veja Congurando clientes em Domnio on page 73) entre outras tarefas. Por segurana, recomendo que coloque esta conta no invalid users de cada compartilhamento para que seja utilizada somente para ns de gerenciamento de mquinas no domnio, a menos que deseje ter acesso total aos compartilhamentos do servidor (nesse caso, tenha conscincia do nvel de acesso que esta conta possui e dos problemas que pode causar caso caia em mos erradas). OBS1: Tenha SEMPRE bastante cuidado com quem dar poderes de administrador de domnio, pois toda sua rede poder car vulnervel caso os cuidados de administrao no estejam em boas mos. OBS2: Em verses antigas do SAMBA, somente o usurio root tem poderes para adicionar mquinas no domnio usando o parmetro domain admins group, devendo ser tambm adicionado no arquivo smbpasswd para que possa fazer isto e obviamente no dever estar listado em invalid users. Mesmo assim, existem outras formas explicadas no guia de se contornar o risco causado pela liberao de acesso do usurio root.

3.7.7

Criando Scripts de logon

Uma dos recursos mais teis em um domnio a possibilidade de se executar comandos nas mquinas cliente quando fazem o logon no domnio. Desta forma, possvel instalar programas, executar anti-vrus, mapear compartilhamentos automaticamente no clientes, etc. A programao de scripts de logon feita usando a linguagem em lote do DOS, com possibilidades de usar variveis de ambiente, cpia de arquivos entre servidores, etc. O guia no ir abordar a programao em linguagem de lote, mas isto simples de se encontrar na internet e mesmo a documentao que acompanha o prprio Windows til. Para habilitar o recurso de scripts de logon na mquina, adicione os seguintes parmetros no arquivo smb.conf: [global] domain logons = yes logon script = logon.cmd [netlogon] path = /pub/samba/netlogon read only = yes write list = ntadmin Segue a descrio de cada parmetro com detalhes importantes para a congurao e funcionamento do recurso de logon:

Captulo 3. SAMBA

43

domain logons - Deve ser denido para yes para ativar o recurso de logon scripts do SAMBA. logon drive a unidade de disco que ter o homedir do usurio mapeado. Isto somente usado por mquinas NT/2000/XP. logon script - Dene qual o script que ser executado na mquina cliente quando zer o logon. Ele deve ser gravado no diretrio especicado pela opo path do compartilhamento [netlogon] (/pub/samba/netlogon no exemplo). Os scripts de logon podem ser tanto em formato .bat ou .cmd. Se for programar um script universal, recomendvel o uso do formato .bat por ser compatvel tanto com Win9X e WinNT. Um detalhe que deve ser lembrado durante a programao do script de logon que ele DEVE seguir o formato DOS, ou seja, ter os caracteres CR+LF como nalizador de linhas. Para utilizar editores do UNIX para escrever este script, ser necessrio executar o programa flip (flip -m -b arquivo) ou unix2dos no arquivo para converte-lo em formato compatvel com o DOS. Segue abaixo um exemplo de script de logon que detecta quando o cliente Windows 95/NT, ajusta a hora com o servidor e mapeia 2 unidades de disco: @echo off cls rem Logon Script desenvolvido por Gleydson Mazioli rem da Silva como modelo para o guia Foca GNU/Linux rem rem Este script pode ser utilizado para fins didticos rem e distribudo livremente de acordo com os termos rem da GPL rem echo "Aguarde enquanto sua mquina efetua" echo "o logon na rede do domnio focalinux." rem if %OS%==Windows_NT goto NT-2000 rem echo "--------------------------------" echo "SO: %OS%" echo "Usurio: %USERNAME%" echo "Grupo de Trabalho: %LANGROUP%" echo "Servidor: %DOMINIO%" echo "--------------------------------" echo "Recuperando compartilhamentos" rem mapeia o compartilhamento publico definido no servidor net use e: \\gleydson\publico echo "Sincronizando data/hora" rem sincroniza a data/hora com o servidor

Captulo 3. SAMBA

44

net time \\gleydson /set /yes goto fim rem rem :NT-2000 echo "--------------------------------" echo "SO: %OS%" echo "Usurio: %USERNAME%" echo "Windows: %windir%" echo "Logon de domnio: %LOGONSERVER%" echo "--------------------------------" echo "Recuperando compartilhamentos" net use e: \\gleydson\publico /persistent:yes echo "Sincronizando data/hora" net time \\gleydson /set /yes rem rem goto fim rem :fim Note no exemplo acima que no podem haver linhas em branco, voc dever utilizar a palavra rem (comentrio em arquivos em lote) em seu lugar. Note que existem diferenas entre o comando net do Windows 9x/ME e do NT, as variveis tambm possuem um signicado diferente entre estes 2 sistemas, isto explica a necessidade de se incluir um bloco separado detectando a existncia de qual sistema est sendo efetuado o logon. A lista completa de variveis disponveis para cada sistema operacional pode ser obtida colocando-se set >c:\vars.txt que gravar uma lista de variveis disponveis durante o logon no arquivo c:\vars.txt da mquina cliente. OBS: Caso especique um computador que contm o script de login, lembre-se de faze-lo sempre com \ ao invs de / para no ter incompatibilidade com o Windows 95/3.11. ATENO: Lembre-se que copiar e colar pode no funcionar para este script. Leia novamente esta seo do guia se estiver em dvidas.

3.7.8

Congurando pers de usurios

Os proles permitem que os clientes utilizem o mesmo perl em qualquer mquina que ele se autentique na rede. Isto feito aps a autenticao copiando os arquivos que contm os dados de personalizao de usurios (user.dat, NTuser.dat) para a mquina local. Este processo tambm inclui a cpia de papis de parede, links da rea de trabalho, cache do IE, etc. Para congurar o recurso de pers mveis no domnio, necessrio adicionar os seguintes parmetros no seu arquivo smb.conf: [global]

Captulo 3. SAMBA

45

security = user encrypt passwords = yes domain logons = yes logon drive = H: logon path = \\%N\profilesNT\%u logon home = \\%N\profiles\%u preserve case = yes short preserve case = yes case sensitive = no [profiles] path = /pub/profiles read only = no create mask = 0600 directory mask = 0700 [profilesNT] path = /pub/profilesNT read only = no create mask = 0600 directory mask = 0700 Segue a descrio dos parmetros de detalhes para seu funcionamento: O parmetro domain logons = yes especica que o servidor ser usado para fazer logons no domnio. Quando este parmetro denido para yes, a mquina automaticamente tentar ser o PDC. logon path e logon home denem (respectivamente) o diretrio de logon do /pub /profilesNT/usuario (NT) e /pub/profiles/usuario (Win95) respectivamente. Durante o logon, a varivel %N ser substituda pelo nome do servidor (ou servidor de diretrios, se for o caso) e a varivel %u pelo nome do usurio. O sistema operacional de origem detectado no momento da conexo. Isto signica que o usurio poder ter 2 proles diferentes, de acordo com o tipo de sistema operacional cliente que estiver conectando. O diretrio home do usurio ser mapeado para a unidade H: (logon drive = h:). O parmetro logon drive somente usado pelo NT/2000/XP. As opes preserve case, short preserve case e case sensitive permite que os nomes dos arquivos/diretrios tenham as letras maisculas/minsculas mantidas, isto requerido para os proles. O compartilhamento dos 2 proles pode ser feito sem tantos traumas, mas isto no ser explicado profundamente no guia pois o procedimento segue o mesmo padro do NT sendo bastante documentado na internet. Note que possvel denir um servidor separado para servir os proles para um domnio modicando a varivel %N para apontar direto para a mquina. Na mquina que armazenar os proles, basta denir o nvel de segurana por servidor (security = server) e o endereo IP do servidor de senhas (password server = IP).

Captulo 3. SAMBA

46

OBS1: Os pers s funcionam caso o servidor de proles contenha a opo security = user e encrypt passwords = yes ou security = server e password server = endereo_IP. Caso tenha problemas, verique se uma destas alternativas est correta. OBS2: Quando utiliza o SAMBA com o Windows 2000 SP2, necessrio adicionar a opo nt acl support = no no compartilhamento [profiles], caso contrrio, ele retornar um erro de acesso ao compartilhamento.

3.7.9

Modicaes de permisses de acesso pelos clientes do domnio

Um usurio do Windows NT (ou verses baseadas neste) pode modicar as permisses dos arquivos/diretrios que tem acesso atravs da caixa de dilogo de listas de acesso do NT, lembrando que estas permisses nunca substituiro as denidas pelo administrador local. A opo nt acl support dever estar denida para yes na seo [global] do arquivo de congurao, caso contrrio voc no ter acesso para mudar as permisses atravs de caixas de dilogo do NT.

3.8

Ativando o suporte a senhas criptografadas

O uso de senhas criptografadas um requisito quando voc deseja congurar o SAMBA para ser um servidor PDC ou um cliente de um domnio. Quando utiliza senhas criptografadas, elas trafegam em formato seguro atravs da rede, dicultando a captura por outras pessoas. Em verses mais recentes do Windows (a partir da OSR/2 e NT 4 service pack3) o suporte a senhas criptografadas vem habilitado como padro para login e utilizao de servios da rede. No recomendvel desativar o uso de senhas criptografadas, mas se mesmo assim for necessrio veja Senhas criptografadas ou em texto puro? on page 65. Quando usamos senhas criptografadas, elas so armazenadas no arquivo /etc/samba /smbpasswd ao invs do /etc/passwd, isto permite que possamos controlar as permisses de usurios separadamente das do sistema e diferenciar os logins do domnio dos logins do sistema (usurios que possuem shell). Caso tenha um servidor que j possua muitas contas de usurios acessando em texto plano, recomendo ler Migrando de senhas texto plano para criptografadas on page 48 para facilitar o processo de migrao de contas. O utilitrio smbpasswd o programa utilizado para gerenciar este arquivo de senhas e tambm o status de contas de usurios/mquinas do domnio. Siga estes passos para ativar o uso de senhas criptografadas no SAMBA: 1 Edite o arquivo /etc/samba/smb.conf e altere as seguintes linhas na seo [global] para adicionar o suporte a senhas criptografadas: [global] encrypt passwords = true smb passwd file =/etc/samba/smbpasswd A linha encrypt passwords = true diz para usar senhas criptografadas e que o arquivo /etc/samba/smbpasswd contm as senhas (smb passwd file =/etc/samba/smbpasswd). Caso sua mquina seja apenas um cliente de rede (e no

Captulo 3. SAMBA

47

4 5

um PDC), voc pode pular para o passo onde o SAMBA reiniciado (no nal dessa lista), no necessria a criao do arquivo de senhas para autenticao pois os usurios sero validados no servidor. Execute o comando mksmbpasswd </etc/passwd >/etc/samba/smbpasswd. Ele pega toda a base de usurios do /etc/passwd e gera um arquivo /etc/samba /smbpasswd contendo as contas destes usurios. Por padro, todas as contas so DESATIVADAS por segurana quando este novo arquivo criado. O novo arquivo ter o seguinte formato: gleydson:1020:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXX geovani:1004:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXX Os campos so separados por : e cada campo possui o seguinte signicado: 1 O primeiro o nome de usurio 2 UID do usurio no sistema UNIX que a conta ser mapeada. 3 Senha Lan Manager codicada em hex 32 criado usando criptograa DES usada pelo Windows 95/98/ME. 4 Senha hash criada em formato do NT codicada em hex 32. Esta senha criada pegando a senha do usurio, convertendo-a para maisculas, adicionados 5 bytes de caracteres nulos e aplicando o algoritmo md4. 5 Opes da conta criada no smbpasswd: U - Especica que a conta uma conta de usurio normal (veja Adicionando usurios no smbpasswd on the next page) D - Signica que a conta foi desativada com a opo -d (veja Desabilitando uma conta no smbpasswd on page 49). W - Especica que a conta uma conta de mquina criada com a opo -m (veja Contas de mquinas de domnio on page 40). N - A conta no possui senha (veja Denindo acesso sem senha para o usurio on page 50). Os caracteres XXXXXXXXXXXXXXX no campo da senha, indica que a conta foi recm criada, e portanto est desativada. O prximo passo ativar a conta para ser usada pelo SAMBA. ATENO: O mtodo de criptograa usado neste arquivo no totalmente seguro. Recomendo manter o arquivo de senhas smbpasswd em um diretrio com a permisso de leitura somente pelo root. Para ativar a conta do usurio gleydson, usamos o comando: smbpasswd -U gleydson Digite a senha do usurio e repita para conrmar. Assim que a senha for denida, a conta do usurio ativada. Voc tambm pode especicar a opo -s para entrar com a senha pela entrada padro (muito til em scripts). Apenas tenha cuidado para que esta senha no seja divulgada em seus arquivos/processos. Reinicie o processo do SAMBA (veja Iniciando o servidor/reiniciando/recarregando a congurao on page 14). Verique se o suporte a senhas criptografadas est funcionando com o comando: smbclient -L localhost -U gleydson Substitua localhost pelo IP do servidor e gleydson pelo usurio. Caso obtenha a mensagem session setup failed: NT_STATUS_LOGON_FAILURE signica que a senha informada est incorreta.

Captulo 3. SAMBA

48

3.8.1

Migrando de senhas texto plano para criptografadas

No SAMBA, possvel fazer um processo de migrao de senhas em texto plano de usurios para criptografadas sem que eles deixem de acessar o servidor durante esta mudana. Caso este seja seu caso, insira o parmetro update encrypted = yes

na seo [global] do seu arquivo de congurao smb.conf. A senha criptografada denida assim que o usurio se logar usando sua senha em texto plano. No se esquea de desativar esta opo ou remove-la aps o prazo necessrio para que todas as senhas sejam trocadas.

3.8.2

Adicionando usurios no smbpasswd

A adio de um usurio no smbpasswd segue duas etapas: primeiro necessrio adiciona-lo no sistema com o adduser e depois no samba com o smbpasswd. Voc deve estar se perguntando qual a vantagem de se ter um arquivo separado de usurios se ainda preciso criar o login nos dois arquivos; O SAMBA para fazer o controle de acesso aos arquivos utiliza alm dos mecanismos tradicionais do NT, o controle de permisses a nvel UNIX para manter os arquivos ainda mais restritos. Alm disso, ser necessrio usurios e grupos para criao e acesso ao sistema. 1 Adicione um usurio no sistema com o comando: useradd -g grupo-dominio -c "Usurio de Domnio" -s /bin/false -d /dev Este comando adiciona o usurio joao no grupo grupo-dominio e no dene hem uma shell, diretrio home nem senha para este usurio. Isto mantm o sistema mais seguro e no interfere no funcionamento do SAMBA, pois somente necessrio para fazer o mapeamento de UID/GID de usurios com as permisses do sistema UNIX. interessante padronizar os usurios criados no domnio para um mesmo grupo para pesquisa e outras coisas. 2 Crie o usurio joao no SAMBA: smbpasswd -a joao Ser solicitada a senha do usurio.

3.8.3

Removendo usurios do smbpasswd

Utilize o comando smbpasswd -x usuario para remover um usurio do arquivo smbpasswd. Se desejar, voc pode manter o usurio no /etc/passwd ou remove-lo com o userdel. OBS: Removendo um usurio deste arquivo far que ele no tenha mais acesso ao SAMBA. Utilize o comando smbpasswd -a teste

Captulo 3. SAMBA

49

3.8.4

Desabilitando uma conta no smbpasswd

Como administrador, pode ser necessrio que precise desativar temporariamente uma conta de usurio por alguma situao qualquer (m utilizao de recursos, dvida se a conta est sendo usada, para que ele ligue reclamando de autenticao para ter aquela desejada conversa (hehe), etc.). Remover uma conta e novamente adiciona-la ento no uma situao muito prtica. Utilize ento o seguinte comando para desativar uma conta de usurio: smbpasswd -d usuario Quando a conta de usurio desativada, uma ag D adicionada s opes do usurio (junto com as opes UX). Veja Habilitando uma conta no smbpasswd on this page para reativar a conta.

3.8.5

Habilitando uma conta no smbpasswd

Uma conta desativada com o uso do comando smbpasswd -d pode ser novamente ativada usando: smbpasswd -e usuario

3.8.6

Alterando a senha de um usurio

O utilitrio smbpasswd pode ser usado tanto para alterar a senha de usurios locais do SAMBA ou de uma conta em um servidor remoto (seja SAMBA, NT, W2K). Para alterar a senha de um usurio local, digite: smbpasswd -U usuario Lhe ser pedida a antiga senha, a nova senha e a conrmao. Caso seja o usurio root, somente a nova senha e a conrmao. Isto mecanismo de proteo para usurios que esquecem a senha ;-) Para alterar a senha de um usurio remoto, utilize: smbpasswd -r servidor -U usuario Note que apenas foi adicionada a opo -r servidor comparado com a opo anterior. A diferena que a senha antiga do usurio sempre ser solicitada para troca (pois o root das 2 mquinas pode no ser o mesmo).

Captulo 3. SAMBA

50

3.8.7

Denindo acesso sem senha para o usurio

Para fazer um usurio acessar sem senha, use o comando: smbpasswd -n usuario Isto completamente desencorajado e necessita que a opo null passwords da seo [global] no arquivo smb.conf esteja ajustada para yes (que NO o padro).

3.9

Ativando o suporte a senhas em texto plano

Esta forma de autenticao enviada por implementaes NetBIOS antigas, como a encontrada no Lan Manager, Windows for Workgroups e Windows 95 OSR1. As verses mais novas destas implementaes enviam a senha em formato criptografado, sendo necessrio tambm usar o formato criptografado no SAMBA para que possa se autenticar (veja Ativando o suporte a senhas criptografadas on page 46). Em Senhas criptografadas ou em texto puro? on page 65 feita uma comparao entre o uso de autenticao usando senhas em texto plano e senhas criptografadas. Em geral, o administrador prefere a utilizao da autenticao usando texto plano quando deseja usar o /etc /passwd para autenticao e est usando grupos de trabalho necessrio usar senhas criptografadas para autenticao). Para congurar o SAMBA para utilizar senhas em texto, modique o parmetro encrypt passwords para no: [global] encrypt passwords = no Reinicie o SAMBA (Iniciando o servidor/reiniciando/recarregando a congurao on page 14) e a partir de agora, ele usar o /etc/passwd para autenticao. OBS: Tenha certeza de no estar participando de um domnio ou que sua mquina seja o PDC antes de fazer esta modicao.

3.9.1

Congurando o acesso de clientes para uso de senhas em texto plano

Esta seo descreve como congurar clientes para acessar o servidor SAMBA usando autenticao em texto plano. Atualmente o guia cobre os seguintes clientes: Lan Manager on the facing page Windows for Workgroups on the next page Windows 95 / Windows 95A on the facing page Windows 95B on the next page Windows 98/98SE on the facing page

Captulo 3. SAMBA

51

Windows ME on the next page Windows NT Server/WorkStation on the following page Windows 2000 on the next page Linux on the following page Em cada seo, tambm explicado como habilitar novamente a autenticao usando senhas criptografadas (se suportado pelo cliente).

Lan Manager Cliente NetBIOS para DOS. Ele trabalha somente com senhas em texto plano.

Windows for Workgroups Este o padro de autenticao do Windows for Workgroups caso no tenha feito nenhuma alterao especca (mas desconheo algo que faa-o trabalhar com senhas criptografadas).

Windows 95 / Windows 95A O Windows 95 at a release A, utiliza texto plano como padro para autenticao (veja qual a release clicando com o boto direito em Meu Computador e Propriedades.

Windows 95B Copie o seguinte contedo para um arquivo chamado win95-textoplano.reg: REGEDIT4 [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP] "EnablePlainTextPassword"=dword:00000001 Aps isto, execute no Windows 95 o seguinte comando: win95-textoplano.reg e reinicie o computador para fazer efeito. regedit

Para voltar a utilizar criptograa, apenas altere o valor dword para 00000000 no arquivo e executa novamente o regedit.

Windows 98/98SE O procedimento idntico ao Windows 95B on the current page.

Captulo 3. SAMBA

52

Windows ME O procedimento idntico ao Windows 95B on the preceding page.

Windows NT Server/WorkStation Copie o seguinte contedo para um arquivo chamado winNT-textoplano.reg:

REGEDIT4 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Rdr\Parameters] "EnablePlainTextPassword"=dword:00000001

Aps isto, execute no Windows NT o seguinte comando: winNT-textoplano.reg e reinicie o computador para fazer efeito.

regedit

Para voltar a utilizar criptograa, apenas altere o valor dword para 00000000 no arquivo e execute novamente o regedit.

Windows 2000 Copie o seguinte contedo para um arquivo chamado win2000-textoplano.reg:

REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkStation\Parame "EnablePlainTextPassword"=dword:00000001

Aps isto, execute no Windows 2000 o seguinte comando: win2000-textoplano.reg e reinicie o computador para fazer efeito.

regedit

Para voltar a utilizar criptograa, apenas altere o valor dword para 00000000 no arquivo e execute novamente o regedit.

Linux Inclua/modique a linha encrypt passwords = no no arquivo smb.conf e reinicie o SAMBA. Para voltar a utilizar criptograa, veja Ativando o suporte a senhas criptografadas on page 46.

Captulo 3. SAMBA

53

3.10

Mapeamento de usurios/grupos em clientes

O mapeamento de usurios do servidor remoto com a mquina local usado quando voc deseja controlar o acesso aos arquivos/diretrios a nvel de usurio. No Windows isto permite que cada arquivo/diretrio tenha o acesso leitura/gravao somente para os usurios denidos e autenticados no controlador de domnio. No Linux as permisses de arquivos e diretrios podem ser denidas para o usurio do PDC, garantindo o mesmo nvel de controle de acesso. Esta seo explica como congurar o mapeamento de UID/GID entre o servidor PDC SAMBA e seus clientes NetBIOS Windows e Linux.

3.10.1

Mapeamento de usurios/grupos domnio em Windows

Para o Windows utilizar os usurios remotos do servidor para fazer seu controle de acesso por nvel de usurio, siga os seguintes passos: Windows 9X Entre no Painel de Controle/Propriedades de Rede e clique na tab Controle de Acesso. Marque a opo Controle de acesso a nvel de usurio e coloque o nome da mquina PDC na caixa de dilogo de onde os usurios/grupos sero obtidos. Voc tambm pode colocar o nome do grupo de trabalho, neste caso a mquina far uma busca pelo PDC ou outra mquina de onde pode obter os nomes de usurios/grupos. OBS: Para fazer isto, voc dever estar autenticado no domnio.

3.10.2

Mapeamento de usurios/grupos domnio em Linux

A associao de UIDs de usurios de um domnio com usurios locais no Linux feita pelo programa winbind. Ele utiliza o mecanismo nsswitch para obter outras fontes de dados de usurios e os associa nas ferramentas de gerenciamento de contas existentes no sistema. Siga estes passos para fazer sua instalao e congurao do Winbind em um servidor Linux: Instale o programa winbind: apt-get install winbind. Modique o arquivo smb.conf adicionando as seguintes linhas na seo [global]: winbind separator = + winbind cache time = 30 winbind uid = 10000-15000 winbind gid = 10000-12000 winbind enum users = yes winbind enum groups = yes template homedir = /home/winbind/%D/%U template shell = /bin/false Onde winbind separator Separador usado para separar o nome dos grupos do nome de domnio. Este parmetro somente tem sentido quando usado em conjunto com um PDC Windows ou quando os mdulos pam_winbind.so e nss_winbind.so esto sendo utilizados.

Captulo 3. SAMBA

54

winbind cache time Dene a quantidade de tempo em segundos que um nome/grupo permanecer no cache local para no ser feita uma nova consulta no servidor PDC. winbind uid Especica o intervalo que ser usado para mapear os nomes de usurios remotos como UIDs locais. Voc precisar ter certeza que nenhum UID nesse intervalo usado no sistema, como pelo LDAP, NIS ou usurios normais. Por padro, os IDS de usurios normais na maioria dos sistemas Linux, comeam por 1000. No exemplo sero usados os UIDs de 10000 a 15000 para mapeamento e UIDs dos usurios do domnio para usurios locais. winbind gid Especica o intervalo de GIDs que ser usado para mapear os nomes de grupos remotos do domnio como GIDs locais. Como no parmetro winbind uid, voc dever ter certeza que esta faixa de GIDs no est sendo usada em seu sistema. OBS: Atualmente SAMBA no possui suporte a grupos globais, apenas para usurios globais, desta forma os grupos da mquina remota no sero trazidos para o sistema. Uma forma de contornar isto, utilizando o LDAP ou o NIS no PDC e nos clientes Linux. winbind enum users Permite enumerar usurios do winbind para retornarem dados quando solicitados. A no ser que possua uma instalao parecida em todas as mquinas (como com o uso de LDAP e NIS) responda yes para no ter problemas. winbind enum groups Permite enumerar grupos do winbind para retornarem dados quando solicitados. A no ser que possua uma instalao parecida em todas as mquinas (como com o uso de LDAP e NIS) responda yes para no ter problemas. template homedir Quando o sistema cliente for um Windows NT ou baseado, este diretrio ser retornado como diretrio de usurio para o sistema. O parmetro %D ser substitudo pelo nome do domnio e %U pelo nome de usurio durante a conexo. template shell Este ser o shell enviado para mquinas NT ou baseadas nele como shell usado para login. O valor usado foi /bin/false pois desabilita os logons, mas voc poder usar /bin/sh (ou algum outro shell) para efetuar conexes do comando net ou outras ferramentas NetBEUI ao servidor. Reinicie o servidor SAMBA Edite o arquivo /etc/nsswitch.conf alterando a ordem de pesquisa de nomes de usurios e grupos do sistema local para a seguinte: passwd: files winbind group: files winbind shadow: compat Agora, inicie o daemon winbind local com o comando: /etc/init.d/winbind restart. Entre no domnio com o comando: smbpasswd -j domnio -r nome_do_PDC -U usuario (veja Linux on page 76 para aprender como entrar no domnio em caso de dvidas). Agora faa o teste para obter a listagem dos grupos e usurios do domnio do PDC digitando: wbinfo -u wbinfo -g getent passwd

Captulo 3. SAMBA

55

getent group Caso isto no acontea, revise suas conguraes e veja os logs procurando por erros quando o winbind tenta obter a lista de usurios/grupos do domnio. Agora voc deve ser capaz de criar diretrios/arquivos locais usando os nomes de usurios/grupos do domnio. Lembre-se de reiniciar sempre o winbind quando reiniciar o SAMBA por alguma modicao for feita (ao mesmo que saiba que no afeta o winbind), assim como entrar novamente no domnio, caso contrrio o mapeamento deixar de funcionar. OBS: Atualmente, o winbind no oferece suporte a restries por data/hora de logon para estaes de trabalho. Isto dever ser implementado em uma futura verso

3.11

Compartilhamento de impresso no servidor SAMBA

Este captulo documenta como congurar o seu servidor samba para permitir o acesso a compartilhamento de arquivos e impresso no sistema.

3.11.1

Congurando o Linux como um servidor de impresso Windows

Ser necessrio ter o pacote samba instalado e adicionar as seguintes linhas no seu arquivo /etc/samba/smb.conf: [hp-printer] path = /tmp printer name=HP DeskJet 690C printable = yes print command = lpr -r -h -P %p %s valid users = winuser winuser2 create mode = 0700 O compartilhamento acima tornar disponvel a impressora local lp as mquinas Windows com o nome HP DeskJet 690C. Uma impressora alternativa pode ser especicada modicando a opo -P da linha de comando do lpr. Note que somente os usurios winuser e winuser2 podero usar esta impressora. Os arquivos de spool (para gerenciar a la de impresso) sero gravador em /tmp (path = /tmp) e o compartilhamento [hp-printer] ser mostrado como uma impressora (printable = yes). Agora ser necessrio instalar o driver desta impressora no Windows (HP 690C) e escolher impressora instalada via rede e seguir os demais passos de congurao.

3.12

Controle de acesso ao servidor SAMBA

Este captulo documenta o controle de acesso ao servidor samba e restries.

Captulo 3. SAMBA

56

3.12.1

Nvel de acesso de usurios conectados ao SAMBA

Quando acessa um compartilhamento, o usurio do samba mapeado com o UID respectivo de usurio do sistema ou o usurio guest (especicado pela opo guest account) no caso de um acesso pblico. Quando isto ocorre, um processo lho do smbd executado sobre o UID e GID deste usurio. Isto signica que em nenhuma ocasio o SAMBA dar mais permisses que as necessrias para o usurio (com excesso de quando usado o parmetro admin users, veja Criando uma conta de administrador de domnio on page 41).

3.12.2

Restringindo o acesso por IP/rede

Esta restrio pode ser feita pelos parmetros allow hosts e deny hosts tanto em servios individuais ou em todo o servidor. Os parmetros hosts allow e hosts deny so equivalentes a estes acima. O allow hosts permite o acesso a mquina especicadas como argumento. So permitidos os seguintes mtodos para permitir o acesso a uma mquina/rede: 192.168.1.1 - IP da mquina servidor - Nome da mquina 192.168.1.0/255.255.255.0 - IP com mscara de rede 192.168.1.0/24 - IP com mscara de rede octal 192.168.1. - Poro de rede sem o host (como no hosts.allow e hosts.deny. @nome - Pesquisa por mquinas no grupo NIS. permitido usar mais de um endereo IP separando-os por vrgulas ou espaos. A palavra chave EXCEPT pode ser usada para fazer excesso de um ou mais endereos IPs, por exemplo:

hosts allow = 192.168.1. EXCEPT 192.168.1.20

Que permite o acesso a toda as mquinas da faixa de rede 192.168.1.0/24 exceto para a 192.168.1.20. O deny hosts possui a mesma sintaxe do allow hosts mas bloqueia o acesso das mquinas especicadas como argumento. Quando o allow hosts e deny hosts so usados juntos, as mquinas em allow hosts tero prioridade (processa primeiro as diretivas em allow hosts e depois em deny hosts). OBS: O endereo de loopback (127.0.0.1) nunca bloqueado pelas diretivas de acesso. Provavelmente deve ter notado porque o endereo de loopback no pode ser bloqueado e as conseqncias disto para o SAMBA. Se voc est executando o SAMBA via inetd, os arquivos hosts.allow e hosts.deny so vericados antes do controle e acesso allow hosts e deny hosts para controle de acesso ao smbd. Caso estiver usando o SAMBA viainetd e deseja restringir o acesso usando TCP Wrappers. OBS: Lembre-se de usar o testparm para vericar a sintaxe do arquivo smb.conf sempre que desconar de problemas (veja Buscando problemas na congurao on page 25).

Captulo 3. SAMBA

57

Testando a restrio de Acesso por IP/Redes Um mtodo interessante e til para testar se a nossa congurao vai bloquear o acesso a servios usando o testparm da seguinte forma: testparm /etc/samba/smb.conf IP/host Voc precisar dizer para o testparm qual o arquivo de congurao que est usando e o endereo IP/nome de host que far a simulao de acesso. Este mtodo no falsica o endereo IP para testes, apenas usa os valores em allow hosts e deny hosts para checagem. Por exemplo, para vericar o acesso vindo do IP 192.168.1.50: testparm /etc/samba/smb.conf 192.168.1.50 Load smb config files from /etc/samba/smb.conf Processing section "[homes]" Processing section "[printers]" Processing section "[tmp]" Processing section "[cdrom]" Loaded services file OK. Allow connection from /etc/samba/smb.conf (focalinux) Allow connection from /etc/samba/smb.conf (focalinux) Allow connection from /etc/samba/smb.conf (focalinux) Allow connection from /etc/samba/smb.conf (focalinux)

to to to to

homes printers tmp cdrom

3.12.3

Restringindo o acesso por interface de rede

Esta restrio de acesso permite que faamos o SAMBA responder requisies somente para a interfaces indicadas. O mtodo de segurana descrito em Restringindo o acesso por IP/rede on the preceding page sero analisadas logo aps esta checagem. Para restringir o servio SAMBA a interfaces, primeiro ser necessrio ativar o parmetro bind interfaces only usando 1, yes ou true (o padro desativado). Depois, denir que interfaces sero servidas pelo samba com o parmetro interfaces. Os seguintes formatos de interfaces so permitidos: eth0, sl0, plip0, etc - Um nome de interface local. permitido o uso de * para fazer o SAMBA monitorar todas as interfaces que iniciam com aquele nome (por exemplo, eth*). 192.168.1.1, 192.168.1.2, etc - Um endereo IP de interface local. 192.168.1.2/24, 192.168.1.2/255.255.255.0 - Um par de endereo/mscara de rede. Mais de uma interface pode ser usada separando-as com vrgula ou espaos. A escolha do uso de nome da interface ou do IP feita de acordo com a congurao da mquina. Em uma mquina DHCP por exemplo, recomendado o uso do nome da interface. Quando bind interfaces only estiver ativado, o padro esperar conexes em todas as interfaces que permitem broadcast exceto a loopback.

Captulo 3. SAMBA

58

Exemplo: bind interfaces only = 1 interfaces = loopback eth0 Permite o recebimento de requisies de acesso ao SAMBA somente da interface loopback (desnecessrio, pois como notou durante a leitura, sempre permitida a conexo) e eth0.

3.12.4

Restringindo o acesso por usurios

Permite que voc controle quem poder ou no acessar o compartilhamento da mquina. Este controle feito pelos parmetros valid users e invalid users. O invalid users lista de usurio que NO tero acesso ao compartilhamento. Se o nome for iniciado por + o parmetro ser tratado como um nome de grupo UNIX (/etc/group). O caracter & faz ele pesquisar o nome de grupo no banco de dados NIS. O caracter @ permite fazer a busca do grupo primeiro no banco de dados NIS e caso ele no seja encontrado, no arquivo de grupos do sistema (/etc/group). possvel usar a combinao de caracteres +& e &+ para alternar a ordem de busca enter o /etc/group e o NIS. Exemplos: invalid users = junior, marcio, +badusers No permite que os usurios especicados e os usurios do grupo +badusers tenham acesso ao compartilhamento. invalid users = &;semacesso Bloqueia o acesso de todos os usurios NIS que pertenam ao grupo semacesso. invalid users = bruno, henrique, +@users, Bloqueia o acesso dos usurios bruno, henrique e de todos os usurios que pertenam ao grupo users. A pesquisa de grupo feita primeiro no /etc/group e em seguida no NIS. invalid users = @semacesso Bloqueia o acesso dos usurios que pertencem ao grupo semacesso. A pesquisa feita primeiro no NIS e depois no /etc/group (equivalente ao uso de &+). O valid users possui a mesma sintaxe de funcionamento do invalid users, mas permite somente o acesso para os usurios/grupos listados. Caso a opo valid users no seja especicada ou a lista esteja vazia, o acesso permitido. Se um mesmo nome de usurio estiver na lista valid users e invalid users, o padro ser mais restritivo, negando o acesso. valid users = gleydson, michelle, geo A segurana deste mtodo de acesso depende muito da forma de autenticao dos nomes antes de passar o controle para o SAMBA, pois uma autenticao fraca pe em risco a segurana da sua mquina.

Captulo 3. SAMBA

59

3.12.5

Evite o uso do parmetro hosts equiv!

Este parmetro permite que mquinas tenham acesso sem senha a um servidor. Isto pode se tornar um *ENORME* buraco na segurana do seu sistema, pois mesmo usando uma senha invlida, a mquina poder ter acesso a todos os recursos do compartilhamento e no complicado fazer um ataque usando DNS spoong. Se realmente deseja fazer isto, tenha em mente os dados que podero ser acessados daquela mquina, se realmente no existe nenhuma outra forma de disponibilizar o acesso de forma que mantenha o controle de restries (usando todos os outros mtodos), restrinja o acesso usando MAC Address com o iptables ou o arp . O padro no usar nenhum arquivo hosts.equiv.

3.12.6

Evite o uso de senhas em branco!

O parmetro null passwords usado na seo [global] permitindo que contas de usurios sem senha tenham acesso permitido ao servidor. ISTO TOTALMENTE INSEGURO e deve ser sempre evitado. Caso voc tenha feito uma bela restrio em sua mquina e deseja que o seu shell script de cpia de arquivos funcione usando este mtodo, voc est jogando toda a segurana do seu sistema por ralo abaixo. No existe motivo para usar senhas em branco em um controle de acesso por usurio, a no ser que precise testar algo realmente temporrio e que depurando algo no SAMBA.

3.12.7

Criando um compartilhamento para acesso sem senha

Em algumas situaes (mesmo em instalaes seguras) preciso tornar um compartilhamento acessvel publicamente, exemplos disto incluem um diretrio que contm drivers de impressoras, arquivos comuns, um diretrio temporrio, etc. Para congurar um acesso pblico utilizamos a opo public = yes ou guest ok = yes (que um sinnimo para o ltimo comando). O UID utilizado no acesso pblico especicado pelo parmetro guest account, portanto ele dever ser um usurio vlido do sistema. Caso voc queira somente denir acesso guest a um compartilhamento, especique a opo guest only para o servio, desta forma, mesmo que o usurio tenha acesso, ele ser mapeado para o usurio guest. Uma boa medida de segurana usar o usurio nobody pois a maioria das distribuies de Linux seguras adotam-o como padro como usurio que no dono de quaisquer arquivos/diretrios no sistema, no possui login, senha ou sequer um diretrio home. Veja um exemplo disponibilizando o compartilhamento [download] para acesso pblico com acesso a gravao: [global] guest account = nobody

Captulo 3. SAMBA

60

.. .. [download] path = /downloads comment = Espao pblico para abrigar downloads de Usurios guest ok = yes (aqui poder ser tambm "public = yes"). writable = yes follow symlinks = false O parmetro guest account tambm poder ser especicado no compartilhamento, isto til quando no quiser que o usurio que acesse o compartilhamento no seja o mesmo usado na diretiva [global]. Caso seu servidor somente disponibiliza compartilhamentos para acesso pblico, mais recomendado utilizar o nvel security = share pra diminuir a carga mquina, pois o usurio guest ser o primeiro a ser checado pelas regras de acesso (ao contrrio do nvel user, onde o acesso guest o ltimo checado). OBS: Lembre-se que o compartilhamento funciona de modo recursivo, ou seja, todos os arquivos e subdiretrios dentro do diretrio que compartilhou sero disponibilizados, portanto tenha certeza da importncia dos dados que existem no diretrio, verique se existem links simblicos que apontam para ele, etc. Recomendo dar uma olhada rpida em Consideraes de segurana com o uso do parmetro public = yes on page 65.

3.12.8

Criando um compartilhamento com acesso somente leitura

Esta proteo til quando no desejamos que pessoas alterem o contedo de um compartilhamento. Isto pode ser feito de duas formas: negando o acesso de gravao para todo o compartilhamento ou permitindo leitura somente para algumas pessoas. O parmetro usado para fazer a restrio de acesso somente leitura o read only = yes ou seu antnimo writable = no. Abaixo seguem os dois exemplos comentados: [teste] comment = Acesso a leitura para todos path = /tmp read only = yes public = yes No exemplo acima, o diretrio /tmp (path = /tmp) foi compartilhado com o nome teste ([teste]), de forma pblica (acesso sem senha - public = yes), e todos podem apenas ler seu contedo read only = yes). [teste] comment = Acesso a gravao para todos com excesses

Captulo 3. SAMBA

61

path = /tmp read only = no read list = @users, gleydson invalid users = root

Neste, o mesmo compartilhamento teste ([teste]) foi denido como acesso leitura/gravao para todos (read only = no), mas os usurios do grupo @users e o usurio gleydson tero sempre acesso leitura (read list = @users, gleydson). Adicionalmente foi colocada uma proteo para que o superusurio no tenha acesso a ele (invalid users = root). Esta forma de restrio explicada melhor em Excesso de acesso na permisso padro de compartilhamento on the next page).

3.12.9

Criando um compartilhamento com acesso leitura/gravao

Esta forma de compartilhamento permite a alterao do contedo do compartilhamento dos usurios que possuem as permisses de acesso apropriadas. Este controle pode ser feito de duas formas: Acesso total de gravao para os usurios e acesso de gravao apenas para determinados usurios. Este controle feito pela opo read only = no e seu antnimo equivalente writable = yes. Abaixo dois exemplos:

[teste] comment = Acesso de gravao para todos. path = /tmp writable = yes public = yes

No exemplo acima, o diretrio /tmp (path = /tmp) foi compartilhado com o nome teste ([teste]), de forma pblica (acesso sem senha - public = yes) e todos podem ler/gravar dentro dele (writable = yes).

[teste] comment = Acesso a leitura para todos com excesses path = /tmp writable = no write list = @users, gleydson

Neste, o mesmo compartilhamento teste ([teste]) foi denido como acesso de leitura para todos (writable = no), mas os usurios do grupo @users e o usurio gleydson sero os nicos que tero tambm acesso a gravao (write list = @users, gleydson). Esta forma de restrio explicada melhor em Excesso de acesso na permisso padro de compartilhamento on the following page).

Captulo 3. SAMBA

62

3.12.10

Excesso de acesso na permisso padro de compartilhamento

possvel alterar o nvel de acesso para determinados usurios/grupos em um compartilhamento, para entender melhor: Caso tenha criado um compartilhamento somente leitura e queira permitir que apenas alguns usurios ou grupos tenham acesso a gravao, isto possvel e ser explicado nesta seo. Este comportamento controlado por duas opes: read list e write list. Veja alguns exemplos: [temporario] comment = Diretrio temporrio path = /tmp writable = yes read list = gleydson, root browseable = no available = yes Neste exemplo, disponibilizamos o diretrio /tmp (path = /tmp) como compartilhamento de nome temporario ([temporario]), seu acesso padro leitura/gravao para todos (writable = yes), exceto para os usurios root e gleydson (read list = root, gleydson). Em adio, tornamos o compartilhamento invisvel (veja Criando um compartilhamento invisvel on the next page) no Ambiente de Rede do Windows (browseable = no) e ele ser lido e disponibilizado pelo SAMBA (available = yes). [temporario] comment = Diretrio temporrio path = /tmp writable = no write list = gleydson, @operadores browseable = yes Neste exemplo, disponibilizamos o diretrio /tmp (path = /tmp) como compartilhamento de nome temporario ([temporario]), seu acesso padro apenas leitura para todos (writable = no), exceto para o usurio gleydson e usurios do grupo Unix operadores, que tem acesso a leitura/gravao (write list = gleydson, @operadores). Tornamos o compartilhamento visvel no Ambiente de Rede do Windows (browseable = yes - que o padro).

3.12.11

Restringindo o IPC$ e ADMIN$

seguro restringir os servios IPC$ e ADMIN$ para acesso somente pelas faixas de rede de conana. Isto pode ser feito atravs da mesma forma que a restrio em outros compartilhamentos. Os efeitos desta restrio sero que somente as redes autorizadas possam obter a lista de mquinas, se autenticar no domnio e realizar tarefas administrativas gerais:

Captulo 3. SAMBA

63

[IPC$] read only = yes allow from 192.168.1.0/24 [ADMIN$] read only = yes allow from 192.168.1.0/24 O exemplo acima permite que os servios IPC$ e ADMIN$ sejam acessados de qualquer mquina na faixa de rede 192.168.1.0/24. Para forar a autenticao para acesso a estes servios: [IPC$] invalid users = nobody valid users = gleydson michelle read only = yes allow from 192.168.1.0/24 [ADMIN$] invalid users = nobody valid users = gleydson michelle read only = yes allow from 192.168.1.0/24 Os exemplos acima so similares ao de antes, mas o acesso a listagem dos compartilhamentos restringida (invalid users = nobody), pois o usurio nobody (usado para mostrar o compartilhamento) tem o acesso negado. Somente os usurios gleydson e michelle (valid users = gleydson michelle) podem listar seu contedo. OBS: Mesmo que estejam restritos, os servios IPC$ e ADMIN$ sempre podero ser acessados de 127.0.0.1, ou teramos problemas com o funcionamento do SAMBA. Assim no necessrio colocar 127.0.0.1 na lista de IPs autorizados.

3.12.12

Criando um compartilhamento invisvel

Para no exibir um compartilhamento da lista de compartilhamentos das mquinas, utilize o parmetro browseable = no. Por exemplo: [teste] path = /tmp comment = Diretrio temporrio read only = yes browseable = no

Captulo 3. SAMBA

64

Neste exemplo, o diretrio /tmp (path = /tmp) foi compartilhado atravs de teste ([teste]) com acesso somente leitura (read only = yes) e ele no ser mostrado na listagem de compartilhamentos do ambiente de rede do Windows (browseable = no). Note que o compartilhamento continua disponvel, porm ele poder ser acessado da estao Windows, especicando a \\maquina\compartilhamento. Para acessar o compartilhamento do exemplo acima: # Clique em Iniciar/Executar e digite: \\nome_do_servidor_samba\teste Ao contrrio das mquinas Windows onde necessrio adicionar um $ do nome de compartilhamento para criar um compartilhamento oculto (como teste$) o SAMBA cria um compartilhamento realmente oculto, no aparecendo mesmo na listagem do smbclient.

3.12.13

Executando comandos antes e aps o acesso ao compartilhamento

Este recurso oferece uma innidade de solues que podem resolver desde problemas de praticidade at segurana usando as opes preexec e postexec. Por exemplo, imagine que esteja compartilhando 4 unidades de CD-Rom de um servidor na rede, e deseje que estes CDs estejam sempre disponveis mesmo que algum operador engraadinho tenha ejetado as gavetas de propsito, podemos fazer a seguinte congurao: [cdrom] path = /cdrom comment = Unidade de CD-ROM 1 read only = yes preexec = /bin/mount /cdrom preexec close = yes postexec = /bin/umount /cdrom Na congurao acima, o CD-ROM ser compartilhado como cdrom ([cdrom]), somente leitura (red only = yes), quando o usurio acessar o compartilhamento ele fechar a gaveta do CD (preexec = /bin/mount /cdrom) e desmontar o drive de CD assim que o compartilhamento for fechado (postexec = /bin/umount /cdrom). Adicionalmente, caso o comando mount da opo preexec tenha retornado um valor diferente de 0, a conexo do compartilhamento fechada (preexec close = yes). A UID do processo do preexec e postexec ser o mesmo do usurio que est acessando o compartilhamento, por este motivo ele dever ter permisses para montar/desmontar o CDROM no sistema. Caso precise executar comandos como usurio root, utilize a variante root preexec e root postexec. Apenas tenha conscincia que os programas sendo executados so seguros o bastante para no comprometer o seu sistema.

Captulo 3. SAMBA

65

Usando a mesma tcnica, possvel que o sistema lhe envie e-mails alertando sobre acesso a compartilhamentos que em conjunto com um debug level 2 e logs congurados independentes por mquina, voc possa ver o que a mquina tentou acessar (e foi negado) e o que ela conseguiu acesso. Como bom administrador, voc poder criar scripts que faam uma checagem de segurana no compartilhamento e encerre automaticamente a conexo caso seja necessrio, montar um honney pot para trojans, etc. Como deve estar notando, as possibilidades do SAMBA se extendem alm do simples compartilhamento de arquivos, se integrando com o potencial dos recursos do sistema UNIX.

3.12.14

Consideraes de segurana com o uso do parmetro public = yes

Este parmetro permite que voc acesso um compartilhamento sem fornecer uma senha, ou seja, que o usurio no esteja autenticado. NO utilize o parmetro public = yes (ou um de seus sinnimos) no compartilhamento [homes], pois abrir brechas para que possa acessar o diretrio home de qualquer usurio e com acesso a gravao (que o padro adotado pelos administradores para permitir o acesso ao seu diretrio home remoto). Recomendo utilizar o parmetro public = yes somente em compartilhamentos onde realmente necessrio, como o [netlogon] ou outras reas de acesso pblico onde as permisses do sistema de arquivos local estejam devidamente restritas. Outra medida no utilizar a opo follow symlinks, que poder lhe causar problemas com usurios mal intencionados que tenham acesso shell. OBS: Tenha em mente todas as consideraes de segurana abordadas neste captulo, bem como as permisses de acesso ao sistema Unix e como elas funcionam. A disponibilidade de arquivos em uma rede simples, simples tambm pode ser o acesso indevido a eles caso no saiba o que est fazendo.

3.12.15

Senhas criptografadas ou em texto puro?

Como regra geral, prera sempre utilizar senhas criptografadas. Aqui alguns motivos: A senha enviada de uma forma que diculta sua captura por pessoas maliciosas. O NT no permite que voc navegue no ambiente de rede em um sistema SAMBA com nvel de acesso por usurio autenticando usando senhas em texto plano. Ser solicitada sempre a senha para reconexo em cada compartilhamento da mquina. Todas as verses de Windows NT 4 a partir SP3 e Windows 95 OSR/2 utilizam senhas criptografadas como padro. possvel faze-lo utilizar senhas em texto plano modicando chaves no registro das mquinas clientes (veja Ativando o suporte a senhas em texto plano on page 50 para detalhes). As vantagens da utilizao da autenticao usando texto plano: A senha utilizada ser a mesma do /etc/passwd (servindo para ftp, login, etc) O servidor PDC pode ser usado para logon desde que os clientes estejam usando senhas em texto plano.

Captulo 3. SAMBA

66

Elas no so armazenadas no disco da estao cliente. Voc no ser perguntado por uma senha durante cada reconexo de recurso. Antes de optar por utilizar um sistema de senhas em texto plano, leve em considerao estes pontos. Se voc j utiliza telnet ou ftp, provavelmente a utilizao de autenticao usando texto plano no SAMBA no trar problemas mais graves para voc. OBS: Caso seu NT ou verso derivada no navegue no ambiente de rede (s aceitando conexes especicando diretamente o \\servidor\compartilhamento) modique sua congurao do SAMBA para autenticar usando senhas criptografadas (veja Ativando o suporte a senhas criptografadas on page 46) para detalhes de como fazer isto.

3.12.16

Mapeamento de nomes de usurios

Este recurso faz a mapeamento (traduo) de nomes de usurios usados no momento do acesso para contas de acesso locais, bastante til quando o nome de usurio enviado pela mquina no confere com NENHUMA conta local do sistema (um exemplo quando o login do usurio no Windows diferente de seu Login no Linux). Outro vantagem de seu uso permitir que uma categoria de usurios utilizem um mesmo nvel de acesso no sistema. Seu formato o seguinte: username map = arquivo. As seguintes regras so usadas para construir o arquivo de mapeamento de nomes: Um arquivo de mltiplas linhas onde o sinal de = separa os dois parmetros principais. O arquivo processado linha por linha da forma tradicional, a diferena o que o processamento do arquivo continua mesmo que uma condio conra. Para que o processamento do resto do arquivo seja interrompido quando um mapeamento conra, coloque o sinal ! na frente do nome local. O parmetro da esquerda a conta Unix local que ser usada para fazer acesso ao compartilhamento. Somente uma conta Unix poder ser utilizada. O parmetro da direita do sinal de = pode conter um ou mais nomes de usurios separados por espaos que sero mapeados para a conta Unix local. O parmetro @grupo permite que usurios pertencentes ao grupo Unix local sejam mapeados para a conta de usurio do lado esquerdo. Outro caracter especial o * e indica que qualquer usurio ser mapeado. Voc pode utilizar comentrios na mesma forma que no arquivo de congurao smb.conf. Alguns exemplos: # Mapeia o usurio "gleydson mazioli" com o usurio local gleydson gleydson = gleydson mazioli # Mapeia o usurio root e adm para o usurio nobody nobody = root adm

# Mapeia qualquer nome de usurio que pertena ao grupo smb-users para o usur # samba. samba = @smb-users

Captulo 3. SAMBA

67

# Utiliza todos os exemplos anteriores, se nenhum usurio conferir, ele ser # mapeado para o usurio nobody (como o usurio root e adm j so mapeados # para "nobody", este exemplo ter o mesmo efeito). !gleydson = gleydson mazioli !samba = @smb-users nobody = *

3.13

Melhorando a performance do compartilhamento/servidor

Esta seo trar algumas formas de otimizao do servidor SAMBA que fazem diferena quando os valores adequados so utilizados: A primeira a ativao de um cache de gravao/leitura de arquivos. Este cache feito pela opo write cache size e funciona fazendo o cache dos arquivos que sero lidos/gravados. Ele esvaziado assim que o arquivo for fechado ou quando estiver cheio. O valor especicado nesta opo em bytes e o padro 0 para no causar impacto em sistemas com pouca memria (ou centenas de compartilhamentos). Exemplo: [publico] path = /pub comment = Diretrio de acesso pblico read only = yes public = yes write cache size = 384000 Compartilha o diretrio /pub (path = /pub) como compartilhamento de nome publico ([publico]), seu acesso ser feito como somente leitura (read only = yes) e o tamanho do cache de leitura/gravao reservado de 384Kb (write cache size = 384000). Deixar a opo para seguir links simblicos ativada (follow symlinks) garante mais performance de acesso a arquivos no compartilhamento. A desativao da opo wide links em conjunto com o uso de cache nas chamadas getwd (getwd cache) permite aumentar a segurana e tem um impacto perceptvel na performance dos dados. A desativao da opo global nt smb support tambm melhora a performance de acesso dos compartilhamentos. Esta uma opo til para detectar problemas de negociao de protocolo e por padro, ela ativada. Caso utiliza um valor de depurao de log muito alto (debug level), o sistema car mais lento pois o servidor sincroniza o arquivo aps cada operao. Em uso excessivo do servidor de arquivos, isso apresenta uma degradao perceptvel de performance. A opo prediction permite que o SAMBA faa uma leitura adiante no arquivo abertos como somente-leitura enquanto aguarda por prximos comandos. Esta opo associada com bons valores de write cache size pode fazer alguma diferena. Note que o valor de leitura nunca ultrapassa o valor de read size.

Captulo 3. SAMBA

68

A opo read size permite obter um sincronismo no entre a leitura e gravao do disco com o envio/recebimento de dados da rede. O valor dependente da instalao local, levando em considerao a velocidade de disco rgido, rede, etc. O valor padro 16384. Em casos onde um NFS montado ou at mesmo leitura em discos locais compartilhada, o parmetro strict locking denido para yes pode fazer alguma diferena de performance. Note que nem todos os sistemas ganham performance com o uso desta opo e no deve ser usada em aplicativos que no requisitam o estado do lock de arquivo ao servidor. Caso voc possua aplicativos que fazem o lock corretamente de arquivos, voc poder usar o share modes = no, isto signica que futuras aberturas de arquivo podem ser feitas em em modo leitura/gravao. Caso utiliza um aplicativo muito bem programado que implementa de forma eciente de lock, voc poder desativar esta opo. O uso de oplocks yes em compartilhamentos aumenta a performance de acesso a arquivos em at 30%, pois utiliza um cdigo de cache no cliente. Tenha certeza do que est fazendo antes de sair usando oplocks em tudo que lugar. A desativao de kernel oplocks necessria para que isto funcione. A opo read raw e write raw devem ter seus valores experimentados para ver se faz diferena na performance da sua rede, pois diretamente dependente do tipo de cliente que sua rede possui. Alguns clientes podem car mais lentos em modo de leitura raw. O tipo de sistema de arquivos adotado na mquina e suas opes de montagem tem um impacto direto na performance do servidor, principalmente com relao a atualizao de status dos arquivos no sistema de arquivos (hora de acesso, data, etc). O cache de leitura adiante de abertura de arquivos em modo somente leitura aumenta a performance com o uso do oplocks nvel 2. Para isto, ajuste a opo level2 oplocks para yes. A recomendao deste tipo de oplock o mesmo do nvel 1. Como o SAMBA faz o transporte NetBEUI via TCP/IP, ajustes no socket fazem diferena nos dados que trafegam na rede. Como isso dependente de rede voc precisar usar tcnicas de leitura/gravao para determinar quais so as melhores que se encaixam em seu caso. A opo socket options usada para fazer tais ajustes, por exemplo: socket options = SO_SNDBUF=2048 IPTOS_THROUGHPUT=1 Em especial, a opo TCP_NODELAY apresenta uma perceptvel melhoria de performance no acesso a arquivos locais. OBS:: No use espaos entre o sinal de = quando especicar as opes do parmetro socket options.

3.14

Congurao de Clientes NetBEUI

Este captulo documenta a congurao de mquinas clientes NetBEUI, requerimentos de cada congurao e documenta os passos necessrios para ter o cliente se comunicando perfeitamente com o seu servidor. Sero explicadas tanto a congurao de grupo de trabalho como

Captulo 3. SAMBA

69

de domnio e como a congurao compatvel entre Linux e Windows, estas explicaes so perfeitamente vlidas para congurar clientes que acessem servidores Windows.

3.14.1

Consideraes sobre o Windows for Workgroups e LanManager

Sistemas com implementaes NetBIOS mais antigos, como o Windows for Workgroups (Windows 3.11) e o Lan Manager (DOS), enviam somente a senha para acesso ao compartilhamento, desta forma, para o acesso ser autorizado pelo samba, voc dever especicar a diretiva user = usuario para que a senha conra com o usurio local do sistema. A senha enviada tambm em formato texto plano. Este problema no ocorre no Windows 95 e superiores, que enviam o nome de usurio que efetuou o logon junto com a respectiva senha. Se a segurana do seu samba depende de senhas criptografadas, ser necessrio utilizar a diretiva include = outro_arquivo_de_configurao.%m para denir conguraes especcas de acesso para estas mquinas. Outro detalhe que deve ser lembrado que o Windows for Workgroups envia sempre a senha em MAISCULAS, ento preciso congurar o SAMBA para tentar combinaes de maisculas/minsculas usando o parmetro mangle case e default case na seo global do smb.conf.

3.14.2

Congurando clientes em Grupo de Trabalho

Para congurar o cliente para fazer parte de um grupo de trabalho, necessrio apenas que tenha em mos o nome do grupo de trabalho (workgroup) que os clientes faro parte e o nome de uma outra mquina que faz parte do mesmo grupo (para testes iniciais). Com estes dados em mos, selecione na lista abaixo o nome do cliente que deseja congurar para incluir no grupo de trabalho: Windows 9X on this page Windows XP Home Edition on the next page Windows XP Professional Edition on the following page Windows XP Server Edition on the next page Windows NT WorkStation on page 71 Windows NT Server on page 71 Windows 2000 Professional on page 71 Windows 2000 Server on page 71 Linux on page 71 Windows 9X Estas conguraes so vlidas para clientes Windows 95, Windows 95OSR/2, Windows 98. Caso utilize o Windows 95 (qualquer uma das sries) aconselhvel atualizar a stack TCP/IP e NetBEUI para corrigir alguns problemas que podem deixar sua mquina vulnervel na verso que acompanha o WinSock do Windows 95. Para tornar uma mquina parte do grupo de trabalho, siga os seguintes passos:

Captulo 3. SAMBA

70

Entre nas propriedades de rede no Painel de Controle Instale o Cliente para redes Microsoft (caso no esteja instalado). Instale o Protocolo TCP/IP. Voc tambm pode instalar o protocolo NetBIOS, mas utilizaremos o suporte NetBIOS sobre TCP/IP que o usado pelo SAMBA alm de ter um melhor desempenho, permitir integrao com servidores WINS, etc. Clique em Protocolo TCP/IP e em Propriedades. Clique na tab NetBIOS e marque a opo Desejo ativar o NetBIOS atravs do TCP/IP. Caso esta caixa esteja em cinza, ento est tudo certo tambm. Clique na tab Identicao e coloque l o nome que identicar o computador (at 15 caracteres) e o nome do grupo de trabalho que ele far parte(por exemplo workgroup, suporte, etc) . No campo Descrio do Computador, coloque algo que identique a mquina na rede (por exemplo, Computador da rea de suporte). Clique na tab Controle de Acesso e marque o Controle de acesso a nvel de compartilhamento (a no ser que tenha congurado um servidor que mantenha um controle de nvel de usurio na rede para as mquinas fora do domnio). Clique em OK at reiniciar o computador. A mquina cliente agora faz parte do grupo de trabalho! Tente acessar um outro computador da rede e navegar atravs do ambiente de rede. Caso a lista de mquinas demore em aparecer, tente acessar diretamente pelo nome do computador, usando o seguinte formato: \\computador

Windows XP Home Edition Siga as instrues de Windows XP Professional Edition on the current page.

Windows XP Professional Edition Logue como administrador do sistemas local. Entre no item Sistema dentro do painel de controle. A tela propriedades de sistema ser aberta. No campo Descrio do Computador, coloque algo que descreva a mquina (opcional). Clique na TAB Nome do Computador e no boto Alterar na parte de baixo da janela. No campo nome do computador, coloque um nome de no mximo 15 caracteres para identicar a mquina na rede. Clique em grupo de trabalho e digite o nome do grupo de trabalho na caixa de dilogo. Clique em OK e aguarde a mensagem conrmando sua entrada no grupo de trabalho. Ser necessrio reiniciar a mquina.

Windows XP Server Edition Siga as instrues de Windows XP Professional Edition on this page.

Captulo 3. SAMBA

71

Windows NT WorkStation Veja Windows NT Server on page 75. Windows NT Server Clique no item Rede do painel de controle. Na tab Servios, conra se os servios Estao de trabalho, Interface de NetBIOS e Servios TCP/IP simples esto instalados. Caso no estejam, faa sua instalao usando o boto Adicionar nesta mesma janela. Na tab Protocolos, verique se os protocolos NetBEUI e TCP/IP esto instalados. Caso no estejam, faa sua instalao clicando no boto Adicionar nesta mesma janela. Na tab identicao, clique no boto Alterar Na janela que se abrir, coloque o nome do computador no campo Nome do Computador Clique em Grupo de trabalho e escreva o nome do grupo de trabalho em frente. Clique em OK at voltar. Pronto, seu computador agora faz parte do grupo de trabalho. Windows 2000 Professional Logue como administrador do sistemas local. Entre no item Sistema dentro do painel de controle. A tela propriedades de sistema ser aberta. Clique em Computador e ento no boto Propriedades. No campo nome do computador, coloque um nome de no mximo 15 caracteres para identicar a mquina na rede. Clique em grupo de trabalho e digite o nome do grupo de trabalho na caixa de dilogo. Clique em OK e aguarde a mensagem conrmando sua entrada no grupo de trabalho. Ser necessrio reiniciar a mquina. Windows 2000 Server Logue como administrador do sistemas local. Entre no item Sistema dentro do painel de controle. A tela propriedades de sistema ser aberta. Clique em Descrio de rede e ento no boto Propriedades. No campo nome do computador, coloque um nome de no mximo 15 caracteres para identicar a mquina na rede. Clique em grupo de trabalho e digite o nome do grupo de trabalho na caixa de dilogo. Clique em OK e aguarde a mensagem conrmando sua entrada no grupo de trabalho. Ser necessrio reiniciar a mquina. Linux Os aplicativos smbclient e smbmount so usados para navegao e montagem dos discos e impressoras compartilhadas em mquinas Linux. Se voc procura programas de navegao

Captulo 3. SAMBA

72

grcos, como o Ambiente de Rede do Windows ou mais poderosos, veja Programas de navegao grcos on page 78. Como complemento, tambm explicado o programa nmblookup para resoluo de endereos NetBIOS em IP e vice-versa e a forma que as funes de mquinas so denidas em uma rede NetBEUI.

smbmount O smbmount uma ferramenta que permite a montagem de um disco compartilhado por uma mquina NetBEUI remota como uma partio. Veja alguns exemplos: smbmount //servidor/discoc /mnt/discoc Monta o compartilhamento de //servidor/discoc em /mnt/discoc usando o nome de usurio atual. Ser pedido uma senha para acessar o contedo do compartilhamento, caso ele seja pblico, voc pode digitar qualquer senha ou simplesmente pressionar enter. smbmount //servidor/discoc /mnt/discoc -N Semelhante ao comando cima, com a diferena que o parmetro -N no pergunta por uma senha. Isto ideal para acessar compartilhamentos annimos. smbmount //servidor/discoc /mnt/discoc -o username=gleydson,workgroup=teste Semelhante aos anteriores, mas acessa o compartilhamento usando gleydson como nome de usurio e teste como grupo de trabalho. Este mtodo ideal para redes que tem o nvel de acesso por usurio ou para acessar recursos compartilhados em um domnio.

smbclient O smbclient uma ferramenta de navegao em servidores SAMBA. Ao invs dela montar o compartilhamento como um disco local, voc poder navegar na estrutura do servidor de forma semelhante a um cliente FTP e executar comandos como ls, get, put para fazer a transferncia de arquivos entre a mquina remota e a mquina local. Tambm atravs dele que feita a interface com impressoras compartilhadas remotamente. Veja exemplos do uso do smbclient: smbclient -L samba1 Lista todos os compartilhamentos existentes (-L) no servidor samba1. smbclient //samba1/discoc Acessa o contedo do compartilhamento discoc no servidor samba1. smbclient //samba1/discoc -N Idntico ao acima, mas no utiliza senha (ideal para compartilhamentos com acesso annimo). smbclient //samba1/discoc -I 192.168.1.2 Se conecta ao compartilhamento usando o endereo IP 192.168.1.2 ao invs da resoluo de nomes. smbclient //samba1/discoc -U gleydson -W teste Se conecta ao compartilhamento como usurio gleydson usando o grupo de trabalho teste. smbclient //samba1/discoc -U gleydson%teste1 -W teste Idntico ao acima, mas tambm envia a senha teste1 para fazer a conexo diretamente. Caso receba a mensagem NT Status Access Denied, isto quer dizer que no possui direitos de acesso adequados para listas ou acessar os compartilhamentos da mquina. Nesse caso, utilize as opes -U usurio e -W grupo/domnio para fazer acesso com uma conta vlida de usurio existente na mquina. OBS:Note que a ordem das opes faz diferena no smbmount.

Captulo 3. SAMBA

73

nmblookup Esta uma ferramenta usada para procurar nomes de cliente usando o endereo IP, procurar um IP usando o nome e listar as caractersticas de cada cliente. Veja alguns exemplos: nmblookup -A 127.0.0.1 Lista o nome e as opes usadas pelo servidor 127.0.0.1 nmblookup servidor Resolve o endereo IP da mquina servidor. A listagem exibida pela procura de IP do nmblookup possui cdigos hexadecimais e cada um deles possui um signicado especial no protocolo NetBEUI. Segue a explicao de cada um: Identicao da mquina COMPUTADOR<00>= O servio NetBEUI est sendo executado na mquina. COMPUTADOR<03> = Nome genrico da mquina (nome NetBIOS). COMPUTADOR<20> = Servio LanManager est sendo executado na mquina. Identicao de grupos/domnio GRUPO_TRABALHO<1d> - <GRUPO> = Navegador Local de Domnio/Grupo. GRUPO_TRABALHO<1b> = Navegador Principal de Domnio. GRUPO_TRABALHO<03> - <GRUPO> = Nome Genrico registrado por todos os membros do grupo de trabalho. GRUPO_TRABALHO<1c> - <GRUPO> = Controladores de Domnio / Servidores de logon na rede. GRUPO_TRABALHO<1e> - <GRUPO> = Resolvedores de Nomes Internet (WINS). Estes cdigos podem lhe ser teis para localizar problemas mais complicados que possam ocorrer durante a congurao de um servidor.

3.14.3

Congurando clientes em Domnio

Para congurar qualquer um dos cliente abaixo para fazer parte de um domnio de rede, necessrio apenas que tenha em mos os seguintes dados: Nome do controlador de domnio PDC Nome do domnio Nome de usurio e senha que foram cadastrados no servidor. Acesso administrador no SERVIDOR PDC (SAMBA, NT, etc). Cria uma conta de mquina no domnio (no caso da mquina ser um Windows NT, Windows XP, Windows 2k ou Linux). Veja Contas de mquinas de domnio on page 40 para maiores detalhes. Como o Windows 3.11, Windows 95, Windows 98, Windows ME no possuem uma conta de mquina, eles nunca sero um membro real de um domnio, podendo sofrer um name spoong e terem a identidade roubada. Mesmo assim, eles tero pleno acesso aos recursos do domnio e uma congurao mais fcil que os demais clientes. Com estes dados em mos, selecione na lista abaixo o nome do cliente que deseja integrar no grupo de trabalho: Windows 9X on page 69 Windows XP Home Edition on page 70 Windows XP Professional Edition on page 70 Windows XP Server Edition on page 70 Windows NT WorkStation on page 71 Windows NT Server on page 71 Windows 2000 Professional on page 71

Captulo 3. SAMBA

74

Windows 2000 Server on page 71 Linux on page 71 OBS: O Windows 2000 apresenta algumas diculdades em entrar na rede do SAMBA 2.2, sendo necessrio o uso do SAMBA TNG 2.2.x para aceitar o logon de estaes Windows 2000.

Windows 9X Estas conguraes so vlidas para clientes Windows 95, Windows 95OSR/2, Windows 98. Caso utilize o Windows 95 (qualquer uma das sries) aconselhvel atualizar a stack TCP/IP e NetBEUI para corrigir alguns problemas que podem deixar sua mquina vulnervel na verso que acompanha o WinSock do Windows 95. Para tornar uma mquina parte do domnio, siga os seguintes passos: Entre nas propriedades de rede no Painel de Controle Instale o Cliente para redes Microsoft (caso no esteja instalado). Instale o Protocolo TCP/IP. Voc tambm pode instalar o protocolo NetBIOS, mas utilizaremos o suporte NetBIOS sobre TCP/IP que o usado pelo SAMBA alm de ter um melhor desempenho, permitir integrao com servidores WINS, etc. Clique em Cliente para redes Microsoft, marque a opo Efetuar logon no domnio do Windows NT. Coloque o nome do domnio que ir congurar o cliente para fazer parte na caixa Domnio do Windows NT (por exemplo, suporte). Na parte de baixo da caixa de dilogo, voc poder escolher como ser o mtodo para restaurar as conexes de rede. Inicialmente, recomendo que utilize a Efetuar logon e restaurar as conexes de rede que mais til para depurar problemas (possveis erros sero mostrados logo que zer o logon no domnio). Adeque esta congurao as suas necessidades quando estiver funcionando :) Clique em Protocolo TCP/IP e em Propriedades. Clique na tab NetBIOS e marque a opo Desejo ativar o NetBIOS atravs do TCP/IP. Caso esta caixa esteja em cinza, ento est tudo certo tambm. Clique na tab Identicao e coloque l o nome que identicar o computador (at 15 caracteres). Digite o nome de um grupo de trabalho que a mquina far parte no campo Grupo de Trabalho (por exemplo workgroup, suporte, etc). Este campo somente ser usado caso o logon no domnio NT no seja feito com sucesso. No campo Descrio do Computador, coloque algo que identique a mquina na rede (por exemplo, Computador da rea de suporte). Clique na tab Controle de Acesso e marque o Controle de acesso a nvel de usurio e especique o nome da mquina que serve a lista de usurios, que normalmente a mesma do PDC. Clique em OK at reiniciar o computador. Quando for mostrada a tela pedindo o nome/senha, preencha com os dados da conta de usurio que criou no servidor. No campo domnio, coloque o domnio que esta conta de usurio pertence e tecle <Enter>. Voc ver o script de logon em ao (caso esteja congurado) e a mquina cliente agora faz parte do domnio! Tente acessar um outro computador da rede e navegar atravs do ambiente de rede. Caso a lista de mquinas demore em aparecer, tente

Captulo 3. SAMBA

75

acessar diretamente pelo nome do computador, usando o seguinte formato: \\computador Windows XP Home Edition No possvel fazer o Windows XP Home Edition ser parte de um domnio, por causa de limitaes desta verso. Windows XP Professional Edition Primeiro, siga todos os passos para ingressar a mquina em um grupo de trabalho como documentado em Windows XP Professional Edition on page 70. Atualize o registro para permitir a entrada no domnio: 1 Copie o seguinte contedo para o arquivo WinXP-Dom.reg: REGEDIT4

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\netlogon\para "RequireSignOrSeal"=dword:00000000 "SignSecureChannel"=dword:00000000 2 Execute o comando regedit WinXP-Dom.reg no cliente XP. Entre nos tens (em seqencia) Painel de controle/Ferramentas Administrativas/ Poltica de segurana local/polticas locais e depois em opes de segurana. Na janela de opes de segurana, desative as opes Encriptar digitalmente ou assinar um canal seguro (sempre), Desativar modicaes de senha na conta de mquina e Requer chave de seo forte (Windows 2000 ou superior). Reinicie a mquina. Aps reiniciar a mquina, volte na tela de alterao de identicao de mquina na rede. Clique com o mouse em Domnio e digite o nome do domnio na caixa de dilogo. Na tela seguinte, ser lhe pedido o nome de usurio e senha com poderes administrativos que podem inserir/remover mquinas do domnio. Clique em OK e aguarde a mensagem conrmando sua entrada no domnio. Ser necessrio reiniciar a mquina aps concluir este passo.

Windows XP Server Edition Siga os procedimentos documentados em Windows XP Professional Edition on this page Windows NT WorkStation Veja os passos em Windows NT Server on the current page. Windows NT Server Clique no item Rede do painel de controle.

Captulo 3. SAMBA

76

Na tab Servios, conra se os servios Estao de trabalho, Interface de NetBIOS e Servios TCP/IP simples esto instalados. Caso no estejam, faa sua instalao usando o boto Adicionar nesta mesma janela. Na tab Protocolos, verique se os protocolos NetBEUI e TCP/IP esto instalados. Caso no estejam, faa sua instalao clicando no boto Adicionar nesta mesma janela. Na tab identicao, clique no boto Alterar Na janela que se abrir, coloque o nome do computador no campo Nome do Computador Clique em Dominio e escreva o nome do domnio que deseja entrar. Para criar uma conta de mquina no domnio, clique em criar uma conta de computador no domnio e coloque na parte de baixo o nome do usurio sua senha. O usurio dever ter poderes para adicionar mquinas no domnio. Caso a conta de mquina no seja criada, o Windows NT ser como um Windows 95/98 na rede, sem a segurana que seu nome NetBIOS no seja usado por outros (veja Contas de mquinas de domnio on page 40). Clique em OK at voltar. Pronto, seu computador agora faz parte do domnio.

Windows 2000 Professional Siga os passos descritos em Windows 2000 Server on the current page.

Windows 2000 Server Primeiro, siga todos os passos para ingressar a mquina em um grupo de trabalho como documentado em Windows 2000 Server on page 71. Aps reiniciar a mquina, volte na tela de alterao de identicao de mquina na rede. Clique com o mouse em Domnio e digite o nome do domnio na caixa de dilogo. Na tela seguinte, ser lhe pedido o nome de usurio e senha com poderes administrativos que podem inserir/remover mquinas do domnio. Clique em OK e aguarde a mensagem conrmando sua entrada no domnio. Ser necessrio reiniciar a mquina aps concluir este passo. Caso no consiga trocar a senha do Windows 2000 no servidor PDC, desative a opo unix password sync.

Linux Entre no sistema como usurio root. Instale o SAMBA caso no esteja ainda instalado. Edite o arquivo de congurao do samba /etc/samba/smb.conf, ser necessrio modicar as seguintes linhas na seo [global]: [global] workgroup = nome_domnio security = domain

Captulo 3. SAMBA

77

password server = nome_pdc nome_bdc encrypt passwords = true Onde: workgroup - Nome do domnio que deseja fazer parte. security - Nvel de segurana. Nesta congurao, utilize domain. password server - Nome da mquina PDC, BDC. Tambm poder ser usado *, assim o SAMBA tentar descobrir o servidor PDC e BDC automaticamente, da mesma forma usada pelo Windows. encrypt passwords - Diz se as senhas sero encriptadas ou no. Sempre utilize senhas criptografadas para colocar uma mquina em um domnio. Reinicie o servidor SAMBA aps estas modicaes. Execute o comando: smbpasswd -j domnio -r PDC/BDC -U usuario_admin. Onde: domnio - Domnio que deseja fazer o logon PDC/BDC - Nome da mquina PDC/BDC do domnio. Em alguns casos, pode ser omitido. usuario_admin - Usurio com poderes administrativos para ingressara a mquina no domnio. Se tudo der certo, aps executar este comando, voc ver a mensagem: Joined domain "domnio". Se sua congurao no funcionou, revise com ateno todos os tens acima. Verique se a conta de mquina foi criada no servidor e se o SAMBA na mquina cliente foi reiniciado. De tambm uma olhada em Erros conhecidos durante o logon do cliente on the current page. OBS:O SAMBA envia primeiramente um usurio/senha falso para vericar se o servidor rejeita o acesso antes de enviar o par de nome/senha corretos. Por este motivo, seu usurio pode ser bloqueado aps um determinado nmero de tentativas em alguns servidores mais restritivos. Para acessar os recursos compartilhados, veja Linux on page 71. Note que no obrigatrio realizar as conguraes acima para acessar os recursos de uma mquina em domnio, basta apenas que autentique com seu nome de usurio/senha no domnio e que ela seja autorizada pelo PDC.

3.14.4

Erros conhecidos durante o logon do cliente

Esta seo contm os erros mais comuns e a forma de correo da maioria dos problemas que ocorrem quando um cliente SAMBA tenta entrar em domnio. error creating domain user: NT_STATUS_ACCESS_DENIED - A conta de mquina no domnio no foi criada. Veja Contas de mquinas de domnio on page 40 para mais detalhes. NT_STATUS_NO_TRUST_SAM_ACCOUNT - No existe conta de mquina no Windows NT para autenticar uma mquina no domnio. Esta mensagem mostrada quando a mquina SAMBA cliente de um domnio NT. error setting trust account password: NT_STATUS_ACCESS_DENIED - A senha para criao de conta na mquina est incorreta ou a conta utilizada no tem permisses para ingressar uma mquina no domnio (veja Criando uma conta de administrador de domnio on page 41). Caso esteja usando um cliente SAMBA, verique se o

Captulo 3. SAMBA

78

parmetro encrypt passwords est ativado. A senha informada no est correta ou o acesso ao seu servidor de logon foi negado - Verique primeiro os logs de acessos do sistema. Caso o SAMBA esteja sendo executado via inetd, verique se a congurao padro restritiva e se o acesso est sendo negado pelos arquivos do tcp wrappers hosts.allow e hosts.deny. no existem servidores de logon no domnio - Verique se o parmetro domain logons = yes foi usado para permitir o logon em domnio.

3.14.5

Programas de navegao grcos

O smbclient, nmblookup e smbmount so ferramentas extremamente poderosas auxiliando bastante o administrador na tarefa de congurao de sua rede e resolver problemas. Para o uso no dia a dia ou quando no necessria a operao via console, voc pode utilizar uma das alternativas abaixo que so front-ends a estas ferramentas e facilitam o trabalho de navegao na rede. linneighborhood Cliente SAMBA baseado em GTK, muito leve e possibilita a navegao entre os grupos mquinas em forma de rvore. Ele tambm permite a montagem de compartilhamentos remotos. Caso precise de recursos mais complexos e autenticao, recomendo o TkSmb on the current page. TkSmb Cliente SAMBA baseado em TCL/TK. Seu ponto forte a navegao nos recursos da mquina ao invs da rede completa, possibilitando autenticao em domnio/grupo de trabalho, montagem de recursos, etc.

3.14.6

Cliente de congurao grcos

So ferramentas que permitem a congurao do samba usando a interface grca. Isto facilita bastante o processo, principalmente se estiver em dvidas em algumas conguraes, mas como todo bom administrador UNIX sabe, isto no substitui o conhecimento sobre o funcionamento de cada opo e ajustes e organizao feita diretamente no arquivo de congurao. gnosamba Ferramenta de congurao grca usando o GNOME. Com ele possvel denir conguraes localmente. Ele ocupa pouco espao em disco, e se voc gosta de GTK, este o recomendado. As opes do SAMBA so divididas em categorias facilitando sua localizao e uso.

Captulo 3. SAMBA

79

swat Ferramenta de administrao via web do samba. Este um daemon que opera na porta 901 da mquina onde o servidor samba foi instalado. A congurao feita atravs de qualquer navegador acessando http://ip_do_servidor:901 e logando-se como usurio root (o nico com poderes para escrever no arquivo de congurao). Esta ferramenta vem evoluindo bastante ao decorrer dos meses e a recomendada para a congurao do servidor SAMBA remotamente. Seu modo de operao divide-se em bsico e avanado. No modo bsico, voc ter disponvel as opes mais comuns e necessrias para compartilhar recursos na rede. O modo avanado apresenta praticamente todos os parmetros aceitos pelo servidor samba (restries, controle de acesso, otimizaes, etc.).

3.15

Exemplos de congurao do servidor SAMBA

Os exemplos existentes nesta seo cobrem diferentes tipos de congurao do servidor, tanto em modo de compartilhamento com acesso pblico ou um domnio restrito de rede. Todos os exemplos esto bem comentados e explicativos, apenas pegue o que se enquadre mais em sua situao para uso prprio e adaptaes.

3.15.1

Grupo de Trabalho com acesso pblico

Este exemplo pode ser usado de modelo para construir uma congurao baseada no controle de acesso usando o nvel de segurana share e quando possui compartilhamentos de acesso pblico. Esta congurao indicada quando necessita de compatibilidade com softwares NetBIOS antigos. # # # # # # # # Arquivo de configurao do SAMBA criado por Gleydson Mazioli da Silva <gleydson@debian.org> para o guia Foca GNU/Linux Avanado - Captulo SAMBA Este script pode ser copiado e distribudo livremente de acordo com os termos da GPL. Ele no tem a inteno de atender uma determinada finalidade, sendo usado apenas para fins didticos, portanto fica a inteira responsabilidade do usurio sua utilizao.

[global] # nome da mquina na rede netbios name = teste # nome do grupo de trabalho que a mquina pertencer workgroup = focalinux # nvel de segurana share permite que clientes antigos mantenham a compatibi # enviando somente a senha para acesso ao recurso, determinando o nome de usu # de outras formas

Captulo 3. SAMBA

80

security = share # O recurso de senhas criptografadas no funciona quando usamos o nvel share # de segurana. O motivo disto porque automaticamente assumido que voc # est selecionando este nvel por manter compatibilidade com sistemas antigo # ou para disponibilizar compartilhamentos pblicos, onde encrypt passwords = false # Conta que ser mapeada para o usurio guest guest account = nobody # Como todos os compartilhamentos desta configurao so de acesso pblico # coloquei este parmetro na seo [global], assim esta opo afetar todos # os compartilhamentos. guest ok = 1 # Conjunto de caracteres utilizados para acessar os compartilhamentos. O padr # para o Brasil e pases de lngua latina o ISO 8859-1 character set = ISO8859-1

# Compartilha o diretrio /tmp (path = /tmp) com o nome "temporario" ([tempora # adicionada a descrio "Diretrio temporrio" com acesso leitura/gravao # (read only = no) e exibido na janela de navegao da rede (browseable = yes) [temporario] path = /tmp comment = Diretrio temporrio read only = no browseable = yes

# Compartilha o diretrio /pub (path = /pub) com o nome "publico" ([publico]). # A descrio "Diretrio de acesso pblico" associada ao compartilhamento # com acesso somente leitura (read only = yes) e exibido na janela de navega # da rede (browseable = yes). [publico] path =/pub comment = Diretrio de acesso pblico read only = yes browseable = yes # Compartilha todas as impressoras encontradas no /etc/printcap do sistema # Uma descrio melhor do tipo especial de compartilhamento "[printers]" # explicado no inicio do guia Foca Linux [printers] comment = All Printers path = /tmp create mask = 0700 printable = Yes browseable = No

Captulo 3. SAMBA

81

3.15.2

Grupo de Trabalho com acesso por usurio

O exemplo abaixo descreve uma congurao a nvel de segurana por usurio onde existem compartilhamentos que requerem login e usurios especcos, e restries de IPs e interface onde o servidor opera. Esta congurao utiliza senhas em texto claro para acesso dos usurios, mas pode ser facilmente modicada para suportar senhas criptografadas. # # # # # # # # Arquivo de configurao do SAMBA criado por Gleydson Mazioli da Silva >gleydson@debian.org> para o guia Foca GNU/Linux Avanado - Captulo SAMBA Este script pode ser copiado e distribudo livremente de acordo com os termos da GPL. Ele no tem a inteno de atender uma determinada finalidade, sendo usado apenas para fins didticos, portanto fica a inteira responsabilidade do usurio sua utilizao.

[global] # nome da mquina na rede netbios name = teste # nome do grupo de trabalho que a mquina pertencer workgroup = focalinux # nvel de segurana user somente aceita usurios autenticados aps o envio # de login/senha security = user # utilizada senhas em texto claro nesta configurao encrypt passwords = false # Conta que ser mapeada para o usurio guest guest account = nobody # Permite restringir quais interfaces o SAMBA responder bind interfaces only = yes # Faz o samba s responder requisies vindo de eth0 interfaces = eth0 # Supondo que nossa interface eth0 receba conexes roteadas de diversas # outras redes, permite somente as conexes vindas da rede 192.168.1.0/24 hosts allow = 192.168.1.0/24 # A mquina 192.168.1.57 possui gateway para acesso interno, como medida # de segurana, bloqueamos o acesso desta mquina. hosts deny = 192.168.1.57/32

# Conjunto de caracteres utilizados para acessar os compartilhamentos. O padr # para o Brasil e pases de lngua latina o ISO 8859-1 character set = ISO8859-1

# As restries do PAM tero efeito sobre os usurios e recursos usados do SA obey pam restriction = yes

Captulo 3. SAMBA

82

# Mapeia o diretrio home do usurio autenticado. Este compartilhamento especi # descrito em mais detalhes no inicio do captulo sobre o SAMBA no Foca Linu [homes] comment = Diretrio do Usurio create mask = 0700 directory mask = 0700 browseable = No # Compartilha o diretrio win (path = /win) com o nome "win" ([win]). # A descrio associada ao compartilhamento ser "Disco do Windows", # o nome de volume precisa ser especificado pois usamos programas # que a proteo anti cpia o serial. Ainda fazemos uma proteo # onde qualquer usurio existente no grupo @adm automaticamente # rejeitado e o usurio "baduser" somente possui permisso de leitura # (read list = baduser). # [win] path = /win comment = Disco do Windows volume = 3CF434C invalid users = @adm browseable = yes read list = baduser

# Compartilha o diretrio /pub (path = /pub) com o nome "publico" ([publico]). # A descrio "Diretrio de acesso pblico" associada ao compartilhamento # com acesso somente leitura (read only = yes) e exibido na janela de navega # da rede (browseable = yes). O parmetro public = yes permite que este # compartilhamento seja acessado usando o usurio "nobody" sem o fornecimento # de senha. [publico] path =/pub comment = Diretrio de acesso pblico read only = yes browseable = yes public = yes

3.15.3
# # # # # #

Domnio
Arquivo de configurao do SAMBA criado por Gleydson Mazioli da Silva <gleydson@debian.org> para o guia Foca GNU/Linux Avanado - Captulo SAMBA Este script pode ser copiado e distribudo livremente de acordo com os termos da GPL. Ele no tem a inteno de atender uma determinada finalidade, sendo usado apenas

Captulo 3. SAMBA

83

# para fins didticos, portanto fica a inteira responsabilidade # do usurio sua utilizao. [global] # nome da mquina na rede netbios name = teste # nome do grupo de trabalho que a mquina pertencer workgroup = focalinux # String que ser mostrada junto com a descrio do servidor server string = servidor PDC principal de testes # nvel de segurana user somente aceita usurios autenticados aps o envio # de login/senha security = user # Utilizamos senhas criptografadas nesta configurao encrypt passwords = true smb passwd file = /etc/samba/smbpasswd # Conta que ser mapeada para o usurio guest guest account = nobody # Permite restringir quais interfaces o SAMBA responder bind interfaces only = yes # Faz o samba s responder requisies vindo de eth0 interfaces = eth0

# como estamos planejando ter um grande nmero de usurios na rede, dividimos # os arquivos de log do servidor por mquina. log file = /var/log/samba/samba-%m-%I.log # O tamanho de CADA arquivo de log criado dever ser 1MB (1024Kb). max log size = 1000 # Escolhemos um nvel de OS com uma boa folga para vencer as eleies de # controlador de domnio local os level = 80 # Dizemos que queremos ser o Domain Master Browse (o padro auto) domain master = yes # Damos algumas vantagens para o servidor ganhar a eleio caso # acontea desempate por critrios preferred master = yes # Tambm queremos ser o local master browser para nosso segmento de rede local master = yes # Este servidor suportar logon de usurios domain logons = yes # Usurios que possuem poderes para adicionar/remover mquinas no domnio # (tero seu nvel de acesso igual a root) admin users = gleydson # Unidade que ser mapeada para o usurio local durante o logon (apenas # sistemas baseados no NT). logon drive = m:

Captulo 3. SAMBA

84

# Nome do script que ser executado pelas mquinas clientes logon script = logon.bat # Ao que ser tomada durante o recebimento de mensagens do # Winpopup. message command = /bin/sh -c /usr/bin/linpopup "%f" "%m" %s; rm %s &

# Conjunto de caracteres utilizados para acessar os compartilhamentos. O padr # para o Brasil e pases de lngua latina o ISO 8859-1 character set = ISO8859-1

# As restries do PAM tero efeito sobre os usurios e recursos usados do SA obey pam restriction = yes

# Mapeia o diretrio home do usurio autenticado. Este compartilhamento especi # descrito em mais detalhes no inicio do captulo sobre o SAMBA no Foca Linu [homes] comment = Diretrio do Usurio create mask = 0700 directory mask = 0700 browseable = No # Compartilha o diretrio win (path = /win) com o nome "win" ([win]). # A descrio associada ao compartilhamento ser "Disco do Windows", # o nome de volume precisa ser especificado pois usamos programas # que a proteo anti cpia o serial. Ainda fazemos uma proteo # onde qualquer usurio existente no grupo @adm automaticamente # rejeitado e o usurio "baduser" somente possui permisso de leitura # (read list = baduser). # [win] path = /win comment = Disco do Windows volume = 3CF434C invalid users = @adm browseable = yes read list = baduser

# Compartilha o diretrio /pub (path = /pub) com o nome "publico" ([publico]). # A descrio "Diretrio de acesso pblico" associada ao compartilhamento # com acesso somente leitura (read only = yes) e exibido na janela de navega # da rede (browseable = yes). O parmetro public = yes permite que este # compartilhamento seja acessado usando o usurio "nobody" sem o fornecimento # de senha. [publico] path =/pub

Captulo 3. SAMBA

85

comment = Diretrio de acesso pblico read only = yes browseable = yes public = yes # Compartilhamento especial utilizado para o logon de mquinas na rede [netlogon] path=/pub/samba/netlogon/logon.bat read only = yes

Captulo 3. SAMBA

86

87

Captulo 4

Apndice
Este captulo contm consideraes sobre o guia Foca GNU/Linux.

4.1

Sobre este guia

O guia Foca foi criado em 12 de Novembro de 1999. A verso que est lendo tem o objetivo de servir como referncia a usurios Avanados que j dominam grande parte do sistema operacional e procuram aprender mais sobre os seus detalhes e conguraes especiais ou com referncia de consulta rpida. Uma verso que abrange um diferente nvel de aprendizado ou mais completa pode ser baixada de Pgina Ocial do guia Foca GNU/Linux (http://www.guiafoca.org). A verso que esta lendo agora foi gerada com as seguintes opes: Descrio detalhada de comandos Opes usadas em comandos e programas Observaes sobre comandos e conguraes Exemplos para a melhor compreenso do assunto discutido. e contm o(s) nvel(is) de aprendizado (Iniciante, Intermedirio e Avanado): Avanado O Foca GNU/Linux atualizado frequentemente, por este motivo recomendo que assine um dos canais de comunicao para ser informado de novas verses: Assinar o Twitter do focalinux <@focalinux> Assinar o RSS presente na pgina do guia e atualizaes. A cha do aviso de atualizaes na pgina web em Pgina Ocial do guia Foca GNU/Linux (http://www.guiafoca.org) no m da pgina principal. Aps preencher a cha do aviso de atualizaes, eu te enviarei um e-mail sobre o lanamento de novas verses do guia e o que foi modicado, desta forma voc poder decidir em copia-la caso a nova verso contm modicaes que considera importantes. Verses diferentes deste guia podem ser geradas a partir do cdigo fonte SGML ou obtidas atravs da home page principal (para detalhes veja Onde encontrar a verso mais nova do guia? on page 89).

Captulo 4. Apndice

88

4.2

Sobre o Autor

Gleydson Mazioli da Silva Capixaba, nascido em Vila Velha. Amante de eletrnica desde criana, foi atraido para a informtica atravs da curiosidade em funcionamento e reparo de hardware. Se dedica ao sistema Linux desde 1997. determinado na realizao de testes de ferramentas e sistemas avaliando pontos fortes e fracos de cada uma. Logo que iniciou em Linux passou a estudar exaustivamente aspectos tcnicos de distribuies e rede em Linux/BSD. Entre coisas que gosta de fazer/implementar em Linux: possibilidade de pesquisa e atualizao de conhecimento constante, automatizao e tomada inteligente de decises, nveis de segurana da informao (tanto fsico e lgico), rewalls, virtualizao, redes virtuais, integrao de sistemas, forense computacional, documentao de processos, desenvolvimento de ferramentas GPL para a comunidade, depurao, desenvolvimento de documentaes, etc. Um dos desenvolvedores da distribuio Liberdade, CAETECT, Debian-BR e desenvolvedor ocial da distribuio Debian. Atuou como tradutor do LDP-BR, traduzindo vrios HOW-TOs importantes para a comunidade Linux Brasileira. um dos administradores do projeto CIPSGA, cuidando de uma innidade de servios que o projeto oferece a comunidade que deseja estrutura para hospedar, fortalecer e manter projetos em software livre. Trabalhou para algumas empresas do Esprito Santo, no Governo Federal e de estados na implantao de sistemas em software livre. Atualmente atua como gerente de tecnologia da Spirit Linux, uma empresa focada na inovao, avaliao e integrao de ferramentas de cdigo aberto junto a seus clientes. Concorda com certicaes, mas destaca que o mais importante aproveitar a oportunidade dada pela certicao para estudo e auto avaliao de seus pontos fracos e assim procurar melhora-los. Possui certicao LPI nvel 3 e um ISO9001 internacional em Administrao Linux, como primeiro no ranking Brasileiro. E-mail: E-mail: <gleydson@guiafoca.org>, Twitter: <@gleydsonmazioli>.

4.3

Referncias de auxlio ao desenvolvimento do guia

As sees sobre comandos/programas foram construdas aps uso, teste e observao do comportamento das opes dos comandos/programas, help on line, pginas de manual, info pages e documentao tcnica do sistema. How-tos do Linux (principalmente o Networking Howto, Security-Howto) ajudaram a formar a base de desenvolvimento do guia e desenvolver algumas sees (verses Intermedirio e Avanado somente). Todos os exemplos e sees descritivas do guia so de minha autoria. Quanto a exemplos de conguraes e utilizao de programas, ser citada a origem que foram baseados no desmerecendo o trabalho de seus autores. Uso de programas e macetes aprendidos no dia a dia para gerenciar mquinas, controlar redes e automatizar sistemas.

Captulo 4. Apndice

89

As sees do nvel avanado foram construdas com base em testes e usando metodologia prpria com o objetivo de oferecer uma documentao objetiva e clara ao administrador de rede, auxiliando-o na tomada de decises para soluo de problemas. Partes extraidas de outras documentaes no nvel Avanado tero as referncias explicitamente citadas em seus respectivos captulos. Manual de Instalao da Debian GNU/Linux - Os captulos contendo materiais extrados do manual de instalao da Debian so muito teis e explicativos, seria desnecessrio reescrever um material como este. O texto claro e didaticamente organizado, o documento aborda detalhes tcnicos teis sobre hardwares em geral e o Linux ausentes nos manuais de outras distribuies Linux.

4.4

Onde encontrar a verso mais nova do guia?

Novas verses deste guia, avisos de lanamento, outros nveis de aprendizado (Iniciante, Intermedirio e Avanado), verses para outras distribuies Linux podem ser encontradas em: Pgina Ocial do guia Foca GNU/Linux (http://www.guiafoca.org). Se quiser receber noticaes de novas verses, use uma das formas a seguir: por E-Mail: envie uma mensagem para <gleydson@guiafoca.org> pedindo para ser includo na lista de atualizaes do guia ou preencha o formulrio encontrado no nal da Home Page do guia. Twitter: Assine o Twitter do guia Foca: @focalinux RSS: Assine o RSS na pgina ocial do guia (citado acima) para receber atualizaes e novidades.

4.5

Colaboradores do Guia

Entre as principais colaboraes at a verso atual, posso citar as seguintes: Djalma Valois <djalma@cipsga.org.br> - Pela atual hospedagem do Foca GNU/Linux. Estou muito feliz vendo o Foca GNU/Linux fazendo parte de um projeto to positivo como o CIPSGA para o crescimento e desenvolvimento do software livre nacional. Bakurih <bakurih@yahoo.com> - Reviso inicial do guia, aps suas primeiras verses. Eduardo Marcel Maan <macan@debian.org> - Pela antiga hospedagem, na poca do site metainfo. Michelle Ribeiro <michelle@cipsga.org.br> - Por dispensar parte de seu atencioso tempo enviando revises e sugestes que esto melhorando bastante a qualidade do guia. Entre eles detalhes que passaram despercebidos durante muito tempo no guia e pgina principal. E tambm por cuidar do fonte do guia ;-)

Captulo 4. Apndice

90

Augusto Campos <brain@matrix.com.br> - Descrio sobre a distribuio Suse . Paulo Henrique Baptista de Oliveira <baptista@linuxsolutions. com.br> - Pelo apoio moral oferecido durante os freqentes lanamentos do guia, acompanhamento e divulgao. Diego Abadan <diego@hipernet.ufsc.br> - Envio de correes signicativas, novos endereos de listas de discusso. Alexandre Costa <alebyte@bol.com.br> - Envio de centenas de patches ortogrcos nas verses Iniciante e Intermedirio do guia que passaram desapercebidas durante vrias verses do guia. . . Christoph Simon <ciccio@prestonet.com.br> - Pela pesquisa e a gigantesca coletnea de textos sobre o Linux enviada. Eles esto sendo muito teis tanto para mim quanto no desenvolvimento do guia. Gustavo Noronha <dockov@zaz.com.br> - Vem enviando freqentes correes, contribuies construtivas ao desenvolvimento alm de apoio ao desenvolvimento do guia . Vale a pena destaca-lo por sua atual dedicao junto a distribuio Debian/GNU, sua traduo e a comunidade Open Source. Pedro Zorzenon Neto <pzn@debian.org> - Envio de diversas atualizaes para o nvel Avanado, principalmente sobre o rewall iptables.

4.6

Marcas Registradas

Todas as marcas registradas citadas neste guia so propriedades de seus respectivos autores.

4.7

Futuras verses

Estes so os materiais que pretendo adicionar em futuras verses do guia:

Acrescentar mais detalhes sobre o sistema grco X-Window. Entre outros tens que venho estudando para vericar se encaixam no perl do guia.

Esta uma futura implementao que venho estudando para acompanhar o crescimento do guia. Sugestes so bem vindas e podem ser enviadas para <gleydson@guiafoca.org>.

Captulo 4. Apndice

91

4.8

Chave Pblica PGP

Chaves PGP so usadas para criptografar arquivos, e-mails ou qualquer outra coisa que desejamos que somente uma pessoa tenha acesso. O PGP segue o padro de chave pblica/privada; a chave pblica distribuda a todos e a chave privada permanece na posse do criador para que ele seja o nico a ter acesso aos dados criptografados aps digitar a frase de acesso correta. Minha chave PGP segue abaixo, ela tambm pode ser encontrada em http://pgp.ai.mit. edu. Se voc deseja saber mais sobre o PGP, recomendo um excelente documento encontrado na seo Apostilas em http://www.cipsga.org.br/ -----BEGIN PGP PUBLIC KEY BLOCK----Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org mQGiBDl7WYgRBACsQNtIozvf8XId+xEpF2D1x7nqgFdJyn1QA2VzXg0/OZ9DewXj qr7ChEIoyyzAmxBSubE/jdtkAb9+2LsE9+OXgzJvBc4luYpv+HG2IXlMPujI9drO ubLlK6xqPiakBgqBTS74rp/ZEEAGQsr0sug7b8nsXHMk+spyGkjsU8pPWwCgltai 4vfmBDMZMqBYvUoksVxbaKcD/ApAMghgE53KAAKFtwXI0o7K1DJmdZBufCvGDbEB Y3MVS4BI+aXxoP5zQpEmQ5+lYOZ8RjPL9pNUJa9nOQtjf7Kiw/41BPDtlZXCeRR5 OcQTit0lYRCLGam7FZ22uliwh0h/3lpf4olMff3qeLqv1DECbo8Qsdn6yxynLihE OA9kA/9K1sqiIl/+gXM3/Sjz8EcrwQNklV3MoaETbDmukbXcOEUjdqfFr1xARM5W 8SKoVrWO5y1oa1e9XcQuK6g8c7KeJsK/GEWYiRwX2X2AqdBC2ZzVfJSmgpguZJHn ltMdYZhPwZaCsNPdQSlem3UrGupL0pbpT7PqkvyAHBH2itB9X7RKR2xleWRzb24g TWF6aW9saSBkYSBTaWx2YSAoQ2hhdmUgUEdQIFBlc3NvYWwpIDxnbGV5ZHNvbkBl c2NlbHNhbmV0LmNvbS5icj6IVgQTEQIAFgUCOXtZiAQLCgQDAxUDAgMWAgECF4AA CgkQpWvD35hbooFdwgCfQijPTW5VH+Cep1HIBvyuw9uMg7wAoI/RYW0tkjjnhrgH 8+Zqx6AgGlQ/iEYEEBECAAYFAjnlrPAACgkQoUSye+uc2tWZPgCfVgR4lbd8XPBm bjPupLzB3EYAPI8AoJomkfsgz+NuUZy1mD6pI1Ptc/fDiEYEEBECAAYFAjm4FfUA CgkQco65AkzGCoF34gCgsVcH4b3s6kfCtjD7iMMhkubnDnUAoL2UiorB3Z/m3f9A RZiRMhQUclMRiEYEEBECAAYFAjm4ITAACgkQt1anjIgqbEupXgCg1/NjvT562Hgt /ft5JETOf3yOFywAn1SmK3unyhMU5GU9d49MNM3fNgBtiEYEEBECAAYFAjnFWrYA CgkQORwuc54x+1t8VQCeMZTCla98rrI60EnlkAvb9AaScm4AnA4V795vcVlr3ix9 f6fcl5YGamKciEYEEBECAAYFAjvSF6sACgkQUZATEoypqPVQ7wCbBTRiSGGMzMTd KJotfRKf5aoUAr0AoIAX0oE5XEEFm7Ea0IQqG91T9TvXtDtHbGV5ZHNvbiBNYXpp b2xpIGRhIFNpbHZhIChEZXZlbG9wZXIpIDxnbGV5ZHNvbkBkZWJpYW4ub3JnPohX BBMRAgAXBQI7BR7fBQsHCgMEAxUDAgMWAgECF4AACgkQpWvD35hbooESRACcCliY yxR02KEBYs8cxKav9L0wlzwAn2Z9DWAbqi9Mv4fqPqZ7mViSMRbeiEYEEBECAAYF AjsauX0ACgkQt1anjIgqbEvBEACffJxYfK22YPQ8ZkcjIc85BCiPLuUAnRq1EE9i ukdUHPUo0vzHBeiN355miEYEEBECAAYFAjxEY28ACgkQGERS+iaKCE2fgwCeNGNV Mpa1EWgXF+Hj15gidVjaVCAAn187X6eATJAVzspveNSf/Ny1iuFnuQENBDl7WasQ BACxhBiSFOGa8tv7MOn0XVa6WCViBuQs9QJx2ZnMrx/KssRHMsNXnps+i+zVENqr 1Lz5zPpP7eWgrUy6B7/V9R4LV8nwHC1lZrR/1xyJ6G5j9RLSbYInZCLIAFUMlAar iTThMhvXM+Pf7SXPj+ivrP9EYPSLxqTs1K/dWAbrDK/QiwADBQP9Hgc3EOw+7luB /bXWssQp70bF9yvZLCGOgIE/rZIbOXumXkPlV7FTDgv+h47Bgcj2KDPEM98LUyxG

Captulo 4. Apndice

92

GcJAmrC9gWH7mYEUFNn1bGD+qHRwJ7+xj45NXBJDOBbHzTDS8QhacCRGW1CvRVgP 8ycPDOv/hmGfAJEzqzUkSO1uBcPmmXSIRgQYEQIABgUCOXtZqwAKCRCla8PfmFui gQHnAJ4kDKHKvG9s9OjGV6RvszTDGE51igCcCZn0rO/Si0ek97bTCIusQzJF/pA= =bvnT -----END PGP PUBLIC KEY BLOCK-----

Você também pode gostar