guia foca linux 3 - avançado

Download Guia Foca Linux 3 - Avançado

If you can't read please download the document

Upload: marceloduarte

Post on 29-Sep-2015

87 views

Category:

Documents


28 download

DESCRIPTION

O Foca GNU/Linux é um guia que traz desde explicações básicas sobre computadores e o sistema GNU/Linux até a administração e segurança do sistema. Os assuntos do guia são explicados em linguagem clara e organizados de forma linear e didática, evitando termos técnicos nos níveis iniciais, até que o usuário se habitue com sua utilização de forma gradual.Isto faz o guia indispensável para o usuário GNU/Linux iniciante ou os mais curiosos. Todas as seções do guia Foca GNU/Linux tem exemplos para melhor compreensão do assunto explicado e links dinâmicos que te levam facilmente a assuntos relacionados (na versão online, HTML, e-book e PDF). Veja também os níveis (Iniciante, Intermediário e Avançado).

TRANSCRIPT

Guia Foca GNU/Linux ------------------- Gleydson Mazioli da Silva Verso 6.43 - domingo, 05 de setembro de 2010-------------------------------------------------------------------------------Resumo------ Este documento tem por objetivo ser uma referncia ao aprendizado do usurio e um guia de consulta, operao e configurao de sistemas Linux (e outros tipos de *ix). A ltima verso deste guia pode ser encontrada na Pgina Oficial 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----------------- Copyright (C) 1999-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.2 published by the Free Software Foundation; A copy of the license is included in the section entitled "GNU Free Documentation License".-------------------------------------------------------------------------------Contedo-------- 1. Introduo 1.1. Consideraes sobre o nvel Avanado 1.2. Pr-requisitos para a utilizao deste guia 1.3. O Linux 1.3.1. Algumas Caractersticas do Linux 2. Explicaes Bsicas 2.1. Monitorando os logs 2.1.1. Destruindo arquivos/parties de forma segura 2.2. Curingas 3. Hardware 3.1. Placa de expanso 3.2. Nomes de dispositivos 3.3. Configurao de Hardware 3.3.1. IRQ - Requisio de Interrupo 3.3.1.1. Prioridade das Interrupes 3.3.2. DMA - Acesso Direto a Memria 3.3.2.1. Conflitos de DMA 3.3.3. I/O - Porta de Entrada/Sada 3.4. Hardwares configurveis por jumpers, dip-switches, jumperless e Plug-and-Play. 3.4.1. Jumpers 3.4.2. Dip-Switches 3.4.3. Jumperless (sem jumper) 3.4.4. Plug-and-Play 3.5. Listando as placas e outros hardwares em um computador 3.6. Conflitos de hardware 3.7. Barramento 3.8. Placas on-board / off-board 3.9. Hardwares especficos ou "For Windows" 3.10. Dispositivos especficos para GNU/Linux 3.11. Configuraes de Dispositivos 3.11.1. Configurando uma placa de rede 3.11.2. Configurando uma placa de SOM no Linux 3.11.2.1. Configurando uma placa de som usando o padro OSS 3.11.3. Configurando um gravador de CD/DVD no Linux 3.11.3.1. Configurando o suporte a um gravador IDE 3.11.3.2. Configurando o suporte a um gravador SCSI 3.11.3.3. Testando o funcionamento 3.11.4. Configurando o gerenciamento de energia usando o APM 3.11.5. Configurando o gerenciamento de energia usando ACPI 3.11.6. Ativando WakeUP on Lan 3.12. Aterramento 3.12.1. Condutores de eletricidade 3.13. Tomadas 3.14. Descargas estticas 3.15. Melhoria de performance 3.15.1. Particionamento 3.15.2. Spindles 3.15.3. Fazendo ajustes finos de performance do disco 3.15.4. Data de acesso a arquivos/diretrios 3.16. Perifricos SATA 3.17. Perifricos SCSI 3.17.1. Configurando uma SCSI ID e terminao 4. Rede 4.1. O que uma rede 4.2. Protocolo de Rede 4.3. Endereo IP 4.3.1. Classes de Rede IP 4.3.2. Referncia rpida de mscara de redes 4.3.3. Para instalar uma mquina usando o Linux em uma rede existente 4.3.4. Endereos reservados para uso em uma rede Privada 4.4. Interface de rede 4.4.1. A interface loopback 4.4.2. Atribuindo um endereo de rede a uma interface (ifconfig) 4.5. Roteamento 4.5.1. Configurando uma rota no Linux 4.6. Resolvedor de nomes (DNS) 4.6.1. O que um nome? 4.6.2. Arquivos de configurao usados na resoluo de nomes 4.6.2.1. /etc/resolv.conf 4.6.2.2. /etc/host.conf 4.6.2.3. /etc/hosts 4.6.2.4. /etc/networks 4.6.3. Executando um servidor de nomes 4.7. Servios de Rede 4.7.1. Servios iniciados como Daemons de rede 4.7.2. Servios iniciados atravs do inetd 4.7.2.1. /etc/inetd.conf 4.8. Segurana da Rede e controle de Acesso 4.8.1. /etc/ftpusers 4.8.2. /etc/securetty 4.8.3. O mecanismo de controle de acessos tcpd 4.8.3.1. /etc/hosts.allow 4.8.3.2. /etc/hosts.deny 4.8.3.3. /etc/hosts.equiv e /etc/shosts.equiv 4.8.3.4. Verificando a segurana do TCPD e a sintaxe dos arquivos 4.8.4. Firewall 4.9. Outros arquivos de configurao relacionados com a rede 4.9.1. /etc/services 4.9.2. /etc/protocols 4.10. Camadas de Rede 4.11. RFCs de referncia sobre protocolos de rede 5. Configuraes especiais de Rede 5.1. IP Alias 5.2. Bridge 5.2.1. Requerimentos para a Instalao 5.2.2. Configurao da bridge 5.2.3. Configuraes mais avanadas de bridge 5.2.4. Configurao manual da bridge 5.2.5. Usando o iptables para construir um firewall na mquina da bridge 5.2.6. Filtrando pacotes no IP na bridge 5.3. Conectando dois computadores usando a porta paralela 5.3.1. Construindo um cabo LapLink Paralelo 5.4. Conectando dois computadores usando a porta serial 5.4.1. Construindo um cabo LapLink Serial 6. Arquivos e daemons de Log 6.1. Formato do arquivo de log 6.2. Daemons de log do sistema 6.2.1. syslogd 6.2.1.1. Arquivo de configurao `syslog.conf' 6.2.2. klogd 6.3. logger 6.4. Programas teis para monitorao e gerenciamento de arquivos de logs 6.4.1. logcheck 6.4.2. logrotate 6.5. Configurando um servidor de logs 7. A distribuio Debian GNU/Linux 7.1. Como obter a Debian 7.2. Programas de configurao 7.3. Arquivos de inicializao 7.4. Nveis de Execuo 7.4.1. Entendendo o funcionamento dos nveis de execuo do sistema (runlevels) 7.5. Rede no sistema Debian 7.6. Bug tracking system 7.7. Onde encontrar a Debian para Download? 8. Personalizao do Sistema 8.1. Variveis de Ambientes 8.2. Modificando o Idioma usado em seu sistema 8.3. alias 8.4. Arquivo `/etc/profile' 8.5. Arquivo `.bash_profile' 8.6. Arquivo `.bashrc' 8.7. Arquivo `.hushlogin' 8.8. Arquivo `/etc/environment' 8.9. Diretrio `/etc/skel' 9. Impresso 9.1. Portas de impressora 9.2. Imprimindo diretamente para a porta de impressora 9.3. Imprimindo via spool 9.4. Impresso em modo grfico 9.4.1. Ghost Script 9.5. Magic Filter 9.5.1. Instalao e configurao do Magic Filter 9.5.2. Outros detalhes tcnicos sobre o Magic Filter 9.6. Impresso remota 9.6.1. Dando permisso para impreso remota via lpd/lprng 9.6.2. Impresso via rlpr 9.6.3. Impresso via printcap 10. Firewall iptables 10.1. Introduo 10.1.1. Verso 10.1.2. Um resumo da histria do iptables 10.1.3. Caractersticas do firewall iptables 10.1.4. Ficha tcnica 10.1.5. Requerimentos 10.1.6. Arquivos de logs criados pelo iptables 10.1.7. Instalao 10.1.8. Enviando Correes/Contribuindo com o projeto 10.1.9. O que aconteceu com o `ipchains' e `ipfwadm'? 10.1.10. Tipos de firewalls 10.1.11. O que proteger? 10.1.12. O que so regras? 10.1.13. O que so chains? 10.1.14. O que so tabelas? 10.1.15. Habilitando o suporte ao iptables no kernel 10.1.16. Ligando sua rede interna a Internet 10.2. Manipulando chains 10.2.1. Adicionando regras - A 10.2.2. Listando regras - L 10.2.3. Apagando uma regra - D 10.2.4. Inserindo uma regra - I 10.2.5. Substituindo uma regra - R 10.2.6. Criando um novo chain - N 10.2.7. Renomeando um chain criado pelo usurio - E 10.2.8. Listando os nomes de todas as tabelas atuais 10.2.9. Limpando as regras de um chain - F 10.2.10. Apagando um chain criado pelo usurio - X 10.2.11. Zerando contador de bytes dos chains - Z 10.2.12. Especificando a poltica padro de um chain - P 10.3. Outras opes do iptables 10.3.1. Especificando um endereo de origem/destino 10.3.2. Especificando a interface de origem/destino 10.3.3. Especificando um protocolo 10.3.3.1. Especificando portas de origem/destino 10.3.3.2. Especificando mensagens do protocolo ICMP 10.3.3.3. Especificando pacotes syn 10.3.4. Especificando fragmentos 10.3.5. Especificando uma exceo 10.3.6. Especificando um alvo 10.3.6.1. Alvo REJECT 10.3.6.2. Especificando LOG como alvo 10.3.6.3. Especificando RETURN como alvo 10.3.7. Salvando e Restaurando regras 10.4. A tabela nat (Network Address Translation) - fazendo nat 10.4.1. Criando um novo chain na tabela NAT 10.4.2. Fazendo IP masquerading (para os apressados) 10.4.3. Fazendo SNAT 10.4.3.1. Fazendo IP Masquerading 10.4.4. Fazendo DNAT 10.4.4.1. Redirecionamento de portas 10.4.5. Monitorando conexes feitas na tabela nat 10.5. A tabela mangle 10.5.1. Especificando o tipo de servio 10.5.1.1. Especificando o TOS para trfego de sada 10.5.1.2. Especificando o TOS para o trfego de entrada 10.6. Outros mdulos do iptables 10.6.1. Conferindo de acordo com o estado da conexo 10.6.2. Limitando o nmero de vezes que a regra confere 10.6.3. Proteo contra ping da morte 10.6.4. Proteo contra syn flood 10.6.5. Proteo contra IP spoofing 10.6.6. Especificando mltiplas portas de origem/destino 10.6.7. Especificando o endereo MAC da interface 10.6.8. Conferindo com quem criou o pacote 10.6.9. Conferindo com o contedo do pacote 10.6.10. Conferindo com o tempo de vida do pacote 10.6.11. Conferindo com nmeros RPC 10.6.12. Conferindo com tipo de pacote 10.6.13. Conferindo com o tamanho do pacote 10.7. Caminho percorrido pelos pacotes nas tabelas e chains 10.7.1. Ping de 192.168.1.1 para 192.168.1.1 10.7.2. Conexo FTP de 192.168.1.1 para 192.168.1.1 10.7.3. Conexo FTP de 192.168.1.1 para 192.168.1.4 10.7.4. Conexo FTP de 200.217.29.67 para a mquina ftp.debian.org.br 10.7.5. Ping de 192.168.1.4 para 192.168.1.1 10.7.6. Conexo FTP de 192.168.1.4 para 192.168.1.1 10.7.7. Conexo FTP de 192.168.1.4 para ftp.debian.org.br 10.7.8. Conexo FTP de 200.198.129.162 para 200.217.29.167 10.7.9. Grfico geral da passagem dos pacotes 10.8. Exemplos de configuraes do iptables 10.8.1. Bloqueando conexes de fora para sua mquina 10.8.2. Monitorando tentativa de conexo de trojans em sua mquina 10.8.3. Conectando sua rede interna a Internet 10.8.4. Um exemplo de firewall simples 11. Gerenciamento de contas e cuidados para a proteo de senhas 11.1. Introduo 11.2. Criao, monitoramento e segurana de contas 11.2.1. Definindo valores padres de restrio 11.2.2. Senhas fceis de adivinhar e escolha de boas senhas 11.2.3. Atualizao de senhas de mltiplas contas 11.2.4. A senha do usurio root 11.3. Tipos de ataques mais comuns para se conseguir uma senha. 11.3.1. Deduo 11.3.2. Engenharia Social 11.3.3. Ataques por dicionrio 11.3.4. Brute Force 11.3.5. Monitoramento de toques do teclado 11.3.6. Login falso 11.4. Melhorando a segurana das senhas armazenadas em seu sistema 11.4.1. Shadow Passwords 11.4.2. Senhas MD5 12. Apache 12.1. Introduo 12.1.1. Verso 12.1.2. Um resumo da Histria do Apache 12.1.3. Enviando Correes/Contribuindo com o projeto 12.1.4. Caractersticas do Apache 12.1.5. Ficha tcnica 12.1.6. Requerimentos 12.1.7. Arquivos de log criados pelo Apache 12.1.8. Instalao 12.1.9. Iniciando o servidor/reiniciando/recarregando a configurao 12.1.10. Opes de linha de comando 12.2. Configurando a porta padro do Apache 12.3. Adicionando uma pgina no Apache 12.4. Configurando as interfaces que o Apache atender 12.5. Especificando endereos/portas adicionais (a diretiva _Listen_) 12.6. Especificando opes/permisses para as pginas 12.7. Restries de Acesso 12.7.1. Autorizao 12.7.2. Autenticao 12.7.2.1. Criando um arquivo de Senhas 12.7.2.2. Autenticao atravs de usurios 12.7.2.3. Autenticao usando grupos 12.7.3. Usando autorizao e autenticao juntos 12.7.3.1. Acesso diferenciado em uma mesma diretiva 12.7.4. O arquivo `.htaccess' 12.7.5. Usando a diretiva SetEnvIf com Allow e Deny 12.7.6. A diretiva 12.7.7. Diretiva 12.8. Definindo documentos de erro personalizados 12.9. Mdulos DSO 12.10. Sistema de Log do Apache 12.10.1. AgentLog 12.10.2. ErrorLog 12.10.3. CustomLog 12.10.4. RefererLog 12.10.5. RewriteLog 12.10.6. RewriteLogLevel 12.10.7. ScriptLog 12.10.8. ScriptLogBuffer 12.10.9. ScriptLogLength 12.10.10. LogFormat 12.10.11. TransferLog 12.10.12. LogLevel 12.10.13. Anonymous_LogEmail 12.10.14. CookieLog 12.10.15. Relatrio grfico de acesso ao sistema 12.11. Configurando o Apache como servidor proxy 12.11.1. Controlando o acesso ao servidor proxy 12.11.2. Redirecionamento de conexes no Apache 12.12. Virtual Hosts 12.12.1. Virtual hosts baseados em IP 12.12.2. Virtual hosts baseados em nome 12.12.3. Segurana no uso de IP's em Virtual Hosts 12.13. Uso de criptografia SSL 12.13.1. Servidor apache com suporte a ssl 12.13.2. Instalando o suporte a mdulo SSL no Apache 12.13.3. Gerando um certificado digital 12.13.4. Exemplo de configurao do mdulo mod-ssl 12.13.5. Autorizando acesso somente a conexes SSL 12.13.6. Iniciando o servidor Web com suporte a SSL 12.14. Exemplo comentado de um arquivo de configurao do Apache 12.14.1. httpd.conf 12.14.2. srm.conf 12.14.3. access.conf 12.15. Cdigos HTTP 13. Servidor ident 13.1. Introduo 13.1.1. Verso 13.1.2. Contribuindo 13.1.3. Caractersticas 13.1.4. Ficha tcnica 13.1.5. Requerimentos de Hardware 13.1.6. Arquivos de log criados pelo Ident 13.1.7. Instalao 13.1.8. Instalao via Inetd 13.1.9. Usando tcpwrappers com oidentd 13.1.10. Iniciando o servidor/reiniciando/recarregando a configurao 13.1.11. Opes de linha de comando 13.1.12. Exemplos 14. Servidor telnet 14.1. Introduo 14.1.1. Verso 14.1.2. Caractersticas 14.1.3. Ficha tcnica 14.1.4. Requerimentos de Hardware 14.1.5. Arquivos de log criados pelo servidor telnet 14.1.6. Instalao 14.1.7. Iniciando o servidor/reiniciando/recarregando a configurao 14.1.8. Opes de linha de comando 14.2. Controle de acesso 14.3. Recomendaes 14.4. Fazendo conexes ao servidor telnet 15. Servidor ssh 15.1. Introduo 15.1.1. Verso 15.1.2. Histria 15.1.3. Contribuindo 15.1.4. Caractersticas 15.1.5. Ficha tcnica 15.1.6. Requerimentos de Hardware 15.1.7. Arquivos de log criados pelo servidor ssh 15.1.8. Instalao do servidor openSSH 15.1.9. Iniciando o servidor/reiniciando/recarregando a configurao 15.1.10. Opes de linha de comando 15.2. Usando aplicativos clientes 15.2.1. ssh 15.2.1.1. Redirecionamento de conexes do X 15.2.1.2. Cliente ssh para Windows 15.2.2. scp 15.2.2.1. Cliente scp para Windows 15.2.3. sftp 15.3. Servidor ssh 15.3.1. sshd 15.3.2. Controle de acesso 15.3.3. Usando autenticao RSA/DSA - chave pblica/privada 15.3.4. Execuo de comandos especficos usando chaves 15.3.5. Criando um gateway ssh 15.3.6. Criando um tunel proxy 15.3.7. Diferenas nas verses do protocolo 15.3.8. Exemplo de `sshd_config' com explicaes das diretivas 16. Servidor pop3 16.1. Introduo 16.1.1. Verso 16.1.2. Contribuindo 16.1.3. Caractersticas 16.1.4. Ficha tcnica 16.1.5. Requerimentos de Hardware 16.1.6. Arquivos de log criados pelo qpopper 16.1.7. Instalao 16.1.8. Iniciando o servidor/reiniciando/recarregando a configurao 16.1.9. Teste de acesso no pop3 16.1.10. Opes de linha de comando 16.1.11. Enviando boletins de mensagens 16.1.12. Especificando quotas para as caixas de correio 16.1.13. Restringindo acesso ao servidor pop3 17. CVS 17.1. Introduo ao CVS 17.1.1. Verso 17.1.2. Histria 17.1.3. Contribuindo com o CVS 17.1.4. Caractersticas 17.1.5. Ficha tcnica 17.1.6. Requerimentos de Hardware 17.1.7. Arquivos de log criados pelo CVS 17.1.8. Instalao 17.1.9. Iniciando o servidor/reiniciando/recarregando a configurao 17.1.10. Opes de linha de comando 17.2. Servidor de CVS - configurando mtodos de acesso ao repositrio 17.2.1. local 17.2.1.1. Configurando o mtodo local 17.2.2. fork 17.2.2.1. Configurando o mtodo fork 17.2.3. ext 17.2.3.1. Configurando o mtodo ext 17.2.4. pserver (password server) 17.2.5. Configurando um servidor pserver 17.2.5.1. Ativando o servidor pserver 17.2.5.2. Servidor pserver usando autenticao do sistema 17.2.5.3. Servidor pserver com autenticao prpria 17.2.6. gssapi 17.3. Criando projetos para serem usados no CVS 17.3.1. Repositrio 17.3.2. Criando um repositrio 17.3.3. Logando no servidor de CVS via pserver 17.3.4. Encerrando uma seo de CVS 17.3.5. Baixando arquivos 17.3.6. Adicionando um novo projeto 17.3.7. Sincronizando a cpia remota com a cpia local 17.3.8. Enviando as mudanas para o servidor remoto 17.3.9. Adicionando um arquivo ao mdulo CVS do servidor 17.3.10. Adicionando um diretrio ao mdulo CVS do servidor 17.3.11. Removendo um arquivo do mdulo CVS remoto 17.3.12. Removendo um diretrio do mdulo CVS remoto 17.3.13. Dizendo que o mdulo atual no est mais em uso 17.3.14. Visualizando diferenas entre verses de um arquivo 17.3.15. Visualizando o status de verso de arquivos 17.3.16. Outros utilitrios para trabalho no repositrio 17.4. Arquivos administrativos em CVSROOT 17.4.1. `config' 17.4.2. `modules' 17.4.3. `cvswrappers' 17.4.4. `commitinfo' 17.4.5. `verifymsg' 17.4.6. `loginfo' 17.4.7. `cvsignore' 17.4.8. `checkoutlist' 17.4.9. `history' 17.5. Clientes de CVS 17.5.1. cvs 17.5.2. gcvs - Linux 17.5.3. WinCVS - Windows 17.5.4. MacCVS - Macintosh (PPC) 17.5.5. viewcvs 17.6. Exemplo de uma seo CVS 18. SAMBA 18.1. Introduo 18.1.1. Verso documentada 18.1.2. Histria 18.1.3. Contribuindo 18.1.4. Caractersticas 18.1.5. Ficha tcnica 18.1.6. Requerimentos de Hardware 18.1.7. Arquivos de log criados 18.1.8. Instalao 18.1.9. Iniciando o servidor/reiniciando/recarregando a configurao 18.1.10. Opes de linha de comando 18.2. Conceitos gerais para a configurao do SAMBA 18.2.1. Nome de mquina (nome NetBios) 18.2.2. Grupo de trabalho 18.2.3. Domnio 18.2.4. Compartilhamento 18.2.5. Mapeamento 18.2.6. Navegao na Rede e controle de domnio 18.2.7. Arquivo de configurao do samba 18.2.8. Seo `[global]' 18.2.8.1. Nomes e grupos de trabalho 18.2.8.2. Caracteres e pgina de cdigo 18.2.8.3. Restries de acesso/mapeamento de usurios 18.2.8.4. Nveis de autenticao 18.2.8.5. Log de acessos/servios 18.2.8.6. Navegao no servidor/tipo de servidor 18.2.8.7. Outros parmetros de configurao 18.2.9. Seo `[homes]' 18.2.10. Seo `[printers]' 18.2.11. Buscando problemas na configurao 18.2.12. Nveis de sistema para eleio de rede 18.2.13. Variveis de substituio 18.3. Compartilhamento de arquivos e diretrios 18.3.1. Descrio de parmetros usados em compartilhamento 18.4. Configurao em `Grupo de Trabalho' 18.5. Resoluo de nomes de mquinas no samba 18.5.1. Arquivo `/etc/samba/lmhosts' 18.5.1.1. Exemplo de `lmhosts' do UNIX 18.5.1.2. Exemplo de `lmhosts' do Windows 18.5.2. WINS 18.5.2.1. Configurando o servidor WINS 18.5.2.2. Configurando o Cliente WINS 18.6. Servidor de data/hora 18.6.1. Configurao do servio de data/hora no SAMBA 18.6.2. Sincronizando a data/hora no Cliente 18.7. Configurao em `Domnio' 18.7.1. Uma breve introduo a um Domnio de rede 18.7.2. Local Master Browser 18.7.3. Domain Master Browser 18.7.4. Configurando um servidor PDC no SAMBA 18.7.5. Contas de mquinas de domnio 18.7.5.1. Criando contas de mquinas manualmente 18.7.5.2. Criando contas de mquinas automaticamente 18.7.6. Criando uma conta de administrador de domnio 18.7.7. Criando Scripts de logon 18.7.8. Configurando perfis de usurios 18.7.9. Modificaes de permisses de acesso pelos clientes do domnio 18.8. Ativando o suporte a senhas criptografadas 18.8.1. Migrando de senhas texto plano para criptografadas 18.8.2. Adicionando usurios no `smbpasswd' 18.8.3. Removendo usurios do `smbpasswd' 18.8.4. Desabilitando uma conta no `smbpasswd' 18.8.5. Habilitando uma conta no `smbpasswd' 18.8.6. Alterando a senha de um usurio 18.8.7. Definindo acesso sem senha para o usurio 18.9. Ativando o suporte a senhas em texto plano 18.9.1. Configurando o acesso de clientes para uso de senhas em texto plano 18.9.1.1. Lan Manager 18.9.1.2. Windows for Workgroups 18.9.1.3. Windows 95 / Windows 95A 18.9.1.4. Windows 95B 18.9.1.5. Windows 98/98SE 18.9.1.6. Windows ME 18.9.1.7. Windows NT Server/WorkStation 18.9.1.8. Windows 2000 18.9.1.9. Linux 18.10. Mapeamento de usurios/grupos em clientes 18.10.1. Mapeamento de usurios/grupos domnio em Windows 18.10.2. Mapeamento de usurios/grupos domnio em Linux 18.11. Compartilhamento de impresso no servidor SAMBA 18.11.1. Configurando o Linux como um servidor de impresso Windows 18.12. Controle de acesso ao servidor SAMBA 18.12.1. Nvel de acesso de usurios conectados ao SAMBA 18.12.2. Restringindo o acesso por IP/rede 18.12.2.1. Testando a restrio de Acesso por IP/Redes 18.12.3. Restringindo o acesso por interface de rede 18.12.4. Restringindo o acesso por usurios 18.12.5. Evite o uso do parmetro _hosts equiv_! 18.12.6. Evite o uso de senhas em branco! 18.12.7. Criando um compartilhamento para acesso sem senha 18.12.8. Criando um compartilhamento com acesso somente leitura 18.12.9. Criando um compartilhamento com acesso leitura/gravao 18.12.10. Excesso de acesso na permisso padro de compartilhamento 18.12.11. Restringindo o IPC$ e ADMIN$ 18.12.12. Criando um compartilhamento invisvel 18.12.13. Executando comandos antes e aps o acesso ao compartilhamento 18.12.14. Consideraes de segurana com o uso do parmetro "public = yes" 18.12.15. Senhas criptografadas ou em texto puro? 18.12.16. Mapeamento de nomes de usurios 18.13. Melhorando a performance do compartilhamento/servidor 18.14. Configurao de Clientes NetBEUI 18.14.1. Consideraes sobre o Windows for Workgroups e LanManager 18.14.2. Configurando clientes em Grupo de Trabalho 18.14.2.1. Windows 9X 18.14.2.2. Windows XP Home Edition 18.14.2.3. Windows XP Professional Edition 18.14.2.4. Windows XP Server Edition 18.14.2.5. Windows NT WorkStation 18.14.2.6. Windows NT Server 18.14.2.7. Windows 2000 Professional 18.14.2.8. Windows 2000 Server 18.14.2.9. Linux 18.14.3. Configurando clientes em Domnio 18.14.3.1. Windows 9X 18.14.3.2. Windows XP Home Edition 18.14.3.3. Windows XP Professional Edition 18.14.3.4. Windows XP Server Edition 18.14.3.5. Windows NT WorkStation 18.14.3.6. Windows NT Server 18.14.3.7. Windows 2000 Professional 18.14.3.8. Windows 2000 Server 18.14.3.9. Linux 18.14.4. Erros conhecidos durante o logon do cliente 18.14.5. Programas de navegao grficos 18.14.5.1. linneighborhood 18.14.5.2. TkSmb 18.14.6. Cliente de configurao grficos 18.14.6.1. gnosamba 18.14.6.2. swat 18.15. Exemplos de configurao do servidor SAMBA 18.15.1. Grupo de Trabalho com acesso pblico 18.15.2. Grupo de Trabalho com acesso por usurio 18.15.3. Domnio 19. Restries de acesso, recursos e servios 19.1. Limitando recursos no `bash' 19.1.1. Uso do comando readonly para exportar variveis 19.1.2. Restries nos diretrios de usurios e root 19.1.3. Restries bsicas do shell bash com bash -r/--restricted, rbash 19.1.4. Finalizando consoles inativos 19.1.5. Desabilitando o registro de comandos digitados 19.1.6. Desabilitando servios de shell para usurios 19.2. Limitao de recursos usando PAM 19.2.1. Descobrindo se um determinado programa tem suporte a PAM 19.2.2. Definindo uma poltica padro restritiva 19.2.3. Restringindo/Bloqueando o login 19.2.4. Restringindo o acesso a root no su 19.2.5. Restries de servios PAM baseados em dia/hora 19.2.6. Permitindo acesso a grupos extras 19.2.7. Limitao de recursos do shell 19.3. Restries de acesso a programas/diretrios/arquivos usando grupos 19.4. Dando poderes de root para executar determinados programas 19.5. Restringindo o comando `su' 19.6. Restries baseadas em usurio/IP 19.7. Restries por MAC Address/IP 19.8. Desabilitando servios no usados no Inetd 19.9. Evitando o uso de `hosts.equiv' e `.rhosts' 19.10. Restringindo o uso do shutdown 19.11. Restringindo o acesso ao sistema de arquivos /proc 19.12. Limitando o uso de espao em disco (quotas) 19.12.1. Instalando o sistema de quotas 19.12.2. Editando quotas de usurios/grupos 19.12.3. Modificando a quota de todos os usurios de uma vez 19.12.4. Verificando a quota disponvel ao usurio 19.12.5. Verificando a quota de todos os usurios/grupos do sistema 19.12.6. Avisando usurios sobre o estouro de quota 19.13. Suporte a senhas ocultas 19.14. Suporte a senhas md5 19.15. Restries no hardware do sistema 19.15.1. BIOS do sistema 19.15.2. Retirada da unidade de disquetes 19.15.3. Placas de rede com eprom de boot 19.15.4. Protegendo o LILO 19.15.5. Disco rgido 20. Introduo ao uso de criptografia para transmisso/armazenamento de dados 20.1. Introduo 20.2. Sniffer 20.2.1. Detectando a presena de sniffers 20.3. Alternativas seguras a servios sem criptografia 20.3.1. http 20.3.2. Transmisso segura de e-mails 20.3.3. Servidor pop3 20.3.4. Transferncia de arquivos 20.3.5. login remoto 20.3.6. Bate papo via IRC 20.3.7. Transmisso de mensagens via ICQ 20.4. Sistemas de arquivos criptogrfico 20.5. Usando pgp (`gpg')para criptografia de arquivos 20.5.1. Instalando o PGP 20.5.2. Criando um par de chaves pblica/privada 20.5.3. Encriptando dados 20.5.4. Decriptando dados com o gpg 20.5.5. Assinando arquivos 20.5.6. Checando assinaturas 20.5.7. Extraindo sua chave pblica do chaveiro 20.5.8. Adicionando chaves pblicas ao seu chaveiro pessoal 20.5.9. Listando chaves de seu chaveiro 20.5.10. Apagando chaves de seu chaveiro 20.5.11. Mudando sua FraseSenha 20.5.12. Assinando uma chave digital 20.5.13. Listando assinaturas digitais 20.5.14. Recomendaes para a assinatura de chaves gpg 21. Apndice 21.1. Sobre este guia 21.2. Sobre o Autor 21.3. Referncias de auxlio ao desenvolvimento do guia 21.4. Onde encontrar a verso mais nova do guia? 21.5. Colaboradores do Guia 21.6. Marcas Registradas 21.7. Futuras verses 21.8. Chave Pblica PGP-------------------------------------------------------------------------------1. Introduo------------- Bem vindo ao guia _Foca GNU/Linux_. O nome _FOCA_ significa _FO_nte de _C_onsulta e _A_prendizado. Este guia dividido em 3 nveis de aprendizado e verso que esta lendo agora contm: * Avanado Entre o contedo do guia, voc encontrar: * Anlise de logs do sistema GNU/Linux e aplicao para a soluo de problemas (Captulo 6, `Arquivos e daemons de Log'). * Gerenciamento de contas de usurios, definio de perodo automtico para troca de senha peridica, polticas de segurana, etc (Captulo 11, `Gerenciamento de contas e cuidados para a proteo de senhas'). * Principais tipos de ataques para descoberta de senhas e alguns mtodos de como evita-las (Seo 11.2.2, `Senhas fceis de adivinhar e escolha de boas senhas'). * Integrar mquinas `Windows' e `Linux' em uma mesma rede compartilhando dados entre si e impresso (Captulo 18, `SAMBA'). * Sistemas de proteo de senhas do sistema (Seo 11.4, `Melhorando a segurana das senhas armazenadas em seu sistema'). * Criptografia e segurana na transmisso de dados, usando exemplos prticos do uso de sniffers para entender o porque da uso de criptografia para transmisso segura de dados (Captulo 20, `Introduo ao uso de criptografia para transmisso/armazenamento de dados'). * Uso de servios alternativos criptogrficos (Seo 20.3, `Alternativas seguras a servios sem criptografia'). * Criptografia usando `gnupgp' (Seo 20.5, `Usando pgp (`gpg')para criptografia de arquivos'). * Uso de sistema de arquivos criptogrficos para armazenamento de dados (Seo 20.4, `Sistemas de arquivos criptogrfico'). * Otimizao de performance na transferncia de dados do disco rgido atravs de particionamento e `hdparm', uso de spindles para criao de swap (Seo 3.15, `Melhoria de performance'). * O que so descargas estticas e a importncia do aterramento da instalao eltrica do computador (dirigido a usurios domsticos e de pequenas instalaes) (Seo 3.14, `Descargas estticas'). * Maiores consideraes a segurana de sistema e a problemas de segurana relativos a falhas de configurao (distribuda entre os captulos de daemons e servidores). * Montagem de um servidor de publicao Web usando o `Apache' (Captulo 12, `Apache'). * Montagem de um firewall avanado para proteo do sistema (filtragem de pacotes) usando o `iptables', redirecionamento de pacotes, nat, bloqueio de trfego P2P, masquerading, balanceamento de carga, marcao de pacotes, log, proteo contra port scans (Captulo 10, `Firewall iptables'). * Servidor de acesso para permitir o acesso a distncia ao seu computador usando o `telnetd' (Captulo 14, `Servidor telnet'). * Servidor de acesso para permitir o acesso a distncia a seu computador com criptografia usando o `ssh' (Captulo 15, `Servidor ssh'). * Servidor de identificao usando o `oidentd' (Captulo 13, `Servidor ident'). * Montagem de um servidor pop3 para que suas estaes de rede possam acessar o email na mquina servidor `Linux' usando programas como `Outlook', `Communicator', `Mutt', `sylpheed' e outros que utilizem o protocolo `pop3' (Captulo 16, `Servidor pop3'). * Restries de acesso a instalao do computador, acesso a grupos do sistema, restries de login usando _PAM_ (Captulo 19, `Restries de acesso, recursos e servios'). * Restries de espao usado em disco por usurios/grupos usando o sistema de quotas (Seo 19.12, `Limitando o uso de espao em disco (quotas)'). * Uso de grupos dos sistema para restries de acesso (Seo 19.3, `Restries de acesso a programas/diretrios/arquivos usando grupos'). * Restries de acesso via hardware: BIOS, disquete, placa com boot via rede, LILO, disco rgido (Seo 19.15, `Restries no hardware do sistema'). * Manipulaes de variveis no bash (, , , , , , etc). * Montagem de shell bsico restrito (Seo 19.1.3, `Restries bsicas do shell bash com bash -r/--restricted, rbash'). * Uso do `sudo' para dar privilgio de execuo de programas como root a determinados usurios (Seo 19.4, `Dando poderes de root para executar determinados programas'). 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 Oficial 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 . O _Foca GNU/Linux_ atualizado freqentemente, por este motivo recomendo que preencha a ficha do aviso de atualizaes na pgina web em Pgina Oficial do guia Foca GNU/Linux (http://www.guiafoca.org) no fim da pgina principal. Aps preencher a ficha do aviso de atualizaes, voc receber um e-mail sobre o lanamento de novas verses do guia e o que foi modificado, desta forma voc poder decidir em copia-la caso a nova verso contenha modificaes que considera importantes. Tenho recebido 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 certificao que aborda comandos, servios, configuraes, segurana, empacotamento, criptografia, etc.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 configurao de servios, servidores, aplicativos, nem garantia que ele atender a determinada finalidade especfica 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 configurao 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 fim 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 configurao 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. Enfim, 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 especficas 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 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 grfico 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 dificuldade 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), corrigir algum problema ou fazer 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 eficiente 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 conflito 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_. * 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 finalizado * 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 modificar a configurao 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 grfico 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 classificado como vrus por pessoas mal informadas e so resolvidas com sistemas bem mantidos. Em geral, usando uma boa distribuio que tenha um eficiente sistema de atualizao e bem configurado, voc ter 99.9% de sua tranquilidade. * Rede TCP/IP mais rpida que no Windows e tem sua pilha constantemente melhorada. 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, Firewire, 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. Tanto com criptografia WEB e WPA PSK * Vrios tipos de firewalls 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' (`Ext2', `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). TODOS OS TENS DESCRITOS ACIMA SO VERDADEIROS E TESTADOS PARA QUE TIVESSE PLENA CERTEZA DE SEU FUNCIONAMENTO.-------------------------------------------------------------------------------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, firewall, 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). Leia Captulo 6, `Arquivos e daemons de Log' para mais detalhes.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 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 dificultar 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 criptografia como o _DM-CRYPTO_, _crypto-loop_, _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 especificar um ou mais arquivos ou diretrios do sistema de uma s vez. Este um recurso permite que voc faa a filtragem 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. * `[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 X`a-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 especificar 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 filtragem mais exata, pois o coringa _?_ especifica qualquer caracter naquela posio e [] especifica 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 especificar mais de um arquivo de uma s vez. O uso 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.-------------------------------------------------------------------------------3. Hardware----------- Hardware tudo que diz respeito a parte fsica do computador. Nesta seo sero abordados assuntos relacionados com a configurao de hardwares, escolha de bons hardwares, dispositivos for Windows, etc.3.1. Placa de expanso---------------------- um circuito eletrnico encaixado na placa me que tem por objetivo adicionar novas funcionalidades ao computador. Esta placa pode ser uma: * `placa de som' - para fazer o computador emitir sons, msicas, ligar um joystick, etc. * `Placa de vdeo 3D' - Para obter imagens mais rpidas para jogos e ambientes de desktop 3 dimenses * `Placa de captura' - Para assistir televiso/rdio e gravar a programao de TV em seu micro. * `fax-modem' - para enviar/receber fax, conectar-se a internet, acesso remoto, bina, etc. * `rede' - para permitir a comunicao com outros computadores em uma rede interna * `controladora de perifricos' - Para ligar discos rgidos, unidades de disquete, impressora, mouse, joystick, etc. * `SCSI' - Para ligar unidades de disco rgidos e perifricos de alto desempenho. * `Controladora de Scanner' - Para ligar um Scanner externo ao micro computador. O encaixe da placa me que recebe as placas de expanso so chamados de _Slots_.3.2. Nomes de dispositivos-------------------------- Seria terrvel se ao configurar CADA programa que utilize o mouse ou o modem precisssemos nos se referir a ele pela IRQ, I/O, etc... para evitar isso so usados os _nomes de dispositivos_. Os _nomes de dispositivos_ no sistema `GNU/Linux' so acessados atravs do diretrio `/dev'. Aps configurar corretamente o modem, com sua porta I/O 0x2F8 e IRQ 3, ele identificado automaticamente por `/dev/ttyS1' (equivalente a `COM2' no `DOS'). Daqui para frente basta se referir a `/dev/ttyS1' para fazer alguma coisa com o modem. Voc tambm pode fazer um link de `/dev/ttyS1' para um arquivo chamado `/dev/modem' usando: `ln -s /dev/ttyS1 /dev/modem', faa a configurao dos seus programas usando `/dev/modem' ao invs de `/dev/ttyS1' e se precisar reconfigurar o seu modem e a porta serial mudar para `/dev/ttyS3', ser necessrio somente apagar o link `/dev/modem' antigo e criar um novo apontando para a porta serial `/dev/ttyS3'. No ser necessrio reconfigurar os programas que usam o modem pois eles esto usando `/dev/modem' que est apontando para a localizao correta. Isto muito til para um bom gerenciamento do sistema. Abaixo uma tabela com o nome do dispositivo no `GNU/Linux', portas I/O, IRQ, DMA e nome do dispositivo no `DOS' (os nomes de dispositivos esto localizados no diretrio `/dev'): Dispos. Dispos. Linux DOS IRQ DMA I/O ttyS0 COM1 4 - 0x3F8 ttyS1 COM2 3 - 0x2F8 ttyS2 COM3 4 - 0x3E8 ttyS3 COM4 3 - 0x2E8 lp0 LPT1 7 3(ECP) 0x378 lp1 LPT2 5 3(ECP) 0x278 /dev/hda1 C: 14 - 0x1F0,0x3F6 /dev/hda2 D: * 14 - 0x1F0,0x3F6 /dev/hdb1 D: * 15 - 0x170,0x376 * A designao de letras de unidade do `DOS' no segue o padro do `GNU/Linux' e depende da existncia de outras unidades fsicas/lgicas no computador.3.3. Configurao de Hardware----------------------------- A configurao consiste em ajustar as opes de funcionamento dos dispositivos (perifricos) para comunicao com a placa me bem como a configurao do software correspondente para fazer acesso ao hardware. Um sistema bem configurado consiste em cada dispositivo funcionando com suas portas I/O, IRQ, DMA bem definidas, no existindo conflitos com outros dispositivos. Isto tambm permitir a adio de novos dispositivos ao sistema sem problemas. Dispositivos PCI, PCI Express, AMR, CNR possuem configurao automtica de recursos de hardware, podendo apenas ser ligados na mquina para serem reconhecidos pela placa me. Aps isso dever ser feita a configurao do mdulo do kernel para que o hardware funcione corretamente. Os parmetros dos mdulos do kernel usados para configurar dispositivos de hardware so a _IRQ_, _DMA_ e _I/O_. Para dispositivos plug and play, como hardwares PCI, basta carregar o mdulo para ter o hardware funcionando.3.3.1. IRQ - Requisio de Interrupo-------------------------------------- Existem dois tipos bsicos de interrupes: as usadas por dispositivos (para a comunicao com a placa me) e programas (para obter a ateno do processador). As _interrupes de software_ so mais usadas por programas, incluindo o sistema operacional e _interrupes de hardware_ mais usado por perifricos. Daqui para frente ser explicado somente detalhes sobre interrupes de hardware. Os antigos computadores 8086/8088 (XT) usavam somente `8' interrupes de hardware operando a 8 bits. Com o surgimento do AT foram includas 8 novas interrupes, operando a 16 bits. Os computadores 286 e superiores tem `16' interrupes de hardware numeradas de 0 a 15. No kernel 2.4 e superiores do Linux, a funo APIC (_Advanced Programmable Interruption Controller_) permite gerenciar de forma avanada mais de 15 interrupes no sistema operacional. Estas interrupes oferecem ao dispositivo associado a capacidade de interromper o que o processador estiver fazendo, pedindo ateno imediata. As interrupes do sistema podem ser visualizadas no kernel com o comando `cat /proc/interrupts'. Abaixo um resumo do uso mais comum das 16 interrupes de hardware:0 Timer do Sistema - Fixa01 Teclado - Fixa02 Controlador de Interrupo Programvel - Fixa. Esta interrupo usada como ponte para a IRQ 9 e vem dos antigos processadores 8086/8088 que somente tinham 8 IRQs. Assim, pera tornar processadores 8088 e 80286 comunicveis, a IRQ 2 usada como um redirecionador quando se utiliza uma interrupo acima da 8.03 Normalmente usado por /dev/ttyS1 mas seu uso depende dos dispositivos instalados em seu sistema (como fax-modem, placas de rede 8 bits, etc).04 Normalmente usado por /dev/ttyS0 e quase sempre usada pelo mouse serial a no ser que um mouse PS2 esteja instalado no sistema.05 Normalmente a segunda porta paralela. Muitos micros no tem a segunda porta paralela, assim comum encontrar placas de som e outros dispositivos usando esta IRQ.06 Controlador de Disquete - Esta interrupo pode ser compartilhada com placas aceleradoras de disquete usadas em tapes (unidades de fita).07 Primeira porta de impressora. Pessoas tiveram sucesso compartilhando esta porta de impressora com a segunda porta de impressora. Muitas impressoras no usam IRQs.08 Relgio em tempo real do CMOS - No pode ser usado por nenhum outro dispositivo.09 Esta uma ponte para IRQ2 e deve ser a ltima IRQ a ser utilizada. No entanto pode ser usada por dispositivos.10 Interrupo normalmente livre para dispositivos. O controlador USB utiliza essa interrupo quando presente, mas no regra.11 Interrupo livre para dispositivos12 Interrupo normalmente livre para dispositivos. O mouse PS/2, quando presente, utiliza esta interrupo.13 Processador de dados numricos - No pode ser usada ou compartilhada14 Esta interrupo usada pela primeira controladora de discos rgidos e no pode ser compartilhada.15 Esta a interrupo usada pela segunda controladora de discos e no pode ser compartilhada. Pode ser usada caso a segunda controladora esteja desativada. Dispositivos ISA, VESA, EISA, SCSI no permitem o compartilhamento de uma mesma IRQ, talvez isto ainda seja possvel caso no haja outras opes disponveis e/ou os dois dispositivos no acessem a IRQ ao mesmo tempo, mas isto uma soluo precria. Conflitos de IRQ ocorriam nesse tipo de hardware acima ocasionando a parada ou mal funcionamento de um dispositivo e/ou de todo o sistema. Para resolver um conflito de IRQs, deve-se conhecer quais IRQs esto sendo usadas por quais dispositivos (usando `cat /proc/interrupts') e configurar as interrupes de forma que uma no entre em conflito com outra. Isto normalmente feito atravs dos jumpers de placas ou atravs de software (no caso de dispositivos jumperless ou plug-and-play). Dispositivos PCI, PCI Express so projetados para permitir o compartilhamento de interrupes. Se for necessrio usar uma interrupo normal, o chipset (ou BIOS) mapear a interrupo para uma interrupo normal do sistema (normalmente usando alguma interrupo entre a IRQ 9 e IRQ 12) ou usando APIC (se estiver configurado).3.3.1.1. Prioridade das Interrupes------------------------------------ Cada IRQ no sistema tem um nmero que identifica a prioridade que ser atendida pelo processador. Nos antigos sistemas XT as prioridades eram identificadas em seqncia de acordo com as interrupes existentes: IRQ 0 1 2 3 4 5 6 7 8 PRI 1 2 3 4 5 6 7 8 9 Com o surgimento do barramento AT (16 bits), as interrupes passaram a ser identificadas da seguinte forma: IRQ 0 1 2 (9 10 11 12 13 14 15) 3 4 5 6 7 8 PRI 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Note que a prioridade segue em seqncia atravs da `ponte' da IRQ 2 para IRQ 9. Os dispositivos com prioridade mais baixa so atendidos primeiro, mas uma diferena de desempenho praticamente imperceptvel de ser notada nos sistemas atuais.3.3.2. DMA - Acesso Direto a Memria------------------------------------ A _DMA_ usada para permitir a transferncia de dados entre dispositivos I/O e a memria sem precisar do processador para faz-lo. Ele livra esta carga do processador e resulta em uma rpida transferncia de dados. O PC padro tem dois controladores de DMA. O primeiro controla os canais `0, 1, 2, 3' e o segundo os canais `4, 5, 6, 7,' assim temos `8' canais. No entanto, o canal `4' perdido porque usado pelo _controlador de acesso direto a memria_. Os canais 0-3 so chamados de canais baixos porque podem somente mover um byte (_8 bits_) por transferncia enquanto canais altos movem 2 bytes (_16 bits_) por transferncia. Os dados movidos usando a DMA _no_ so movidos atravs do controlador de DMA. Isto oferece uma limitao porque a DMA somente podem mover dados entre os dispositivos (portas I/O) e a memria. No possvel mover dados entre as portas ou entre a memria. Existem dois controladores de DMA nos computadores AT e superiores. Ao contrrio do que acontece com os dois controladores de IRQ, o primeiro controlador ligado ao segundo e no o segundo ao primeiro. Os canais de DMA altos (5 ao 7) somente podem ser acessados por dispositivos de 16 bits (aqueles que utilizam a segunda parte do slot AT). Como resultado temos 8 canais de DMA, de 0 a 7, sendo que a DMA 4 usada como ligao entre eles. Os canais de DMA em uso no sistema podem ser visualizados com `cat /proc/dma'. Abaixo uma listagem de uso mais comum dos canais de DMA.DMA Barram. Uso0 - Usada pelo circuito de refresh da memria DRAM1 8/16 bits Normalmente usado por placas de som (canal 8 bits), porta paralela ECP, adaptadoras SCSI, placas de rede ou controladora de scanner.2 8/16 bits Normalmente usado pela controladora de disquetes ou controladoras de tapes.3 8/6 bits Usado pela porta paralela ECP, placa de som, controladoras de tapes, controladoras SCSI ou controladora de scanner antiga.4 - Usada como ponte para a outra controladora de DMA (0-3)5 16 bits Normalmente usada pela placa de som (canal 16 bits), placas controladoras SCSI, placas de rede ou controladora de scanner.6 16 bits Placa de som (canal 16 bits), controladora de scanner ou placa de rede.7 16 bits Placa de som (canal 16 bits), controladora de scanner ou placa de rede. Somente dispositivos ISA e derivados dele, como o EISA e VESA, usam os canais de DMA padro. Os atuais dispositivos de alta taxa de transferncia (normalmente PCI) possuem seu prprio controlador de DMA embutido, muito mais rpido do que a DMA padro. Este controlador de DMA chamado de _Bus Mastering_ e muito usado nos discos rgidos atuais e pode atingir taxas de 33,3MB/s (no modo 2) e 66MB/s (no modo 4 - requer um cabo IDE com aterramento para evitar interferncias de rudos externos).3.3.2.1. Conflitos de DMA------------------------- Um canal de DMA no pode ser compartilhado entre dispositivos. Ainda possvel configurar dois dispositivos para usarem um mesmo canal de DMA, desde que ele no seja usado ao mesmo tempo. Isto acontece com Scanners paralelos que compartilham a mesma porta paralela com a impressora. Se voc for uma pessoa que explora os recursos de multitarefa de seu Linux e seu desempenho, evite estes tipos de dispositivos, prefira aqueles que utilizam seus prprios recursos. Quando ocorre um conflito de DMA, os dados podem ser misturados e ocorrerem coisas estranhas at o travamento total do sistema. Este tipo de conflito difcil de se diagnosticar, a no ser que o tcnico seja experiente o bastante e tenha desconfiado do que o problema se trata...3.3.3. I/O - Porta de Entrada/Sada----------------------------------- Cada dispositivo possui um endereo de porta. O endereo uma localizao da memria usada pelo computador para enviar dados ao dispositivo e onde o dispositivo envia dados ao computador. Ao contrrios da IRQ e DMA, o dispositivo pode usar mais de uma porta de Entrada/Sada ou uma faixa de endereos. Por exemplo, uma placa de som padro usa as portas 0x220, 0x330 e 0x388, respectivamente `audio digital', `midi' e `opl3'. As placas de rede normalmente transferem grandes quantidades de dados, assim ocupam uma faixa de endereos. Uma NE2000, por exemplo, ocupa a faixa de endereos 0x260 a 0x27F (0x260-0x27F). O tamanho da faixa de endereos varia de acordo com o tipo de dispositivo. Os endereos de _I/O_ em uso no sistema podem ser visualizados com o comando `cat /proc/ioports'. Endereos das portas de entrada/sada no podem ser compartilhados3.4. Hardwares configurveis por jumpers, dip-switches, jumperless ePlug-and-Play.----------------------------------------------------------------------------3.4.1. Jumpers-------------- Hardwares configurveis por _jumpers_ (pinos metlicos protegidos por uma capa plstica) tem sua configurao alterada atravs da colocao, retirada ou mudana de posio fsica do pino. Este tipo de hardware, antigamente presente em placas ISA e VESA, no mais usado atualmente devido a configurao Plug and Play de dispositivos PCI, PCI express, etc. As disposio dos jumpers so normalmente definidas em _fechado/aberto_ e _multi-posio_. Na disposio _fechado/aberto_, o jumper pode ou no ser colocado, definindo a configurao do dispositivo: ::|:: Esta disposio facilmente encontrada na seleo de IRQ e I/O em placas de fax-modem. Na disposio _multi-posio_, os pinos de encaixe so numerados de 1 a 3 (ou 1 a 4, 1 a 5, etc) e os pinos podem ou no ser colocados na placa e a posio que so colocados tambm influencia os valores escolhidos para o funcionamento do dispositivo (a posio 1-2 especificam um valor enquanto 2-3 especificam outro). A associao entre a posio dos jumpers e a configurao desejada feita consultando o mapa desenhado no circuito impresso da placa ou o manual de instrues da placa. A configurao de jumper atravs de multi-posio normalmente usada em placas me para definir a _freqncia de operao do barramento_, a _freqncia de multiplicao_ ou o _tipo do processador_. Se no possuir o mapa de configurao de sua placa e/ou o manual de instrues, ser necessrio fazer um mapeamento manual da placa, mas para isto voc precisar conhecer detalhadamente a configurao de portas I/O, DMA, IRQ usadas na mquina que ser usada e anotar as diferenas obtidas atravs da modificao da pinagem do dispositivo. Isto no fcil, mas tcnicos de informtica experientes conhecero as `armadilhas' encontradas pelo mapeamento manual de placas e faro o esquema de configurao completo do dispositivo, obtendo um excelente manual de instrues. Nesta hora a experincia conta mais que o uso de programas de diagnstico. Outra caracterstica de hardwares configurados atravs de jumpers que raramente apresentam problemas de funcionamento, a no ser que seus parmetros como IRQ, DMA, ou I/O estejam em conflitos com outro dispositivo, mas isso no culpa do fabricante e nem mesmo do dispositivo...3.4.2. Dip-Switches------------------- a mesma coisa que os hardwares configurveis por jumpers exceto que so usados _dip-switches_ no lugar de jumpers. O _dip-switches_ um conjunto de chaves numeradas que podem ser colocadas para cima ou para baixo (como um disjuntor ou vrios interruptores _LIGA/DESLIGA_ colocados um ao lado do outro) para se modificar a configurao do dispositivo.3.4.3. Jumperless (sem jumper)------------------------------ Os hardwares _jumperless_ no possuem jumpers e so configurados atravs de um programa que acompanha a prpria placa. Neste programa escolhida a IRQ, DMA, I/O e a configurao salva na prpria placa ou restaurada aps cada inicializao por um programa carregado na memria. Devido a configurao via software, se obtm uma configurao fixa com muito mais facilidade do que via jumpers (por no haver a necessidade de se retirar a placa). A maioria das placas jumperless podem funcionar tambm como Plug-and-Play. Existem muitas placas de rede, fax-modem, scanner jumperless no mercado.3.4.4. Plug-and-Play-------------------- O _Plug-and-Play_ um protocolo que l os valores de operao disponveis para a placa e permitem que o usurio possa especificar facilmente qual ser sua IRQ, DMA, I/O. Hardwares PCI possuem configurao Plug-and-Play nativa, registrando suas interrupes, portas e dma na tabela de hardwares PCI do sistema. A diferena em relao ao modo jumperless que toda a configurao do hardware (IRQ, DMA e I/O) feita pelo kernel do `Linux', onde ele passa a configurao detectada durante a inicializao do sistema para os mdulos carregados, garantindo o perfeito funcionamento do dispositivos e evitando conflitos. Na poca de hardwares ISA e VESA, o programa `isapnp' era a preferencia para a configurao de placas ISA Plug and Play. Veja a prxima seo para entender como funciona o arquivo de configurao `isapnp.conf' e assim poder ativar seu dispositivo Plug-and-Play.3.5. Listando as placas e outros hardwares em um computador----------------------------------------------------------- Administradores e tcnicos ao configurar uma mquina precisaro saber quais os hardwares ela possui, perifricos e at mesmo a reviso de dispositivos e clock para configurar as coisas e ver a necessidade de atualizaes de dispositivos atuais. Dispositivos PCI/AMR/CNR podem ser listados executando o comando `cat /proc/pci'. Outra forma de listar tais dispositivos usando o `lspci', se voc precisa de mais detalhes como o mapeamento de memria, use `lspci -vv'. O mapeamento de memria de dispositivos podem ser mostrados com o comando `cat /proc/ioports', ou usando o comando `lsdev'. O barramento USB e dispositivos conectados a ele podem ser listados com o comando `lsusb' ou com `cat /proc/bus/usb/devices'. Hardwares disponveis na mquina, como placa me, clock multiplicador, discos, placas diversas, verses e nmeros seriais de dispositivos podem ser mostrados atravs do comando `lshw'. Use `lshw -html' para produzir a listagem em formato HTML, bem interessante para relatrios :-)3.6. Conflitos de hardware-------------------------- Ocorre quando um ou mais dispositivos usam a mesma _IRQ_, _I/O_ ou _DMA_. Um sistema com configuraes de hardware em conflito tem seu funcionamento instvel, travamentos constantes, mal funcionamento de um ou mais dispositivos e at mesmo, em casos mais graves, a perda de dados. Conflitos geralmente ocorriam em placas ISA, VESA onde era necessrio conhecer e usar uma tabela de valores padres para a configurao de perifricos (como a mostrada no inicio desse captulo). Para resolver conflitos de hardware necessrio conhecer a configurao de cada dispositivo em seu sistema. Os comandos `cat /proc/interrupts', `cat /proc/dma' e `cat /proc/ioports' podem ser teis para se verificar as configuraes usadas.3.7. Barramento--------------- O tipo de _slot_ varia de acordo com o barramento usado no sistema, que pode ser um(s) do(s) seguinte(s): ISA 8 Bits `Industry Standard Architecture' - o padro mais antigo, encontrado em computadores PC/XT. ISA 16 Bits Evoluo do padro ISA 8 Bits, possui um conector maior e permite a conexo de placas de 8 bits. Sua taxa de transferncia chega a 2MB/s. VESA `Video Electronics Standard Association' - uma interface feita inicialmente para placas de vdeo rpidas. O barramento VESA basicamente um ISA com um encaixe extra no final. Sua taxa de transferncia pode chegar a 132MB/s. EISA `Enhanced Industry Standard Architecture' - um barramento mais encontrado em servidores. Tem a capacidade de bus mastering, que possibilita a comunicao das placas sem a interferncia da CPU. MCA `Micro Channel Architecture' - Barramento 32 bits proprietrio da IBM. Voc no pode usar placas ISA nele, possui a caracterstica de bus mastering, mas pode procurar por dispositivos conectados a ele, procurando configurao automtica. Este barramento estava presente no PS/1 e PS/2, hoje no mais usado. PCI `Peripheral Component Interconnect' - outro barramento rpido produzido pela Intel com a mesma velocidade que o VESA. O barramento possui um chipset de controle que faz a comunicao entre os slots PCI e o processador. O barramento se configura automaticamente (atravs do Plug-and-Play). O PCI o barramento mais usado por Pentiums e est se tornando uma padro no PC. PCI Express `Peripheral Component Interconnect Express' - Identico ao barramento PCI, funcionando nativamente no clock de 64 bits. AGP `Accelerated Graphics Port' - um novo barramento criado exclusivamente para a ligao de placas de video. um slot marrom (em sua maioria) que fica mais separado do ponto de fixao das placas no chassis (comparado ao PCI). Estas placas permitem obter um desempenho elevado de vdeo se comparado as placas onboards com memria compartilhada e mesmo PCI externas. O consumo de potncia em placas AGP x4 podem chegar at a 100W, portanto importante dimensionar bem o sistema e ter certeza que a fonte de alimentao pode trabalhar com folga. PCMCIA `Personal Computer Memory Card International Association' - um slot especial usado para conexes de placas externas (normalmente revestivas de plstico) e chamadas de _cartes PCMCIA_. Estes cartes podem adicionar mais memria ao sistema, conter um fax-modem, placa de rede, disco rgido, etc. Os cartes PCMCIA so divididos em 3 tipos: `Tipo 1' Tem a espessura de 3.3 milmetros, e podem conter mais memria RAM ou memria Flash. `Tipo 2' Tem a espessura de 5 milmetros e capacidade de operaes I/O. um tipo usado para placas de fax-modem, rede, som. Computadores que aceitam cartes PCMCIA do tipo 2, mantm a compatibilidade com o tipo 1. `Tipo 3' Tem a espessura de 10.5 milmetros e normalmente usado para discos rgidos PCMCIA. Slots PCMCIA do tipo 3 mantm a compatibilidade com o tipo 2 e 1. AMR `Audio Modem Raise' - Pequeno barramento criado pela Intel para a conexo de placas de som e modem. Placas de som e modem AMR usam o HSP (host signal processor) e so como as Placas on-board e todo o processamento feito pela CPU do computador (veja detalhes em Seo 3.8, `Placas on-board / off-board' e Seo 3.9, `Hardwares especficos ou "For Windows"'. Sua vantagem o preo: um modem ou placa de som AMR custa em torno de R$ 25,00. CNR `Communication and Networking Rise' - Pequeno barramento criado pela Intel para a conexo de placas de som, modens e placas de rede. Este um pequenino slot marrom que localizado no ponto de fixao das placas no chassis do gabinete. Elas so como as Placas on-board e todo o processamento feito pela CPU do computador (veja detalhes em Seo 3.8, `Placas on-board / off-board' e Seo 3.9, `Hardwares especficos ou "For Windows"'.3.8. Placas on-board / off-board-------------------------------- Placas _on-board_ so embutidas na placa me (_motherboard_). Placas _off-board_ so placas externas encaixadas nos slots de expanso da placa me. No inicio da era do PC/XT todos as placas eram embutidas na placa me (na poca eram somente a placa de vdeo e controladora). Com o surgimento do padro AT, diversas empresas de informtica desenvolveram dispositivos concorrentes e assim o usurio tinha a liberdade de escolha de qual dispositivo colocar em sua placa me (ou o mais barato ou o de melhor qualidade e desempenho), isto permitiu a adio de perifricos de qualidade sem romper com seu oramento pessoal (comprando uma placa de som, depois uma de fax-modem, placa de vdeo melhor, etc). Atualmente parece que voltamos ao ponto de partida e tudo vem embutido na placa me (_on-board_) e o usurio no tem como escolher qual dispositivo usar em seu computador. muito difcil (praticamente impossvel) encontrar uma placa me que satisfaa completamente as necessidades do usurio ou recomendaes de um bom tcnico de informtica (a no ser que seja um tcnico experiente e encontre alguma alternativa). Certamente o nico dispositivo que funciona melhor se embutido na placa me a _placa controladora de perifricos_. Esta placa usada para se conectar unidades de disquete, discos rgidos, CD-ROM, portas seriais, paralelas, joystick ao computador. Os HDs conectados em uma controladora embutida conseguem ter um desempenho muito maior do que em placas conectadas externamente, sem causar nenhum tipo de problema. Hardwares embutidos na placa me (como fax-modem, vdeo, som) so em mdia 30% mais baratos que os vendidos separadamente mas quase sempre so usados dispositivos de baixo desempenho e qualidade para reduzir o preo da placa me e quase sempre usados hardwares `For Windows'. Hoje em dia por causa do preo da placa me, comum encontrar pessoas que verificam somente o preo e sequer procuram saber ou conhecem a qualidade das placas embutidas na placa me. Pior ainda encontrar vendedores despreparados que sequer sabem explicar o porque que uma placa de som Sound Blaster 128 mais cara que uma de modelo genrico... Geralmente dispositivos on-board trazem problemas caso tal dispositivo queime e geralmente colocado um hardware de baixa qualidade para baratear o custo de placas me, que na maioria das vezes tambm oferece grande dificuldade para ser configurada no `Linux'. Outro perifrico que traz problemas e carga para o processador o fax-modem for Windows, HSP, AMR, micromodem, etc. utilizando o processador do sistema para realizar seu trabalho e algumas vezes no trazem nem mesmo o chip UART. Isso resulta em perda de qualidade na conexo e maior consumo telefnico. Se voc estiver em uma situao destas, certamente os computadores de menor potncia e com hardwares inteligentes (que possuem seus prprios chips de controle e processamento) no tero o desempenho comprometido. O preo pode ser maior mas voc estar pagando por um dispositivo de melhor qualidade e que certamente trar benefcios a voc e ao seu sistema. Consulte um tcnico em informtica experiente para te indicar uma placa me de bom preo e de qualidade. muito comum encontrar falta de profissionalismo em pessoas que no sabem distinguir as caractersticas, funes e vantagens entre uma placa de boa qualidade e um hardware for Windows a no ser o preo mais barato.3.9. Hardwares especficos ou "For Windows"------------------------------------------- Esta seo foi retirada do manual de instalao da Debian GNU/Linux. Uma tendncia que perturba a proliferao de Modens e impressoras especficos para Windows. Em muitos casos estes so especialmente fabricados para operar com o Sistema Operacional Microsoft Windows e costumam ter a legenda `WinModem', `for Windows', ou `Feito especialmente para computadores baseados no Windows'. Geralmente estes dispositivos so feitos retirando os processadores embutidos daquele hardware e o trabalho deles so fe