Documente Academic
Documente Profesional
Documente Cultură
Resumo
Este documento tem por objetivo ser uma referncia ao aprendizado do usurio e um guia de consulta, operao
configurao de sistemas Linux (e outros tipos de *ix). A ltima verso deste guia pode ser encontrada na
Pgina Oficial do Foca GNU/Linux. Novas verses so lanadas com uma freqncia mensal e voc pode
receber avisos de lanamentos preenchendo um formulrio na pgina Web.
Nota de Copyright
Copyleft 1999-2002 - 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".
Contedo
1 Introduo
1.1 Antes de comear
1.2 Pr-requisitos para a utilizao deste guia
1.2.1 Consideraes sobre o nvel Avanado
1.3 Sistema Operacional
1.4 O Linux
1.4.1 Algumas Caractersticas do Linux
1.5 Distribuies do Linux
1.6 Software Livre
1.7 Processamento de Dados
1.8 O Computador
1.9 Conhecendo o Computador
1.9.1 Tipos de Gabinete
1.9.2 Painel Frontal
1.9.3 Monitor de Vdeo
1.10 Placa-me
1.10.1 Alguns componentes da placa-me
1.11 Memria do Computador
1.11.1 Memria Principal
1.11.2 Memria Auxiliar
1.12 Discos
1.12.1 Discos Flexveis
1.12.2 Disco Rgido
1.12.3 CD
1.13 Cuidados Bsicos com o Computador e Disquetes
1.14 Dispositivos de Entrada e Sada
1.15 Ligando o computador
1.16 Desligando o computador
1.17 Reiniciando o computador
2 Explicaes Bsicas
2.1 Hardware e Software
2.2 Arquivos
2.2.1 Extenso de arquivos
2.2.2 Tamanho de arquivos
2.2.3 Arquivo texto e binrio
2.3 Diretrio
2.3.1 Diretrio Raz
2.3.2 Diretrio padro
2.3.3 Diretrio home
2.3.4 Diretrio Superior
Guia Foca GNU/Linux
7.7.5 bg
7.7.6 kill
7.7.7 killall
7.7.8 killall5
7.7.9 Sinais do Sistema
7.8 nohup
7.9 nice
7.10 fuser
7.11 tload
7.12 vmstat
7.13 pidof
7.14 pstree
7.15 Fechando um programa quando no se sabe como sair
7.16 Eliminando caracteres estranhos
8 Comandos para manipulao de diretrio
8.1 ls
8.2 cd
8.3 pwd
8.4 mkdir
8.5 rmdir
9 Comandos para manipulao de Arquivos
9.1 cat
9.2 tac
9.3 rm
9.4 cp
9.5 mv
10 Comandos Diversos
10.1 clear
10.2 date
10.3 df
10.4 ln
10.5 du
10.6 find
10.7 free
10.8 grep
10.9 head
10.10 nl
10.11 more
10.12 less
10.13 sort
10.14 tail
10.15 time
10.16 touch
10.17 uptime
10.18 dmesg
10.19 mesg
10.20 echo
10.21 su
10.22 sync
10.23 uname
10.24 reboot
10.25 shutdown
10.26 wc
10.27 chattr
10.28 lsattr
10.29 cut
10.30 cmp
10.31 dirname
10.32 diff
10.33 pr
Guia Foca GNU/Linux
10.34 patch
10.35 whereis
10.36 which
10.37 zforce
10.38 gzexe
10.39 znew
11 Comandos de rede
11.1 who
11.2 Telnet
11.3 finger
11.4 ftp
11.5 whoami
11.6 dnsdomainname
11.7 hostname
11.8 talk
11.9 ping
11.10 rlogin
11.11 rsh
11.12 w
11.13 traceroute
11.14 netstat
11.15 wall
12 Comandos para manipulao de contas
12.1 adduser
12.2 addgroup
12.3 passwd
12.4 newgrp
12.5 userdel
12.6 groupdel
12.7 lastlog
12.8 last
12.9 sg
12.10 Adicionando um novo grupo a um usurio
12.11 chfn
12.12 id
12.13 logname
12.14 users
12.15 groups
13 Permisses de acesso a arquivos e diretrios
13.1 Donos, grupos e outros usurios
13.2 Tipos de Permisses de acesso
13.3 Etapas para acesso a um arquivo/diretrio
13.4 Exemplos prticos de permisses de acesso
13.4.1 Exemplo de acesso a um arquivo
13.4.2 Exemplo de acesso a um diretrio
13.5 Permisses de Acesso Especiais
13.6 A conta root
13.7 chmod
13.8 chgrp
13.9 chown
13.10 Modo de permisso octal
13.11 umask
14 Redirecionamentos e Pipe
14.1 >
14.2 >>
14.3 <
14.4 | (pipe)
14.5 Diferena entre o "|" e o ">"
14.6 tee
15 Rede
Guia Foca GNU/Linux
16.12.2 modules.conf
16.13 Aplicando Patches no Kernel
17 Arquivos e daemons de Log
17.1 Formato do arquivo de log
17.2 Daemons de log do sistema
17.2.1 syslogd
17.2.1.1 Arquivo de configurao syslog.conf
17.2.2 klogd
17.3 logger
17.4 Programas teis para monitorao e gerenciamento de arquivos de logs
17.4.1 logcheck
17.4.2 logrotate
17.5 Configurando um servidor de logs
18 Compactadores
18.1 O que fazem os compactadores/descompactadores?
18.1.1 Tipos de compactao
18.2 Extenses de arquivos compactados
18.3 gzip
18.4 zip
18.5 unzip
18.6 tar
18.7 bzip2
18.8 rar
19 A distribuio Debian GNU/Linux
19.1 Porque usar a Debian?
19.2 Pacotes existentes na Debian
19.3 O que sid/testing/frozen/stable?
19.4 Como obter a Debian
19.5 Programas de configurao
19.6 Arquivos de inicializao
19.7 Nveis de Execuo
19.7.1 Entendendo o funcionamento dos nveis de execuo do sistema (runlevels)
19.8 Bug tracking system
19.9 Onde encontrar a Debian para Download?
19.10 Lista de pacotes para uma instalao rpida e manual
19.10.1 Pacotes Bsicos (Altamente Recomendado)
19.10.2 Compilao do Kernel e programas em linguagem C
19.10.3 X11 (bsico)
19.10.4 Window Managers para o X
19.10.5 Impresso (texto e grfico com sistema de spool)
19.10.6 Som (mixer, mp3, Midi, wav, CD-Player)
19.10.7 Programas de Internet (clientes)
19.10.8 Acessrios
19.10.9 Rede
20 Sistema de gerenciamento de pacotes
20.1 dpkg
20.1.1 Pacotes
20.1.2 Instalar pacotes
20.1.3 Dependncias
20.1.4 Listar pacotes existentes no sistema
20.1.5 Removendo pacotes do sistema
20.1.6 Removendo completamente um pacote
20.1.7 Mostrar descrio do pacote
20.1.8 Procura de pacotes atravs do nome de um arquivo
20.1.9 Status do pacote
20.1.10 Procurando pacotes com problemas de instalao
20.1.11 Mostrando a lista de pacotes do sistema
20.1.12 Obtendo uma lista de pacotes para instalar no sistema
20.1.13 Configurando pacotes desconfigurados
20.1.14 Listando arquivos de um pacote
Guia Foca GNU/Linux
20.2 apt
20.2.1 O arquivo /etc/apt/sources.list
20.2.1.1 Endereos de servidores e mirrors nacionais da Debian
20.2.1.2 Um modelo de arquivo sources.list
20.2.2 O arquivo /etc/apt/apt.conf
20.2.3 Copiando a lista de pacotes disponveis
20.2.4 Utilizando CDs oficiais/no-oficiais/terceiros com o apt
20.2.5 Instalando novos pacotes
20.2.6 Removendo pacotes instalados
20.2.7 Atualizando sua distribuio
20.2.8 Removendo pacotes baixados pelo apt
20.2.9 Procurando por pacotes atravs da descrio
20.2.10 Procurando um pacote que contm determinado arquivo
20.2.11 Verificando pacotes corrompidos
20.2.12 Corrigindo problemas de dependncias e outros erros
21 Personalizao do Sistema
21.1 Variveis de Ambientes
21.2 Modificando o Idioma usado em seu sistema
21.3 alias
21.4 Arquivo /etc/profile
21.5 Arquivo .bash_profile
21.6 Arquivo .bashrc
21.7 Arquivo .hushlogin
21.8 Arquivo /etc/environment
21.9 Diretrio /etc/skel
22 Impresso
22.1 Portas de impressora
22.2 Imprimindo diretamente para a porta de impressora
22.3 Imprimindo via spool
22.4 Impresso em modo grfico
22.4.1 Ghost Script
22.5 Magic Filter
22.5.1 Instalao e configurao do Magic Filter
22.5.2 Outros detalhes tcnicos sobre o Magic Filter
22.6 Impresso remota
22.6.1 Dando permisso para impreso remota via lpd/lprng
22.6.2 Impresso via rlpr
22.6.3 Impresso via printcap
22.6.4 Gerenciando impresso de mquinas Windows
23 Configurao do sistema
23.1 Acentuao
23.1.1 Acentuao em modo Texto
23.1.2 Acentuao em modo grfico
23.2 Nmero de Cores do ambiente grfico
23.2.1 Configurando o nmero de cores para quem inicia pelo prompt
23.2.2 Configurando o nmero de cores para quem inicia pelo XDM
23.2.3 Ajustando o alinhamento da imagem no X e outras configuraes
23.2.4 Sobre o nmero de cores para jogos que funcionam no X
24 Compilao
24.1 O que compilao?
24.2 Compilador
25 Manuteno do Sistema
25.1 Checagem dos sistemas de arquivos
25.1.1 fsck.ext2
25.2 reiserfsck
25.3 fsck.minix
25.4 badblocks
25.5 defrag
25.6 Limpando arquivos de LOGS
25.7 Tarefas automticas de manuteno do sistema
Guia Foca GNU/Linux
25.8 cron
25.8.1 O formato de um arquivo crontab
25.9 at
26 Principais arquivos de configurao do diretrio /etc
26.1 Diretrio /etc/alternatives
26.2 Arquivo /etc/default/devpts
26.3 Arquivo /etc/default/rcs
26.4 Arquivo /etc/kbd/config
26.5 Diretrio /etc/menu-methods
26.6 Arquivo /etc/menu-methods/menu-translate
26.7 Arquivo /etc/networks
26.8 Arquivo /etc/networks/interfaces
26.9 Arquivo /etc/networks/options
26.10 Arquivo /etc/networks/spoof-protect
26.11 Diretrio /etc/pam.d
26.12 Diretrio /etc/ppp
26.13 Diretrio /etc/security
26.14 Arquivo /etc/security/access.conf
26.15 Arquivo /etc/security/limits.conf
26.16 Arquivo /etc/crontab
26.17 Arquivo /etc/fstab
26.18 Arquivo /etc/group
26.19 Arquivo /etc/gshadow
26.20 Arquivo /etc/host.conf
26.21 Arquivo /etc/hostname
26.22 Arquivo /etc/hosts
26.23 Arquivo /etc/hosts.allow
26.24 Arquivo /etc/hosts.deny
26.25 Arquivo /etc/hosts.equiv
26.26 Arquivo /etc/inetd.conf
26.27 Arquivo /etc/inittab
26.28 Arquivo /etc/inputrc
26.29 Arquivo /etc/isapnp.conf
26.30 Arquivo /etc/isapnp.gone
26.31 Arquivo /etc/issue
26.32 Arquivo /etc/issue.net
26.33 Arquivo /etc/lilo.conf
26.34 Arquivo /etc/login.defs
26.35 Arquivo /etc/modules
26.36 Arquivo /etc/modules.conf
26.37 Arquivo /etc/motd
26.38 Arquivo /etc/mtab
26.39 Arquivo /etc/networks
26.40 Arquivo /etc/passwd
26.41 Arquivo /etc/printcap
26.42 Arquivo /etc/protocolos
26.43 Arquivo /etc/resolv.conf
26.44 Arquivo /etc/serial.conf
26.45 Arquivo /etc/services
26.46 Arquivo /etc/shadow
26.47 Arquivo /etc/shells
26.48 Arquivo /etc/syslog.conf
26.49 Arquivo /etc/timezone
27 Conectando seu computador a Internet
27.1 Conectando-se a Internet
27.2 Navegando na Internet
27.3 Recebimento de E-Mails atravs do fetchmail
27.3.1 Processamento de mensagens atravs do procmail
28 X Window (ambiente grfico)
28.1 O que X Window?
Guia Foca GNU/Linux
10
30.8.1.16 Outros
30.8.2 Listagem de Mini-HOWTOs
30.8.2.1 Introduo ao Sistema / Instalao / Configurao / Kernel
30.8.2.2 Discos / Sistema de Arquivos / Desempenho
30.8.2.3 Escrita de Documentao / Editores
30.8.2.4 Hardware
30.8.2.5 Software
30.8.2.6 Plataformas no Intel (x86)
30.8.2.7 Programao / Compiladores / Banco de Dados
30.8.2.8 Configurao de Teclado / Video / Console
30.8.2.9 Ambiente Grfico
30.8.2.10 Migrao/Convivncia com outras plataformas
30.8.2.11 Tarefas Especficas
30.8.2.12 Rede / Administrao / Firewall / Segurana
30.8.2.13 Outros
30.9 Documentao de Programas
30.10 FAQ
30.11 RFC's
30.12 Internet
30.12.1 Pginas Internet de Referncia
30.12.2 Listas de discusso
31 Firewall iptables
31.1 Introduo
31.1.1 Verso
31.1.2 Um resumo da histria do iptables
31.1.3 Caractersticas do firewall iptables
31.1.4 Ficha tcnica
31.1.5 Requerimentos
31.1.6 Arquivos de logs criados pelo iptables
31.1.7 Instalao
31.1.8 Enviando Correes/Contribuindo com o projeto
31.1.9 O que aconteceu com o ipchains e ipfwadm?
31.1.10 Tipos de firewalls
31.1.11 O que proteger?
31.1.12 O que so regras?
31.1.13 O que so chains?
31.1.14 O que so tabelas?
31.1.15 Habilitando o suporte ao iptables no Kernel
31.1.16 Ligando sua rede interna a Internet
31.2 Manipulando chains
31.2.1 Adicionando regras - A
31.2.2 Listando regras - L
31.2.3 Apagando uma regra - D
31.2.4 Inserindo uma regra - I
31.2.5 Substituindo uma regra - R
31.2.6 Criando um novo chain - N
31.2.7 Listando os nomes de todos os chains atuais
31.2.8 Renomeando um chains criado pelo usurio - E
31.2.9 Limpando as regras de um chain - F
31.2.10 Apagando um chain criado pelo usurio - X
31.2.11 Zerando contador de bytes dos chains - Z
31.2.12 Especificando o policiamento padro de um chain - P
31.3 Outras opes do iptables
31.3.1 Especificando um endereo de origem/destino
31.3.2 Especificando a interface de origem/destino
31.3.3 Especificando um protocolo
31.3.3.1 Especificando portas de origem/destino
31.3.3.2 Especificando mensagens do protocolo ICMP
31.3.3.3 Especificando pacotes syn
31.3.4 Especificando fragmentos
Guia Foca GNU/Linux
11
12
33.1.1 Verso
33.1.2 Um resumo da Histria do Apache
33.1.3 Enviando Correes/Contribuindo com o projeto
33.1.4 Caractersticas do Apache
33.1.5 Ficha tcnica
33.1.6 Requerimentos
33.1.7 Arquivos de log criados pelo Apache
33.1.8 Instalao
33.1.9 Iniciando o servidor/reiniciando/recarregando a configurao
33.1.10 Opes de linha de comando
33.2 Configurando a porta padro do Apache
33.3 Adicionando uma pgina no Apache
33.4 Configurando as interfaces que o Apache atender
33.5 Especificando endereos/portas adicionais (a diretiva Listen)
33.6 Especificando opes/permisses para as pginas
33.7 Restries de Acesso
33.7.1 Autorizao
33.7.2 Autenticao
33.7.2.1 Criando um arquivo de Senhas
33.7.2.2 Autenticao atravs de usurios
33.7.2.3 Autenticao usando grupos
33.7.3 Usando autorizao e autenticao juntos
33.7.3.1 Acesso diferenciado em uma mesma diretiva
33.7.4 O arquivo .htaccess
33.7.5 Usando a diretiva SetEnvIf com Allow e Deny
33.7.6 A diretiva <Limit>
33.7.7 Diretiva <LimitExcept>
33.8 Definindo documentos de erro personalizados
33.9 Mdulos DSO
33.10 Sistema de Log do Apache
33.10.1 AgentLog
33.10.2 ErrorLog
33.10.3 CustomLog
33.10.4 RefererLog
33.10.5 RewriteLog
33.10.6 RewriteLogLevel
33.10.7 ScriptLog
33.10.8 ScriptLogBuffer
33.10.9 ScriptLogLength
33.10.10 TransferLog
33.10.11 LogFormat
33.10.12 LogLevel
33.10.13 Anonymous_LogEmail
33.10.14 CookieLog
33.10.15 Relatrio grfico de acesso ao sistema
33.11 Configurando o Apache como servidor proxy
33.11.1 Controlando o acesso ao servidor proxy
33.11.2 Redirecionamento de conexes no Apache
33.12 Virtual Hosts
33.12.1 Virtual hosts baseados em IP
33.12.2 Virtual hosts baseados em nome
33.12.3 Segurana no uso de IP's em Virtual Hosts
33.13 Uso de criptografia SSL
33.13.1 Servidor apache com suporte a SSL
33.13.2 Instalando o suporte a mdulo SSL no Apache
33.13.3 Gerando um certificado digital
33.13.4 Exemplo de configurao do mdulo mod-ssl
33.13.5 Autorizando acesso somente a conexes SSL
33.13.6 Iniciando o servidor Web com suporte a SSL
33.14 Exemplo comentado de um arquivo de configurao do Apache
Guia Foca GNU/Linux
13
33.14.1 httpd.conf
33.14.2 srm.conf
33.14.3 access.conf
33.15 Cdigos HTTP
34 Servidor ident
34.1 Introduo
34.1.1 Verso
34.1.2 Contribuindo
34.1.3 Caractersticas
34.1.4 Ficha tcnica
34.1.5 Requerimentos de Hardware
34.1.6 Arquivos de log criados pelo Ident
34.1.7 Instalao
34.1.8 Instalao via Inetd
34.1.9 Usando tcpwrappers com oidentd
34.1.10 Iniciando o servidor/reiniciando/recarregando a configurao
34.1.11 Opes de linha de comando
34.1.12 Exemplos
35 Servidor telnet
35.1 Introduo
35.1.1 Verso
35.1.2 Caractersticas
35.1.3 Ficha tcnica
35.1.4 Requerimentos de Hardware
35.1.5 Arquivos de log criados pelo servidor telnet
35.1.6 Instalao
35.1.7 Iniciando o servidor/reiniciando/recarregando a configurao
35.1.8 Opes de linha de comando
35.2 Controle de acesso
35.3 Recomendaes
35.4 Fazendo conexes ao servidor telnet
36 Servidor ssh
36.1 Introduo
36.1.1 Verso
36.1.2 Histria
36.1.3 Contribuindo
36.1.4 Caractersticas
36.1.5 Ficha tcnica
36.1.6 Requerimentos de Hardware
36.1.7 Arquivos de log criados pelo servidor ssh
36.1.8 Instalao do servidor openSSH
36.1.9 Iniciando o servidor/reiniciando/recarregando a configurao
36.1.10 Opes de linha de comando
36.2 Usando aplicativos clientes
36.2.1 ssh
36.2.1.1 Redirecionamento de conexes do X
36.2.1.2 Cliente ssh para Windows
36.2.2 scp
36.2.2.1 Cliente scp para Windows
36.2.3 sftp
36.3 Servidor ssh
36.3.1 sshd
36.3.2 Controle de acesso
36.3.3 Usando autenticao RSA - chave pblica/privada
36.3.4 Diferenas nas verses do protocolo
36.3.5 Exemplo de sshd_config com explicaes das diretivas
37 Servidor pop3
37.1 Introduo
37.1.1 Verso
37.1.2 Contribuindo
Guia Foca GNU/Linux
14
37.1.3 Caractersticas
37.1.4 Ficha tcnica
37.1.5 Requerimentos de Hardware
37.1.6 Arquivos de log criados pelo qpopper
37.1.7 Instalao
37.1.8 Iniciando o servidor/reiniciando/recarregando a configurao
37.1.9 Testando o servidor pop3
37.1.10 Opes de linha de comando
37.1.11 Enviando boletins de mensagens
37.1.12 Especificando quotas para as caixas de correio
37.1.13 Restringindo acesso ao servidor pop3
38 Restries de recursos/servios
38.1 Limitando recursos no bash
38.1.1 Uso do comando readonly para exportar variveis
38.1.2 Restries nos diretrios de usurios e root
38.1.3 Restries bsicas do shell bash com bash -r/--restricted, rbash
38.1.4 Finalizando consoles inativos
38.1.5 Desabilitando o registro de comandos digitados
38.1.6 Desabilitando servios de shell para usurios
38.2 Limitao de recursos usando PAM
38.2.1 Descobrindo se um determinado programa tem suporte a PAM
38.2.2 Definindo um policiamento padro restritivo
38.2.3 Restringindo/Bloqueando o login
38.2.4 Restries de servios PAM baseados em dia/hora
38.2.5 Permitindo acesso a grupos extras
38.2.6 Limitao de recursos do shell
38.3 Restries de acesso a programas/diretrios/arquivos usando grupos
38.4 Dando poderes de root para executar determinados programas
38.5 Restringindo o comando su
38.6 Restries baseadas em usurio/IP
38.7 Desabilitando servios no usados no Inetd
38.8 Evitando o uso de hosts.equiv e .rhosts
38.9 Restringindo o uso do shutdown
38.10 Restringindo o acesso ao sistema de arquivos /proc
38.11 Limitando o uso de espao em disco (quotas)
38.11.1 Instalando o sistema de quotas
38.11.2 Editando quotas de usurios/grupos
38.11.3 Modificando a quota de todos os usurios de uma vez
38.11.4 Verificando a quota disponvel ao usurio
38.11.6 Verificando a quota de todos os usurios/grupos do sistema
38.11.6 Avisando usurios sobre o estouro de quota
38.12 Suporte a senhas ocultas
38.13 Suporte a senhas md5
38.14 Restries no hardware do sistema
38.14.1 BIOS do sistema
38.14.2 Retirada da unidade de disquetes
38.14.3 Placas de rede com eprom de boot
38.14.4 Protegendo o LILO
38.14.5 Disco rgido
39 Introduo ao uso de criptografia para transmisso/armazenamento de dados
39.1 Introduo
39.2 Sniffer
39.2.1 Detectando a presena de sniffers
39.3 Alternativas seguras a servios sem criptografia
39.3.1 http
39.3.2 Transmisso segura de e-mails
39.3.3 Servidor pop3
39.3.4 Transferncia de arquivos
39.3.5 login remoto
39.3.6 Bate papo via IRC
Guia Foca GNU/Linux
15
16
40.4.3 cvswrappers
40.4.4 commitinfo
40.4.5 verifymsg
40.4.6 loginfo
40.4.7 cvsignore
40.4.8 checkoutlist
40.4.9 history
40.5 Clientes de CVS
40.5.1 cvs
40.5.2 gcvs - Linux
40.5.3 WinCVS - Windows
40.5.4 MacCVS - Macintosh (PPC)
40.5.5 viewcvs
40.6 Exemplo de uma seo CVS
41 Apndice
41.1 Sobre este guia
41.2 Referncias de auxlio ao desenvolvimento do guia
41.3 Onde encontrar a verso mais nova do guia?
41.4 Colaboradores do Guia
41.5 Marcas Registradas
41.6 Futuras verses
41.7 Chave Pblica PGP
17
Captulo 1 - Introduo
Bem vindo ao guia Foca GNU/Linux. A verso que esta lendo agora contm os nveis de aprendizado:
Iniciante
Intermedirio
Avanado
Entre o contedo do guia, voc encontrar:
Textos explicativos falando sobre o GNU/Linux, seus comandos, arquivos, diretrios, etc.
Todos os materiais contidos na verso iniciante so ideais para quem est tendo o primeiro contato com
computadores e/ou com o GNU/Linux. So usadas palavras simples para explicar o funcionamento de cada
comando evitando, sempre que possvel, termos tcnicos
Explicaes necessrias para conhecer, operar, configurar, desenvolver, personalizar seus programas e
arquivos.
Uma lista de aplicativos clientes para serem usados em seu sistema GNU/Linux, com suas
caractersticas, equipamento mnimo requerido e espao em disco recomendado para instalao.
Criao de parties e arquivos contendo o sistema de arquivos ext2 (para gravao de dados) e swap
(memria virtual) e as vantagens/desvantagens de se utilizar um arquivo ou partio para armazenamento de
dados.
Compilao de programas/Kernel, com explicaes sobre cada uma das opes ajudando-o a decidir
sobre a incluso ou no.
Dicas de como avaliar e comprar bons hardwares para que seu computador tenha o melhor desempenho
(tambm vlido para DOS, Windows e outras plataformas). Desta maneira voc saber porque algumas
placas de fax-modens custam 3 vezes mais caro que outras e o que a placa traz de especial para ter este
diferencial.
Como modificar facilmente o idioma usado em seu sistema (localizao) para o modo texto e modo
grfico.
Mais opes para os comandos existentes na verso Iniciante do guia e novos comandos.
Conhecer os arquivos de configurao e arquivos bsicos de segurana e aprender para que eles servem
e como usa-los.
Dicas de como saber escolher bons perifricos para uso no GNU/Linux e outros sistemas operacionais
Particionamento de disco
Principais tipos de ataques para descoberta de senhas e alguns mtodos de como evita-las
(Senhas fceis de adivinhar e escolha de boas senhas, Seo 32.2.2).
18
para entender o porque da uso de criptografia para transmisso segura de dados (Introduo ao uso de
criptografia para transmisso/armazenamento de dados, Captulo 39).
Criptografia usando gnupgp (Usando pgp (gpg)para criptografia de arquivos, Seo 39.5).
Servidor de acesso para permitir o acesso a distncia ao seu computador usando o telnetd
(Servidor telnet, Captulo 35).
Servidor de acesso para permitir o acesso a distncia a seu computador com criptografia usando
o ssh (Servidor ssh, Captulo 36).
Montagem de um servidor pop3 para que suas estaes de rede possam acessar o e-mail na
mquina servidora Linux usando programas como Outlook, Communicator, Mutt, sylpheed e outros que
utilizem o protocolo pop3 (Servidor pop3, Captulo 37).
Restries de acesso via hardware: bios, disquete, placa com boot via rede, LILO, disco rgido
(Dando poderes de root para executar determinados programas, Seo 38.4).
Uso do su para dar privilgio de execuo de programas como root a determinados usurios
(Dando poderes de root para executar determinados programas, Seo 38.4).
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: Foca GNU/Linux HomePage.
Caso tiver alguma sugesto, correo, crtica para a melhoria deste guia, envie um e-mail para
gleydson@cipsa.org.br.
O Foca GNU/Linux atualizado freqentemente, por este motivo recomendo que preencha a ficha do aviso de
atualizaes na pgina web em Foca GNU/Linux HomePage 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.
19
Recomendo que faa a leitura deste guia e pratique o que aprendeu imediatamente. Isto facilita o
entendimento do programa/comando.
preciso ter interesse em aprender, se voc tiver vontade em aprender algo, voc ter menos
dificuldade do que em algo que no gosta e est se obrigando a aprender.
Decorar no adianta pelo contrrio, s atrapalha no aprendizado. Voc precisa entender o que o
comando faz, deste modo voc estar tambm usando e desenvolvendo sua interpretao, e entender
melhor o assunto (talvez at me de uma fora para melhorar o guia.
Curiosidade tambm importante. Voc talvez possa estar procurando um comando que mostre os
arquivos que contm um certo texto, e isto far voc chegar at o comando grep, depois voc conhecer
suas opes, etc.
No desanime vendo outras pessoas que sabem mais que voc, lembre-se que ningum nasce sabendo.
Uma pessoa pode ter mais experincia em um assunto no sistema como compilao de programas,
configurao, etc, e voc pode ter mais interesse em redes.
Ningum pode saber tudo da noite para o dia, no procure saber tudo sobre o sistema de uma s vez
seno no entender nada. Caso tenha dvidas sobre o sistema, procure ler novamente a seo do guia, e
caso ainda no tenha entendido procure ajuda nas pgina de manual (veja Pginas de Manual, Seo 30.1),
ou nas listas de discusso (veja Listas de discusso, Seo 30.12.2) ou me envie uma mensagem
gleydson@linuxbr.com.br.
Certamente voc buscar documentos na Internet que falem sobre algum assunto que este guia ainda
no explica. Muito cuidado! O GNU/Linux um sistema que cresce muito rapidamente, a cada semana uma
nova verso lanada, novos recursos so adicionados, seria maravilhoso se a documentao fosse
atualizada com a mesma freqencia.
Infelizmente a atualizao da documentao no segue o mesmo ritmo (principalmente aqui no Brasil).
comum voc encontrar na Internet documentos da poca quando o Kernel estava na verso 2.0.20, 2.0.30, etc.
Estes documentos so teis para pessoas que usem as verses antigas do Kernel Linux, mas pode trazer
problemas ou causar m impresso do GNU/Linux em outras pessoas.
Por exemplo, voc pode esbarrar pela Internet com um documento que diz que o Kernel no tem suporte aos
"nomes extensos" da VFAT (Windows 95), isto verdade para Kernels anteriores ao 2.0.31, mas as verses mais
novas que a 2.0.31 reconhecem sem problemas os nomes extensos da partio Windows VFAT.
Uma pessoa desavisada pode ter receio de instalar o GNU/Linux em uma mesma mquina com Windows por
causa de um documento como este. Para evitar problemas deste tipo, verifique a data de atualizao do
documento, se verificar que o documento est obsoleto, contacte o autor original e pea para que ele retire
aquela seo na prxima verso que ser lanada.
O GNU/Linux considerado um sistema mais difcil do que os outros, mas isto porque ele requer que a pessoa
realmente aprenda e conhea computadores e seus perifricos antes de fazer qualquer coisa (principalmente se
voc um tcnico em manuteno, redes, instalaes, etc, e deseja oferecer suporte profissional a este sistema).
Voc conhecer mais sobre computadores, redes, hardware, software, discos, saber avaliar os problemas e a
buscar a melhor soluo, enfim as possibilidades de crescimento neste sistema operacional depende do
conhecimento, interesse e capacidade de cada um.
A interface grfica existe, mas os melhores recursos e flexibilidade esto na linha de comando. Voc pode ter
certeza que o aprendizado no GNU/Linux ajudar a ter sucesso e menos dificuldade em usar qualquer outro
sistema operacional. Pea ajuda a outros usurios do GNU/Linux quando estiver em dvida ou no souber fazer
alguma coisa no sistema. Voc pode entrar em contato diretamente com outros usurios ou atravs de listas de
discusso (veja Listas de discusso, Seo 30.12.2). Boa Sorte e bem vindo ao GNU/Linux!
20
1.4 - 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) o aviso de copyright do Kernel feito por Linus descreve detalhadamente
isto e mesmo ele est proibido de fazer a comercializao do sistema.
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.
Para rodar o Linux voc precisa, no mnimo, de um computador 386 SX com 2 MB de memria e 40MB
disponveis em seu disco rgido para uma instalao bsica e funcional.
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), 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-roms 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.
Hoje 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 tambm ajuda na coordenao entre os desenvolvedores.
O suporte ao sistema tambm se destaca como sendo mais eficiente e rpido do que qualquer programa
comercial disponvel no mercado. Existem centenas de consultores especializados espalhados ao redor do
mundo. 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. Para detalhes, veja Listas de discusso, Seo 30.12.2.
Muitos deles estavam cansados do excesso de propaganda (Marketing) e baixa qualidade de sistemas
comerciais existentes. Convivem sem nenhum tipo de conflito com outros sistemas operacionais (com o
DOS, Windows, OS/2) no mesmo computador.
Multitarefa real
Guia Foca GNU/Linux
21
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.
Proteo entre processos executados na memria RAM
Suporte ha mais de 63 terminais virtuais (consoles)
Modularizao - O GNU/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 6 Kb para a Placa de rede NE 2000, por exemplo)
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 386sx25
com 4MB de memria RAM (sem rodar o sistema grfico X, que recomendado 8MB de RAM). J pensou
no seu desempenho em um 486 ou Pentium.
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).
No requerida uma licena para seu uso. O GNU/Linux licenciado de acordo com os termos da
GNU.
Acessa sem problemas discos formatados pelo DOS, Windows, Novell, OS/2, NTFS, SunOS, Amiga,
Atari, Mac, etc.
Utiliza permisses de acesso a arquivos, diretrios e programas em execuo na memria RAM.
NO EXISTEM VIRUS NO LINUX! Em 9 anos de existncia, nunca foi registrado NENHUM tipo de
vrus neste sistema. Isto tudo devido a grande segurana oferecida pelas permisses de acesso do sistema
que funcionam inclusive durante a execuo de programas.
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.
Jogadores do Quake ou qualquer outro tipo de jogo via Internet preferem o GNU/Linux por causa da
maior velocidade do jogo em rede. fcil rodar um servidor Quake em seu computador e assim jogar contra
vrios adversrios via Internet.
Roda aplicaes DOS atravs do DOSEMU. Para se ter uma idia, possvel dar o boot em um sistema
DOS qualquer dentro dele e ao mesmo tempo usar a multitarefa deste sistema.
Roda aplicaes Windows atravs do WINE.
Suporte a dispositivos infravermelho.
Suporte a rede via rdio amador.
Suporte a dispositivos Plug-and-Play.
Suporte a dispositivos USB.
Vrios tipos de firewalls de alta qualidade e com grande poder de segurana de graa.
Roteamento esttico e dinmico de pacotes.
Ponte entre redes.
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 "mais computadores" virtualmente.
Os servidores WEB e FTP podem estar localizados no mesmo computador, mas o usurio que se
conecta tem a impresso que a rede possui servidores diferentes.
O sistema de arquivos usado pelo GNU/Linux (Ext2) 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 Web, E-mail, News, etc, com um baixo custo e alta performance. O
melhor servidor Web do mercado, o Apache, distribudo gratuitamente junto com o Linux. O mesmo
acontece com o Sendmail.
Por ser um sistema operacional de cdigo aberto, voc pode ver o que o cdigo fonte (o que foi digitado
22
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 10 arquiteturas diferentes (Intel, Macintosh, Alpha, Arm, etc).
Consultores tcnicos especializados no suporte ao sistema espalhados por todo o mundo.
Entre muitas outras caractersticas que voc descobrir durante o uso do sistema.
23
lista de consultores habilitados a dar suporte e assistncia a sistemas Debian ao redor do mundo na rea
consultores do site principal da distribuio.
ftp://ftp.debian.org - Endereo Ftp para download.
Conectiva
http://www.conectiva.com.br - So necessrias caractersticas desta distribuio.
ftp://ftp.conectiva.com.br - Ftp da distribuio Conectiva. Conectiva.
Libranet
http://www.libranet.com - Distribuio baseada na Debian GNU/Linux oferecendo as principais caractersticas
da distribuio Debian. So empacotados os aplicativos mais utilizados da Distribuio Debian em um nico
CD e voc pode ter um desktop completo sendo executado em pouco tempo.
As atualizaes de softwares so feitas gratuitamente. O sistema de gerenciamento de pacotes Debian permite o
gerenciamento de atualizaes automaticamente. Ftp da distribuio.
Slackware
http://www.slackware.com - So necessrias caractersticas desta distribuio.
ftp://ftp.slackware.com - Ftp da distribuio Slackware.
SuSE
http://www.suse.com - Distribuio comercial Alem com a coordenao sendo feita atravs dos processos
administrativos dos desenvolvedores e de seu brao norte-americano. O foco da Suse o usurio com
conhecimento tcnico no Linux (programador, administrador de rede, etc.) e no o usurio iniciante no Linux
(at a verso 6.2). A distribuio possui suporte ao idioma e teclado Portugus, mas no inclui (at a verso 6.2)
a documentao em Portugus. Eis a lista de idiomas suportados pela distribuio: English, Deutsch, Franais,
Italiano, Espaol, Portugus, Portugus Brasileiro, Polski, Cesky, Romanian, Slovensky, Indonsia. Possui
suporte as arquiteturas Intel x86 e Alpha. Sua instalao pode ser feita via CD-ROM ou CD-DVD ( a primeira
distribuio com instalao atravs de DVD). Uma mdia de 1500 programas acompanham a verso 6.3
distribudos em 6 CD-ROMs. O sistema de gerenciamento de pacotes o RPM padronizado. A seleo de
pacotes durante a instalao pode ser feita atravs da seleo do perfil de mquina (developer, estao kde,
grficos, estao gnome, servidor de rede, etc.) ou atravs da seleo individual de pacotes.
A atualizao da distribuio pode ser feita atravs do CD-ROM de uma nova verso ou baixando pacotes de
ftp://ftp.suse.com. Usurios registrados ganham direito a suporte de instalao via e-mail. A base de dados de
suporte tambm excelente e est disponvel na web para qualquer usurio independente de registro.
ftp://ftp.suse.com - Ftp da distribuio SuSE.
Red Hat
http://www.redhat.com - So necessrias caractersticas desta distribuio.
ftp://ftp.redhat.com - Ftp da distribuio Red Hat.
Para contato com os grupos de usurios que utilizam estas distribuies, veja a Listas de discusso, Seo
30.12.2.
24
Processamento de Dados o envio de dados ao computador que sero processados e tero um resultado de sada
til.
Veja tambm Dispositivos de Entrada e Sada, Seo 1.14.
1.8 - O computador
uma mquina eletrnica que processa e armazena os dados e pode executar diversos programas para realizar
uma srie de tarefas e assim atender a necessidade do seu utilizador. O computador no uma mquina
inteligente, ele apenas executa as instrues dos programas que foram escritos pelo programador.
Desktop - usado na posio horizontal (como o vdeo-cassete). Sua caracterstica que ocupa pouco
espao em uma mesa, pois pode ser colocado sob o monitor. A desvantagem que normalmente possui
pouco espao para a colocao de novas placas e perifricos. Outra desvantagem a dificuldade na
manuteno deste tipo de equipamento (hardware).
Mini-Torre - usado na posio vertical (torre). o modelo mais usado. Sua caracterstica o espao
interno para expanso e manipulao de perifricos. A desvantagem o espao ocupado em sua mesa.
Torre - Possui as mesmas caractersticas do Mini-torre, mas tem uma altura maior e mais espao para
colocao de novos perifricos. Muito usado em servidores de rede e placas que requerem uma melhor
refrigerao.
Boto RESET - Reinicia o computador. Quando o computador reiniciado, uma nova partida
feita ( como se ns ligssemos novamente o computador). Este boto um dos mais usados por
usurios Windows dentre os botes localizados no painel do microcomputador. No GNU/Linux
raramente usado (com menos freqencia que a tecla SCROLL LOCK). No GNU/Linux
recomendado se pressionar as teclas <CTRL> <ALT> <DEL> para reiniciar o computador e o
boto RESET somente em ltimo caso, pois o <CTRL> <ALT> <DEL> avisa ao Linux que o
usurio pediu para o sistema ser reiniciado assim ele poder salvar os arquivos, fechar programas e
tomar outras providncias antes de resetar o computador.
KEYLOCK - Permite ligar/desligar o teclado. acionado por uma chave e somente na posio
"cadeado aberto" permite a pessoa usar o teclado (usar o computador). Alguns computadores no
possuem KEYLOCK.
LED POWER - Led (normalmente verde) no painel do computador que quando aceso, indica que o
computador est ligado. O led um diodo emissor de luz (light emission diode) que emite luz fria.
LED TURBO - Led (normalmente amarelo) no painel do computador. Quando est aceso, indica que a
chave turbo est ligada e o computador funcionando a toda velocidade. Raramente as placas-me Pentium e
acima usam a chave turbo. Mesmo que exista no gabinete do micro, encontra-se desligada.
LED HDD - Led (normalmente vermelho) no painel do computador. Acende quando o disco rgido (ou
discos) do computador est sendo usado. Tambm acende quando uma unidade de CD-ROM est conectada
na placa-me e for usado.
25
CGA (Color Graphics Adapter) - Capacidade de mostrar 4 cores simultneas em modo grfico. Uma
das primeiras usadas em computadores PCs, com baixa qualidade de imagem, poucos programas
funcionavam em telas CGA, quase todos em modo texto. Ficou muito conhecida como "tela verde" embora
existem modelos CGA preto e branco.
Hrcules - Semelhante ao CGA. Pode mostrar 2 cores simultneas em modo grfico. A diferena que
apresenta uma melhor qualidade para a exibio de grficos mas por outro lado, uma grande variedade de
programas para monitores CGA no funcionam com monitores Hrcules por causa de seu modo de vdeo.
Tambm conhecido por sua imagem amarela. Dependendo da placa de vdeo, voc pode configurar um
monitor Hrcules monocromtico para trabalhar como CGA.
EGA (Enhanced Graphics Adapter) - Capacidade de mostrar 16 cores simultneas em modo grfico.
Razovel melhora da qualidade grfica, mais programas rodavam neste tipo de tela. Ficou mais conhecida
aps o lanamento dos computadores 286, mas no Brasil ficou pouco conhecida pois logo em seguida foi
lanada o padro VGA.
VGA (Video Graphics Array) - Capacidade de mostrar 256 cores simultneas. Boa qualidade grfica,
este modelo se mostrava capaz de rodar tanto programas texto como grficos com tima qualidade de
imagem. Se tornou o padro mnimo para rodar programas em modo grfico.
1.10 - Placa-Me
a placa principal do sistema onde esto localizados o processador, memria RAM, memria cache, BIOS,
CMOS, RTC, etc. A placa-me possui encaixes onde so inseridas placas de extenso (para aumentar as funes
do computador). Estes encaixes so chamados de "SLOTS".
RAM - Memria de Acesso Aleatrio (Randomic Access Memory). uma memria de armazenamento
temporrio dos programas e depende de uma fonte de energia para o armazenamento dos programas. uma
memria eletrnica muito rpida assim os programas de computador so executados nesta memria. Seu
tamanho medido em Kilobytes ou Megabytes. Os chips de memria RAM podem ser independentes
(usando circuitos integrados encaixados em soquetes na placa-me) ou agrupados em placas de 30 pinos, 72
pinos e 168 pinos. Quanto maior o tamanho da memria, mais espao o programa ter ao ser executado. O
tamanho de memria RAM pedido por cada programa varia, o GNU/Linux precisa de no mnimo 2 MB de
memria RAM para ser executado pelo processador.
BIOS - a memria ROM que contm as instrues bsicas para a inicializao do computador,
reconhecimento e ativao dos perifricos conectados placa-me. As BIOS mais modernas (a partir do
286) tambm trazem um programa que usado para configurar o computador modificando os valores
localizados na CMOS. As placas controladoras SCSI possuem sua prpria BIOS que identificam
automaticamente os perifricos conectados a ela. Os seguintes tipos de chips podem ser usados para gravar
a BIOS:
ROM - Memria somente para leitura (Read Only Memory). Somente pode ser lida. programada de
fbrica atravs de programao eltrica ou qumica.
PROM - Memria somente para leitura programvel (Programable Read Only Memory) idntica a
ROM mas que pode ser programada apenas uma vez por mquinas "Programadoras de PROM".
tambm chamada de MASK ROM.
EPROM - Memria semelhante a PROM, mas seu contedo pode ser apagado atravs de raios ultraGuia Foca GNU/Linux
26
violeta.
EEPROM - Memria semelhante a PROM, mas seu contedo pode ser apagado e regravado. Tambm
chamada de Flash.
CMOS - uma memria temporria alimentada por uma bateria onde so lidas/armazenadas as
configuraes do computador feitas pelo programa residente na BIOS.
1.12 - Discos
Os discos so memrias de armazenamento auxiliares. Entre os vrios tipos de discos existentes, posso citar os
flexveis, rgidos e CDs. Veja as explicaes sobre cada um deles abaixo.
27
1.12.3 - CD
um tipo de disco que permite o armazenamento de dados atravs de um compact disc e os dados so lidos
atravs de uma lente tica. A unidade de CD localizada no gabinete do computador e pode ler CDs de msicas,
arquivos, interativos, etc. Existem diversos tipos de CDs no mercado, entre eles:
CD-R - CD gravvel, pode ser gravado apenas uma vez. Possui sua capacidade de armazenamento entre
600MB e 740MB dependendo do formato de gravao usado. Usa um formato lido por todas as unidades de
CD-ROM disponveis no mercado.
CD-RW - CD regravvel, pode ser gravado vrias vezes, ter seus arquivos apagados, etc. Seu uso
semelhante ao de um disquete de alta capacidade. Possui capacidade de armazenamento de normalmente
640MB mas isto depende do fabricante. Usa um formato que lido apenas por unidades leitoras e
gravadoras multiseo.
No deixe seu computador em locais expostos a umidade ou sol. O mesmo se aplica a discos
magnticos, como os disquetes.
Limpe o gabinete e o monitor com um pano levemente umedecido em gua com sabo neutro ou
soluo de limpeza apropriada para micros. No use lcool, querosene, acetona ou qualquer outro tipo de
produto abrasivo. O uso de um destes produtos pode estragar o gabinete de seu computador e se um destes
produtos atingir a parte interna pode causar problemas nas placas ou at um incndio!
No retire o pino central da tomada do computador, ele no veio sobrando e tem utilidade. Este pino
ligado a carcaa do computador (chassis) e deve ser ligado ao terra de sua rede eltrica. As descargas
eltricas vindas da fonte e componentes do micro so feitas no chassis e se este pino for retirado voc
poder tomar choques ao tocar em alguma parte metlica do micro e queimar componentes sensveis como
o disco rgido, placa-me, etc. Se estiver em dvida consulte um eletricista.
No instale seu computador muito perto de campos magnticos como televisores, aparelhos de som,
motores, etc. Estes aparelhos geram rudos eltricos e/ou magnticos que podem prejudicar o bom
funcionamento de seu micro. OBS: As caixas de som de kits multimdia possuem os ms revestidos de
metais em seus auto-falantes para no causar nenhuma interferncia ao computador.
Antes de desligar seu computador, utilize o comando "shutdown -h now" para finalizar os programas,
salvar os dados e desmontar os sistemas de arquivos em seu sistema GNU/Linux. Para detalhes veja
Desligando o computador, Seo 1.16.
Entrada - Permite a comunicao do usurio com o computador. So dispositivos que enviam dados ao
computador para processamento. Exemplos: teclado, mouse, caneta tica, scanner. O dispositivo de entrada
padro (stdin) em sistemas GNU/Linux o teclado.
Sada - Permite a comunicao do computador com o usurio. So dispositivos que permitem o usurio
visualizar o resultado do processamento enviado ao computador. Exemplos: Monitor, Impressora, Plotter. O
dispositivo de sada padro (stdout) em sistemas GNU/Linux o monitor.
28
No GNU/Linux, o setor de boot normalmente criado por um gerenciador de inicializao (um programa que
permite escolher qual sistema operacional ser iniciado). Deste modo podemos usar mais de um sistema
operacional no mesmo computador (como o DOS e Linux). O gerenciador de inicializao mais usado em
sistemas GNU/Linux na plataforma Intel X86 o LILO.
Caso o ROM no encontre o sistema operacional em nenhum dos discos, ele pedir que seja inserido um
disquete contendo o Sistema Operacional para partida.
Salve seus trabalhos para no correr o risco de perde-los durante a reinicializao do sistema. O boto
reset do painel frontal do computador tambm reinicia o computador, mas de uma maneira mais forte pois
est ligado diretamente aos circuitos da placa-me e o sistema ser reiniciado imediatamente, no tendo
nenhuma chance de finalizar corretamente os programas, gravar os dados da memria no disco e desmontar
os sistemas de arquivos. O uso indevido da tecla reset pode causar corrompimentos em seus arquivos e
perdas.
Prefira o mtodo de reinicializao explicado acima e use o boto reset somente em ltimo caso.
29
Hardware - Significa parte fsica do computador (disquete, impressoras, monitores, placa-me, placa de
fax, discos rgidos, etc).
2.2 - Arquivos
onde gravamos nossos dados. Um arquivo pode conter um texto feito por ns, uma msica, programa,
planilha, etc. Cada arquivo deve ser identificado por um nome, assim ele pode ser encontrado facilmente quando
desejar usa-lo. Se estiver fazendo um trabalho de histria, nada melhor que salva-lo com o nome histria. Um
arquivo pode ser binrio ou texto (para detalhes veja Arquivo texto e binrio, Seo 2.2.3).
O GNU/Linux Case Sensitive, ou seja, ele diferencia letras maisculas e minsculas nos arquivos. O arquivo
histria completamente diferente de Histria. Esta regra tambm vlida para os comandos e diretrios.
Prefira, sempre que possvel, usar letras minsculas para identificar seus arquivos, pois quase todos os
comandos do sistema esto em minsculas.
Um arquivo oculto no GNU/Linux identificado por um "." no incio do nome (por exemplo, .bashrc).
Arquivos ocultos no aparecem em listagens normais de diretrios e deve ser usado o comando ls -a para
tambm listar arquivos ocultos.
Texto - Seu contedo compreendido pelas pessoas. Um arquivo texto pode ser uma carta, um script,
um programa de computador escrito pelo programador, arquivos de configurao, etc.
Guia Foca GNU/Linux
30
Binrio - Seu contedo somente pode ser entendido por computadores. Contm caracteres
incompreensveis para pessoas normais. Um arquivo binrio gerado atravs de um arquivo de programa
(formato texto) atravs de um processo chamado de compilao. Compilao basicamente a converso de
um programa em linguagem humana para a linguagem de mquina.
2.3 - Diretrio
Diretrio o local utilizado para armazenar conjuntos de arquivos para melhor organizao e localizao. O
diretrio, como o arquivo, tambm "case sensitive" (diretrio /teste completamente diferente do diretrio
/Teste). No podem existir dois arquivos com o mesmo nome em um diretrio, ou um sub-diretrio com um
mesmo nome de um arquivo em um mesmo diretrio. Um diretrio nos sistemas Linux/UNIX especificado
por uma "/" e no uma "\" como feito no DOS. Para detalhes sobre como criar um diretrio, veja o comando
mkdir (mkdir, Seo 8.4).
/bin
/sbin
/usr
/usr/local
/mnt
/tmp
/var
/home
A estrutura de diretrios tambm chamada de rvore de diretrios porque parecida com uma rvore de
cabea para baixo. Cada diretrio do sistema tem seus respectivos arquivos que so armazenados conforme
regras definidas pela FHS (FileSystem Hierarchy Standard - Hierarquia Padro do Sistema de Arquivos) verso
2.0, definindo que tipo de arquivo deve ser armazenado em cada diretrio.
31
/bin - Contm arquivos de programas do sistema que so usados com freqncia pelos usurios.
/dev - Contm arquivos usados para acessar dispositivos (perifricos) existentes no computador.
/lost+found - Local para a gravao de arquivos/diretrios recuperados pelo utilitrio fsck.ext2. Cada
partio possui seu prprio diretrio lost+found.
/proc - Sistema de arquivos do Kernel. Este diretrio no existe em seu disco rgido, ele colocado l
pelo Kernel e usado por diversos programas que fazem sua leitura, verificam configuraes do sistema ou
modificam o funcionamento de dispositivos do sistema atravs da alterao em seus arquivos.
Guia Foca GNU/Linux
32
/usr - Contm maior parte de seus programas. Normalmente acessvel somente como leitura.
/var - Contm maior parte dos arquivos que so gravados com freqncia pelos programas do sistema,
e-mails, spool de impressora, cache, etc.
2.5 - Comandos
Comandos so ordens que passamos ao sistema operacional para executar uma determinada tarefa. Cada
comando tem uma funo especfica. Devemos saber a funo de cada comando e escolher o mais adequado
para fazer o que desejamos, por exemplo:
ls - Mostra arquivos de diretrios
cd - Para mudar de diretrio
Este guia tem uma lista de vrios comandos organizados por categoria com a explicao sobre o seu
funcionamento e as opes aceitas (incluindo alguns exemplos). sempre usado um espao depois do comando
para separa-lo de uma opo ou parmetro que ser passado para o processamento. Um comando pode receber
opes e parmetros:
opes - As opes so usadas para controlar como o comando ser executado, por exemplo, para fazer
uma listagem mostrando o dono, grupo, tamanho dos arquivos, voc deve digitar ls -l. Opes podem ser
passadas ao comando atravs de um "-" ou "--":
- (hfen) - Opo identificada por uma letra. Podem ser usadas mais de uma opo com um nico hfen.
O comando ls -l -a a mesma coisa de ls -la
-- (dois hfens) - Opo identificada por um nome. O comando ls --all equivalente a ls -a..
Pode ser usado tanto "-" como "--", mas h casos em que somente "-" ou "--" est disponvel.
Parmetros - Um parmetro identifica o caminho, origem, destino, entrada padro ou sada padro
que ser passada ao comando. Se voc digitar: ls /usr/doc/copyright, /usr/doc/copyright ser o parmetro
passado ao comando ls, neste caso queremos que ele liste os arquivos do diretrio /usr/doc/copyright.
normal errar o nome de comandos, mas no se preocupe, quando isto acontecer o sistema mostrar a
mensagem command not found (comando no encontrado) e voltar ao aviso de comando. As mensagens de
erro no fazem nenhum mal ao seu sistema, somente dizem que algo deu errado para que voc possa corrigir e
entender o que aconteceu. No GNU/Linux, voc tem a possibilidade de criar comandos personalizados usando
outros comandos mais simples (isto ser visto mais adiante). Os comandos se encaixam em duas categorias:
Comandos Internos e Comandos Externos.
Por exemplo: "ls -la /usr/doc", ls o comando, -la a opo passada ao comando, e /usr/doc o diretrio
passado como parmetro ao comando ls.
33
So comandos que esto localizados no disco. Os comandos so procurados no disco usando o path e
executados assim que encontrados. Para detalhes veja path, Seo 7.2.
34
Pressione CTRL+U para apagar o que estiver esquerda do cursor. O contedo apagado copiado para
uso com CTRL+y.
Pressione CTRL+K para apagar o que estiver direita do cursor. O contedo apagado copiado para
uso com CTRL+y.
Pressione CTRL+L para limpar a tela e manter o texto que estiver sendo digitado na linha de comando
(parecido com o comando clear).
Pressione CTRL+Y para colocar o texto que foi apagado na posio atual do cursor.
No-interativa - So usados arquivos de comandos criados pelo usurio (scripts) para o computador
executar os comandos na ordem encontrada no arquivo. Neste modo, o computador executa os comandos do
arquivo um por um e dependendo do trmino do comando, o script pode checar qual ser o prximo
comando que ser executado e dar continuidade ao processamento. Este sistema til quando temos que
digitar por vrias vezes seguidas um mesmo comando ou para compilar algum programa complexo.
O shell Bash possui ainda outra caracterstica interessante: A completao dos nomes. Isto feito pressionandose a tecla TAB. Por exemplo, se digitar "ls tes" e pressionar <tab>, o bash localizar o arquivo que inicia com
"tes" e completar o restante do nome. Caso a completao de nomes encontre mais do que uma expresso que
satisfaa a pesquisa, ou nenhuma, emitido um beep. A completao de nomes funciona sem problemas para
comandos internos.
Exemplo: ech (pressione TAB), ls /vm(pressione TAB)
35
Um exemplo prtico: Se voc estiver usando o sistema no Terminal 1 com o nome "joao" e desejar entrar como
root para instalar algum programa, segure ALT enquanto pressiona <F2> para abrir o segundo terminal
virtual e faa o login como "root". Ser aberta uma nova seo para o usurio "root" e voc poder retornar a
hora que quiser para o primeiro terminal pressionando ALT+<F1>.
2.10 - Login
Login a entrada no sistema quando voc digita seu nome e senha. Por enquanto vou manter o seu suspense
sobre o que o logout.
2.11 - Logout
Logout a sada do sistema. A sada do sistema feita pelos comandos logout, exit, CTRL+D, ou quando o
sistema reiniciado ou desligado.
2.12 - 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 3 tipos de curingas no GNU/Linux:
ls teste?.new que lista todos os arquivos que comeam com teste, contenham qualquer caracter
na posio do curinga ? e terminem com .new.
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.
Guia Foca GNU/Linux
36
37
Captulo 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.
placa de som - para fazer o computador emitir sons, msicas, ligar um joystick, etc.
fax-modem - para enviar/receber fax, conectar-se a internet, BBS, 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.
38
01 - Teclado - Fixa
02 - 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.
12 - Interrupo normalmente livre para dispositivos. O mouse PS/2, quando presente, utiliza esta
interrupo.
14 - 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 ocorrem quando dois dispositivos disputam uma mesma IRQ, e normalmente ocasionam 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 so projetados para permitir o compartilhamento de uma mesma IRQ pois as manipulam de
forma diferente. 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).
IRQ 0 1 2 3 4 5 6 7 8
PRI
123456789
Guia Foca GNU/Linux
39
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.
2 - 8/16 bits
Normalmente usado pela controladora de disquetes ou controladoras de tapes.
3 - 8/16 bits
Usado pela porta paralela ECP, placa de som, controladoras de tapes, controladoras
SCSI ou controladora de scanner antiga.
616 bits
Placa de som (canal 16 bits), controladora de scanner ou placa de rede.
716 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 33MB/s (no modo 2) e 66MB/s (no modo 4 requer um cabo IDE com aterramento para evitar interferncias de rudos externos).
40
endereos. Minha 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 compartilhados
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.
Normalmente as chaves esto acessveis na parte metlica da placa (onde os hardwares so conectados) para
permitir a fcil mudana de configurao sem retirar a placa. ainda comum encontrar isto em algumas placas
de fax-modem.
41
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. A diferena em relao ao modo jumperless
que o mesmo programa de configurao Plug-and-Play permite configurar todas as placas Plug-and-Play e a
placa somente recebe os valores de IRQ, DMA e I/O aps ser ativada por este programa, normalmente o isapnp
no Linux. Isto significa que a placa no tem nenhum parmetro de IRQ, DMA e I/O na partida do sistema. Desta
forma, somente sistemas operacionais que possuem suporte ao Plug-and-Play (como o GNU/Linux, Windows)
ou programas acionadores PnP (como o ICU para o DOS) podem ativar e usar estes tipos de placas. Placas Plugand-Play permitem muita flexibilidade de configurao de dispositivos. O programa usado para a configurao
de placas Plug-and-Play no GNU/Linux o isapnp e a configurao de todas as placas Plug-and-Play so
definidas no arquivo /etc/isapnp.conf. Veja a prxima seo para entender como funciona o arquivo de
configurao isapnp.conf e assim poder ativar seu dispositivo Plug-and-Play.
42
43
# ANSI string -->IDE<-# Pela string acima sabemos que esta a configurao da IDE embutida na SB
# Hora de mltiplas escolhas, escolha apenas uma.
# Inicia funes dependentes: Prioridade Preferida
#
IRQ 10.
(INT 0 (IRQ 10 (MODE +E)))
# Descomentamos e aceitamos o valor acima, pois no entra em conflito com nenhum outro dispositivo do
# sistema.
#
Logical device decodes 16 bit IO address lines
#
Minimum IO base address 0x0168
#
Maximum IO base address 0x0168
(IO 0 (SIZE 8) (BASE 0x0168))
# Descomentamos e aceitamos o valor acima, pois no entra em conflito com nenhum outro dispositivo do
# sistema.
#
Logical device decodes 16 bit IO address lines
#
Minimum IO base address 0x036e
#
Maximum IO base address 0x036e
#
IO base alignment 1 bytes
#
Number of IO addresses required: 2
(IO 1 (SIZE 2) (BASE 0x036e))
# Descomentamos e aceitamos o valor acima, pois no entra em conflito com nenhum outro dispositivo do
#sistema.
# End dependent functions
(NAME "CTL0028/268565341[1]{IDE
}")
(ACT Y) # Descomentando esta linha, a placa IDE da Sound Blaster passar a
# funcionar como IDE quartenria (de acordo com os recursos passados)
))
#######################################
# Logical device id CTL7001
#
# Descomente os valores desejados abaixo, selecionando a configurao requerida.
# Note que o valor padro equivale ao primeiro parmetro disponvel (Minimum)
# "(CONFIGURE" inicia um bloco de configurao e finaliza com "(ACT Y)"
# Para ativar as configuraes selecionadas, basta descomentar a linha
# "#(ACT Y)" no final do bloco de configurao.
(CONFIGURE CTL0028/268565341 (LD 3
# Compatible device id PNPb02f
# ANSI string -->Game<-# Pela string acima sabemos que a Entrada para Joystick
# Logical device decodes 16 bit IO address lines
#
Minimum IO base address 0x0200
#
Maximum IO base address 0x0200
#
IO base alignment 1 bytes
#
Number of IO addresses required: 8
(IO 0 (SIZE 8) (BASE 0x0200))
(NAME "CTL0028/268565341[3]{Jogo
}")
(ACT Y) # Sem muitos comentrios... descomentamos a linha IO acima e
# ativamos a configurao (descomentando (ACT Y)). A diferena
# que especificamos o nome GAME para o recurso atravs da
# linha (NAME "CTL0028/268565341[3]{Jogo
}")
# Este nome ser mostrado quando o Joystick for ativado
))
# Returns all cards to the 'Wait for Key' state
(WAITFORKEY)
Note ainda que o isapnp.conf gerado atravs do pnpdump contm vrios tipos de prioridades de configurao
para o mesmo bloco de configurao e a prioridade que usamos acima foi priority acceptable para o bloco de
udio da Sound Blaster e priority preferred para a porta IDE e Joystick. Os tipos de prioridades disponveis so:
44
hardwares, pois lista somente uma configurao por recurso. Se a placa entrar em conflito com outras placas
usando priority preferred, tente a priority acceptable.
priority acceptable - Lista todas as configuraes aceitas pelo seu hardware. Ela minha opo
preferida, pois permite analisar dinamicamente todas as configuraes permitidas pelo hardware e escolher
qual a mais adequada para funcionar sem problemas no sistema.
priority functional - Pode conter 1 ou mais blocos de priority funcional por hardware. Note que alguns
recursos do hardware podem no estar disponvel neste tipo de prioridade. til para uso em casos de
conflito, quando o hardware pode ser colocado em funcionamento de forma alternativa ou parcial.
Aps a gravao do arquivo /etc/isapnp.conf, basta voc digitar isapnp /etc/isapnp.conf para ativar a
configurao dos dispositivos listados com as configuraes que voc escolheu. Se o isapnp lhe mostrar
mensagens de conflito ou qualquer outro problema, verifique as configuraes do hardware e modifique, se
necessrio. Depois execute novamente o /etc/isapnp.conf. Para detalhes sobre outros parmetros no explicados
aqui, veja a pgina de manual do isapnp.conf.
A maioria das distribuies GNU/Linux configura os dispositivos Plug-and-Play existentes neste arquivo
automaticamente na inicializao (como o caso da Debian e a Red Hat). Se este no for o seu caso, coloque a
linha isapnp /etc/isapnp.conf em um dos scripts de inicializao de sua distribuio.
3.6 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.
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.
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 revestidas 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:
Guia Foca GNU/Linux
45
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 Placas on-board / off-board, Seo
3.7 e Hardwares especficos ou "For Windows", Seo 3.8. 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, modems 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 Placas on-board / off-board, Seo 3.7 e Hardwares especficos
ou "For Windows", Seo 3.8.
46
marcando conexo a 57.600 ou mais tenha um desempenho de at duas vezes menor que um fax-modem
inteligente com chip de processamento prprio e UART (sem contar com os controles internos do modem, como
os protocolos de correo de erros, e sua extensa interface de programao via comandos). A economia, neste
caso, ser paga em sua conta telefnica. Outra vantagem de fax-modens inteligentes que os modelos atuais
vem com FlashBios o que significa que podem ser reprogramados facilmente para passar de 33.600 para 57.600
sem trocar a placa, ou aceitarem novas tendncias de tecnologia. Para detalhes veja Hardwares especficos ou
"For Windows", Seo 3.8.
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) tero um desempenho muito
melhor. Mas tambm existem placas embutidas que tem a mesma qualidade de placas separadas (como alguns
modelos de placas me que trazem a Sound Blaster embutida). 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.
47
Windows; voc pode rejeitar a licena e obter um desconto de seu vendedor. Veja
http://www.linuxmall.com/refund/ para detalhes. Se no estiver comprando um computador com GNU/Linux
instalado, ou at mesmo um computador usado, importante verificar se os hardwares existentes so suportados
pelo Kernel do GNU/Linux. Verifique se seu hardware listado no Hardware Compatibility HOWTO, na
documentao do cdigo fonte do Kernel no diretrio Documentation/sound ou consulte um tcnico de
GNU/Linux experiente. Deixe seu vendedor (se conhecer) saber que o que est comprando para um sistema
GNU/Linux. Desta forma isto servir de experincia para que ele poder recomendar o mesmo dispositivo a
outras pessoas que procuram bons dispositivos para sistemas GNU/Linux. Apie vendedores de hardwares
amigos do GNU/Linux.
3.10 - Aterramento
O aterramento correto da instalao eltrica essencial para garantir a proteo de seu microcomputador (e
outros aparelhos que requerem isto). Muitos usurios simplesmente removem o pino central da tomada de seu
computador, ou ligam o terra junto ao neutro da rede eltrica, isto errado e pode trazer srias consequncias. O
computador possui componentes sensveis que geram descargas estticas durante seu funcionamento (fonte,
discos, placas, etc), e estas descargas e rudos so absorvidas pelo sistema de aterramento (que ligado no
gabinete do computador e outros componentes internos). Sem aterramento o seu gabinete passar a dar choques
eltricos (teste com uma chave de testes, ela acender indicando a circulao de corrente eltrica) e a corrente
acumulada poder queimar componentes internos sensveis (placa-me, HD, memrias, placas expansoras).
A ligao do terra ao neutro da rede menos perigosa em condies normais, mas se um raio cair na rede
eltrica as conseqncias podero ser piores. Mesmo a rede de iluminao pblica tendo aterramento em cada
poste isto pode no ser o suficiente para reduzir a carga de um raio que caia nas proximidades.
O sistema de aterramento residencial para PC deve ser feito com uma estaca de cobre com no mnimo 2 metros
de altura. O cobre um timo condutor de eletricidade, perdendo somente para a prata (veja Condutores de
eletricidade, Seo 3.10.1). Cave um buraco no solo com a ajuda de uma cavadeira ( nunca ouviu falar nisso?,
se estiver com dificuldades para cavar por causa de solo ressecado, molhe a terra para facilitar as coisas. Com a
estaca enterrada, prenda um cabo eltrico em sua extremidade. O ideal para testar este sistema de aterramento
seria ter um equipamento chamado terrmetro (medidor de aterramento), mas utilizaremos 2 alternativas mais
acessveis:
Ligue uma lmpada incandescente de 100W em um bocal com uma ponta ligada na extremidade
positiva da rede eltrica (fase) e a outra ponta no fio da barra de cobre. O aterramento est bem feito quando
a lmpada acender quase em sua potncia total. Ligue o fio do aterramento no pino central da tomada de seu
computador.
OBS: Cuidado para no tomar um baita choque durante esta operao que em alguns casos pode ser fatal.
Utilize sandalhas ou sapatos de borracha (materiais isolantes) isto evitar tomar o choque caso acontea.
Ligue a outra extremidade do fio que vem da barra de cobre no pino central da tomada de seu
computador e ligue-o. Consiga um multmetro (analgico ou digital) e coloque para medir em escala DC
10V. Coloque a ponta negativa (preta) no neutro da rede eltrica e encoste a ponta positiva (vermelha) no
gabinete de seu computador. O aterramento estar aprovado caso o valor medido seja de no mximo 2.5
volts.
Caso algo ocorra errado, cheque novamente os passos acima. Se desconfiar das condies do solo, use uma
barra maior ou ligue 2 barras de cobre juntas.
Prata
Cobre
Ouro
Alumnio
Magnsio
Tungstnio
Ferro
Estanho
Chumbo
Mercrio
Guia Foca GNU/Linux
48
3.12.2 - Spindles
Em sistemas que utilizam um disco rgido dedicado para fazer swap, a ligao deste em uma placa controladora
independente aumentar bastante a performance do sistema, pois enquanto o disco principal ligado em sua
controladora estiver fazendo uma operao de leitura, o outro poder estar fazendo sua operao de swap
simultneamente. O mesmo no acontece quando dois discos rgidos IDE esto ligados no mesmo cabo (isto no
acontece no SCSI).
49
/dev/hdb:
multcount = 0 (off)
I/O support = 0 (16-bit)
unmaskirq = 0 (off)
using_dma = 1 (off)
keepsettings = 0 (off)
nowerr
= 0 (off)
readonly = 0 (off)
readahead = 8 (on)
Imediatamente podemos modificar os seguintes campos para melhorar sensvelmente o desempenho do disco
rgido:
multcount - Pode ser modificada com -m[num] e especifica o nmero mximo de setores que sero
acessados de uma s vez na operao de leitura da unidade. O valor mximo recomendado igual a
capacidade mxima suportada pelo seu disco rgido, que pode ser obtida com o comando: hdparm -i
/dev/hda
Model=TS6324A2, FwRev=.340 , SerialNo=A99B99JA
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
RawCHS=13228/15/63, TrkSize=0, SectSize=0, ECCbytes=0
BuffType=unknown, BuffSize=256kB, MaxMultSect=16, MultSect=16
CurCHS=13228/15/63, CurSects=12500460, LBA=yes, LBAsects=12500460
IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2 udma0 udma1 *udma2 udma3 udma4 udma5
O campo MaxMultSect=16 indica o valor de 16 como mximo suportado em uma nica operao pela
unidade. Valores maiores podero ser especificados mas no traro aumento de performance. Para discos
rgidos Western Digital recomendvel deixar este valor como 0, porque eles possuem um mecanismo
embutido para leitura de setores. Para experimentar valores fora dos padres, coloque seu sistema de
arquivos como somente leitura para no perder dados caso algo saia errado.
Note que o comando hdparm -i mostra alguns detalhes interessantes sobre a configurao do disco rgido e
modos de operao suportados.
I/O support - Modificado com -c[num]. O nmero especificado pode ser 0 para transferncia de dados
em 16 bits, 1 para 32 bits e 3 para 32 bits com uma seqencia especial de sincronismo (alguns chips
requerem esta ao invs da 1).
using_dma - Modificado com -d[num]. Habilita ou no o uso de DMA para a transferncia de dados do
HD, ativando o controle de algumas operaes pelo chipset livrando a CPU para processamento. 0 desativa
DMA e 1 ativa. Note que nem todos os chipsets aceitam esta operao.
A ativao de dma pode ser feita automaticamente na recompilao do Kernel ou especificando o parmetro
ideX=dma (X o nmero da controladora IDE) na linha de comando de boot: ou no arquivo /etc/lilo.conf.
readonly - Modificado com -r[num]. Coloca o disco em modo somente leitura. A montagem da partio
com a opo ro no /etc/fstab preferida.
readahead - Modificado com -a[num]. Configura o nmero de blocos que sero lidos antecipadamente
no sistema de arquivos (por padro usado 8 blocos - 4 Kb). Este nmero poder ser modificado para se
adequar a utilizao do computador. Em sistemas com muita procura de arquivos pequenos (servidores
web), um valor pequeno (como o padro) recomendvel. Se a mquina um servidor de arquivos
dedicado, um valor maior trar maiores benefcios.
Veja mais detalhes sobre o comando hdparm em sua pgina de manual.
OBS: Se o Linux resetar o disco rgido, a maioria das configuraes retornaro ao seu valor padro. Isto ocorre
devido a opes mau utilizadas no hdparm, no suportadas pelo disco rgido ou por problemas no
HD/controladora. Exemplos:
# Ajusta o nmero de setores simultneos para 16 e o modo de transferncia para
# 32 bits no disco rgido /dev/hda
hdparm -c1 -m16 /dev/hda
# Programa a leitura adiante do HD para 64 blocos (32kb), o modo de transferncia
# para 32 bits, usar DMA, e 16 setores simultneos.
Guia Foca GNU/Linux
50
atime - Data/Hora de acesso: atualizado toda vez que o arquivo lido ou executado.
mtime - Data/Hora da modificao, atualizado sempre que alguma modificao ocorre no arquivo ou no
contedo do diretrio. Esta mais interessante que a ctime principalmente quando temos hardlinks.
SCSI I - Usa um cabo de 25 condutores para a ligao de perifricos. Normalmente usado em scanners,
impressoras e outros dispositivos. A taxa de transferncia no muito alta se comparado aos outros tipos
SCSI.
SCSI II - Tambm chamado de Fast SCSI. Usa um cabo de 50 condutores para a ligao de perifricos.
Permite que sejam ligados at 7 perifricos em uma mesma controladora (veja Configurando uma SCSI ID e
terminao, Seo 3.13.1). o mais comum encontrado hoje em dia, mas vem perdendo espao aos poucos
para a tecnologia SCSI III.
SCSI III - Tambm chamado de Fast SCSI SE ou LVD. Usa um cabo de 68 condutores para ligao de
perifricos (veja Configurando uma SCSI ID e terminao, Seo 3.13.1). Permite que sejam ligados at 16
perifricos em uma mesma controladora.
Um cabo SCSI pode ter o comprimento de at 5 metros de extenso. Os perifricos SCSI so identificados
atravs de nmeros chamados de identificador SCSI ou SCSI ID. Estes nmeros vo de 0 a 6 para o padro SCSI
2 e de 0 a 15 para o padro SCSI 3.
Placas SCSI como a Adaptec UV 19160 permitem a ligao de perifricos SCSI 2 e SCSI 3 na mesma placa com
a taxa de transmisso de 160 MB/s por perifrico, alm de possuir um "setup" prprio para configurar as opes
dos dispositivos da placa e a operao da prpria. A tecnologia SCSI algo realmente rpido para a
transferncia de dados e cara tambm, seu uso muito recomendado em servidores crticos. Os prprios
dispositivos SCSI como discos rgidos, gravadores de CD, cd-rom, etc. so construdos de tal forma que tem a
durabilidade maior que perifricos comuns, garantindo a mxima confiana para operao/armazenamento de
dados em longos perodos de operao.
51
|oooooo
|oooooo
|124T
+--------------------------------------------Se voc deixar os 3 jumpers da SCSI ID abertos, o dispositivo usar a SCSI ID 0. Colocando o jumper na
posio 1, a unidade ter a SCSI ID 1. Se voc colocar um jumper na posio 1 e outro na 4, a unidade ser
identificada pela SCSI ID 5 (quando mais de um jumper ligado, os nmeros sero somados).
A terminao SCSI funciona de forma semelhante a de uma rede BNC, o ltimo perifrico do cabo SCSI deve
ter o jumper de terminao colocado para indicar que o ltimo perifrico do cabo e evitar deflexo de dados.
Algumas placas SCSI modernas ajustam automaticamente a terminao de perifricos sem necessidade de
ajustar manualmente.
52
Linux
--------------/dev/fd0
/dev/fd1
/dev/hda1
/dev/lp0
/dev/lp1
/dev/lp2
/dev/ttyS0
/dev/ttyS1
/dev/ttyS2
/dev/ttyS3
O recurso multiusurio lhe permite acessar o sistema de qualquer lugar sem instalar nenhum driver, ou programa
gigante, apenas atravs de conexes TCP/IP, como a Internet. Tambm possvel acessar o sistema localmente
com vrios usurios (cada um executando tarefas completamente independente dos outros) atravs dos terminais
virtuais. Faa um teste: pressione ao mesmo tempo a tecla <ALT> e <F2> e voc ser levado para o segundo
terminal virtual, pressione novamente <ALT> e <F1> para retornar ao anterior.
Para reiniciar o computador, voc pode pressionar <CTRL>+<ALT>+<DEL> (como usurio root) ou digitar
shudown -r now. Veja Reiniciando o computador, Seo 1.17 para detalhes .
Para desligar o computador, digite shutdown -h now e espere o aparecimento da mensagem Power Down para
apertar o boto LIGA/DESLIGA do computador. Veja Desligando o computador, Seo 1.16 para detalhes.
Guia Foca GNU/Linux
53
Linux
-----------clear
ls la
Diferenas
-------------------------------------------------Sem diferenas.
A listagem no Linux possui mais campos (as permisses de acesso) e o total de
espao ocupado no diretrio e livre no disco deve ser visto separadamente usando o
comando du e df. Permite tambm listar o contedo de diversos diretrios com um s
comando (ls /bin /sbin /...).
dir/s
ls lR
Sem diferenas.
dir/od
ls tr
Sem diferenas.
cd
cd
Poucas diferenas. cd sem parmetros retorna ao diretrio de usurio e tambm
permite o uso de "cd -" para retornar ao diretrio anteriormente acessado.
del
rm
Poucas diferenas. O rm do Linux permite especificar diversos arquivos que sero
apagados (rm arquivo1 arquivo2 arquivo3). Para ser mostrados os arquivos apagados,
deve-se especificar o parmetro "-v" ao comando, e "-i" para pedir a confirmao ao
apagar arquivos.
md
mkdir
Uma s diferena: No Linux permite que vrios diretrios sejam criados de uma s
vez (mkdir /tmp/a /tmp/b...).
copy
cp
Poucas diferenas. Para serem mostrados os arquivos enquanto esto sendo copiados,
deve-se usar a opo "-v", e para que ele pergunte se deseja substituir um arquivo j
existente, deve-se usar a opo "-i".
echo
echo
Sem diferenas.
Path
path
No Linux deve ser usado ":" para separar os diretrios e usar o comando "export
PATH=caminho1:/caminho2:/caminho3:" para definir a varivel de ambiente PATH.
O path atual pode ser visualizado atravs do comando "echo $PATH".
ren
mv
Poucas diferenas. No Linux no possvel renomear vrios arquivos de uma s vez
(como "ren *.txt *.bak"). necessrio usar um shell script para fazer isto.
type
cat
Sem diferenas.
ver
uname a
Poucas diferenas (o uname tem algumas opes a mais).
date
date
No Linux mostra/modifica a data e hora do sistema.
time
date
No Linux mostra/modifica a data e hora do sistema.
attrib
chmod
O chmod possui mais opes por tratar as permisses de acesso de leitura, gravao e
execuo para donos, grupos e outros usurios.
scandisk fsck.ext2
O fsck mais rpido e extensivo na checagem.
doskey
----A edio de teclas feita automaticamente pelo bash.
edit
vi, ae
O edit mais fcil de usar, mas usurio emacs experientes apreciaro os recursos do
vi ou o emacs (programado em lisp).
fdisk
fdisk, cfdisk Os particionadores do Linux trabalham com praticamente todos os tipos de parties
de diversos sistemas de arquivos diferentes.
format
mkfs.ext2.
Poucas diferenas, precisa apenas que seja especificado o dispositivo a ser formatado
como "/dev/fd0" ou "/dev/hda10" (o tipo de identificao usada no Linux), ao invs
de "A:" ou "C:".
help
man, info
Sem diferenas.
interlnk
plip
O plip do Linux permite que sejam montadas redes reais a partir de uma conexo via
cabo paralelo ou serial. A mquina pode fazer tudo o que poderia fazer conectada em
uma rede (na realidade uma rede e usa o TCP/IP como protocolo) inclusive navegar
na Internet, enviar e-mails, irc, etc.
intersvr
plip
Mesmo que o acima.
keyb
loadkeys
Sem diferenas (somente que a posio das teclas do teclado pode ser editada.
Label
e2label
necessrio especificar a partio que ter o nome modificado.
mem cat/proc/meminfo Mostra detalhes sobre a quantidade de dados top em buffers, cache e memria virtual
Guia Foca GNU/Linux
54
more
more, less
move
mv
scan
-----
backup
tar
lpr
vol
xcopy
e2label
cp R
(disco).
O more equivalente a ambos os sistemas, mas o less permite que sejam usadas as
setas para cima e para baixo, o que torna a leitura do texto muito mais agradvel.
Poucas diferenas. Para ser mostrados os arquivos enquanto esto sendo movidos,
deve-se usar a opo "-v", e para que ele pergunte se deseja substituir um arquivo j
existente deve-se usar a opo "-i".
No existem vrus no Linux devido as restries do usurio durante execuo de
programas.
O tar permite o uso de compactao (atravs do parmetro -z) e tem um melhor
esquema de recuperao de arquivos corrompidos que j segue evoluindo h 30 anos
em sistemas UNIX.
O lpr mais rpido e permite at mesmo impresses de grficos ou arquivos
compactados diretamente caso seja usado o programa magicfilter. o programa de
spool de impressoras usados no sistema Linux/Unix.
Sem diferenas.
Pouca diferena, requer que seja usado a opo "-v" para mostrar os arquivos que
esto sendo copiados e "-i" para pedir confirmao de substituio de arquivos.
mkmanifest - Cria um shell script para restaurar nomes extensos usados no UNIX
55
voc a deciso final de migrar ou no. Lembrando que possvel usar o Windows, OS/2, DOS, OS/2 e
GNU/Linux no mesmo disco rgido sem qualquer tipo de conflito. A listagem abaixo pode estar incompleta, se
encontrar algum programa que no esteja listado aqui, por favor entre em contato pelo E-Mail
gleydson@escelsanet.com.br para inclui-lo na listagem.
DOS/Windows
----------------MS Word
Linux
----------Star Office
MS Excel
MS PowerPoint
MS Access
Star Office
Star Office
SQL, Oracle
MS Outlook
Internet Explorer
Netscape, Arena
ICQ
LICQ
Photo Shop
The Gimp
media player
xanim, xplaymidi
Agente de Sistema
cron
Mixer
Bate-Papo
aumix, cam
talk, ytalk
MIRC
Bitchx, xchat
IIS, Pers.Web Server Apache
Exchange,NT Mail
Sendmail, Exim
Wingate,MS Proxy
Squid, Apache,
Diferenas
------------------O Star Office possui todos os recursos do Word alm de ter a
interface grfica igual, menus e teclas de atalho idnticas ao Word,
o que facilita a migrao. Tambm trabalha com arquivos no
formato Word97/2000 e no vulnervel a vrus de macro.
distribudo gratuitamente e no requer pagamento de licena
podendo ser instalado em quantos computadores voc quiser (tanto
domsticos como de empresas).
Mesmos pontos do acima e tambm abre arquivos Excel97/2000.
Mesmos pontos do acima.
Existem diversas ferramentas de conceito para bancos de dados
corporativos no Linux. Todos produtos compatveis com outras
plataformas.
Centenas de programas de e-mail tanto em modo texto como em
modo grfico. Instale, avalie e escolha.
Os trs primeiros para modo Mozilla, lynx grfico e o lynx opera
em modo texto.
Muito prtico e fcil de operar. Possibilita a mudana completa da
aparncia do programa atravs de skins. A organizao dos menus
deste programa outro ponto de destaque.
Fcil de usar, possui muitos scripts que permitem a criao rpida e
fcil de qualquer tipo de efeito profissional pelo usurio mais leigo.
Acompanha centenas de efeitos especiais e um belo manual em
html com muitas fotos (aproximadamente 20MB) que mostra o que
possvel se fazer com ele.
Corel Photo-Paint para Linux.
Possui todos os recursos do programa para Windows alm de
filtros que permite acrescentar efeitos digitais da msica (em tempo
real), eco, etc.
Programas para execuo de xwave, arquivos de msica e videos
multimdia. Existem outras alternativas, a escolha depende de seu
gosto e da sofisticao do programa.
Pouca diferena. O cron d mais liberdade na programao de
tarefas a serem executadas pelo Linux.
Sem diferenas.
O talk e o ytalk permitem a conversa de dois usurios no s
atravs de uma rede local, mas de qualquer parte do planeta, pois
usa o protocolo TCP/IP para comunicao. Muito til e fcil de
usar.
Clientes IRC para Linux
O apache o servidor WEB mais usado no mundo (algo em torno
de 75% das empresas), muito rpido e flexvel de se configurar.
S o Sendmail tem uma base Qmail instalada de mais de 70% no
mundo. O Sendmail o mais rpido e o Qmail o mais seguro.
Todos (especialmente o Sendmail) tem como caracterstica a
flexibilidade de configurao.
A migrao de um servidor proxy ip masquerade, para Linux
requer o uso de nat, diald, vrios programas separados para exim,
para que se tenha um resultado profissional. Isto pode parecer
incmodo no comeo, mas voc logo perceber que a diviso de
servios entre programas mais produtivo. Quando desejar
substituir um deles, o funcionamento dos outros no ser afetado.
No vou entrar em detalhes sobre os programas citados ao lado,
mas o squid um servidor proxy Web (HTTP e HTTPS) completo
56
MS Frontpage
MS Winsock
ViruScan, TBAV
57
5.1 - Parties
So divises existentes no disco rgido que marcam onde comea e onde termina um sistema de arquivos. Por
causa destas divises, ns podemos usar mais de um sistema operacional no mesmo computador (como o
GNU/Linux, Windows e DOS), ou dividir o disco rgido em uma ou mais partes para ser usado por um nico
sistema operacional. Para gravar os dados, o disco rgido deve ser primeiro particionado (usando o fdisk),
escolher o tipo da partio (Linux Native, Linux Swap, etc) e depois aquela partio deve ser formatada com o
mkfs.ext2 (veja Partio EXT2 (Linux Native), Seo 5.3). Aps criada e formatada, a partio ser identificada
como um dispositivo no diretrio /dev (veja Identificao de discos e parties em sistemas Linux, Seo 5.8) .
e dever ser montada (Montando (acessando) uma partio de disco, Seo 5.9) para permitir seu uso no
sistema. Uma partio de disco no interfere em outras parties existentes, por este motivo possvel usar o
Windows, GNU/Linux e qualquer outro sistema operacional no mesmo disco. Para escolher qual deles ser
inicializado, veja Gerenciadores de Partida (boot loaders), Captulo 6.
Para particionar (dividir) o disco rgido em uma ou mais partes necessrio o uso de um programa de
particionamento. Os programas mais conhecidos para particionamento de discos no GNU/Linux so fdisk,
cfdisk e o Disk Druid.
Lembre-se: Quando se apaga uma partio, voc estar apagando todos os arquivos existentes nela.
A partio do tipo Linux Native (Tipo 83) a usada para armazenar arquivos no GNU/Linux. Para detalhes veja
Partio EXT2 (Linux Native), Seo 5.3.
A partio do tipo Linux Swap (Tipo 82) usada como memria virtual. Para detalhes veja Partio Linux Swap
(Memria Virtual), Seo 5.4.
Em sistemas novos, comum encontrar o Windows instalado em uma partio que consome todo o espao do
disco rgido. Uma soluo para instalar o GNU/Linux apagar a partio Windows e criar trs com tamanhos
menores (uma para o Windows, uma para o GNU/Linux e outra para a memria virtual do Linux (SWAP). Ou
criar apenas 2 se voc no quiser mais saber do Windows.
A outra usar o programa FIPS para diminuir o tamanho da partio Windows (usando o espao livre existente)
e criar as 2 parties requeridas pelo GNU/Linux no espao restante, sem apagar o Windows. Esta tcnica
tambm chamada de reparticionamento no destrutivo (e o outro obviamente reparticionamento destrutivo).
Caso decida usar o FIPS, pegue a verso 2.0 ou superior do programa, pois funciona nativamente com sistema
de arquivos FAT32 (voc o encontra no site de sua distribuio GNU/Linux).
Para mais detalhes sobre discos, parties ou como particionar seu disco, veja algum bom documento sobre
particionamento (como a pgina de manual e documentao do fdisk, cfdisk ou Disk Druid).
Ext2 - Usado em parties Linux Nativas para o armazenamento de arquivos. identificado pelo cdigo
83. Seu tamanho deve ser o suficiente para acomodar todo os arquivos e programas que deseja instalar no
GNU/Linux (voc encontra isto no manual de sua distribuio). Para detalhes veja Partio EXT2 (Linux
Native), Seo 5.3.
Swap - Usado em parties Linux Swap para oferecer memria virtual ao sistema. Note que altamente
recomendado o uso de uma partio swap no sistema (principalmente se voc tiver menos que 16MB de
memria RAM). Este tipo de partio identificado pelo cdigo 82. Para detalhes veja Partio Linux Swap
(Memria Virtual), Seo 5.4.
proc - Sistema de arquivos do Kernel (veja O sistema de Arquivos /proc, Seo 5.5).
58
59
5.4 - Journaling
O sistema de journaling grava qualquer operao que ser feita no disco em uma rea especial chamada
"journal", assim se acontecer algum problema durante a operao de disco, ele pode voltar ao estado anterior do
arquivo, ou finalizar a operao.
Desta forma, o journal acrescenta ao sistema de arquivos o suporte a alta disponibilidade e maior tolerncia a
falhas. Aps uma falha de energia, por exemplo, o journal analisado durante a montagem do sistema de
arquivos e todas as operaes que estavam sendo feitas no disco so verificadas. Dependendo do estado da
operao, elas podem ser desfeitas ou finalizadas. O retorno do servidor praticamente imediato (sem precisar a
enorme espera da execuo do fsck em parties maiores que 10Gb), garantindo o rpido retorno dos servios
da mquina.
Outra situao que pode ser evitada com inconsistncias no sistema de arquivos do servidor aps a situao
acima, fazendo o servidor ficar em estado 'single user' e esperando pela interveno do administrador. Este
captulo do guia explica a utilizao de journaling usando o sistema de arquivos ext3 (veja Partio EXT3
(Linux Native), Seo 5.12 para detalhes).
60
-s [num] - Especifica o tamanho do arquivo de journal em blocos. O valor mnimo 513 e o mximo
32749. O valor padro 8193.
61
-d - Ativa a depurao durante a execuo do mkreiserfs.
Agora para acessar a partio dever ser usado o comando:
mount /dev/hda? /mnt -t reiserfs
Para mais detalhes veja Montando (acessando) uma partio de disco, Seo 5.12.
Note que possvel criar um sistema de arquivos no disco rgido sem criar uma partio usando /dev/hda,
/dev/hdb, etc. usando a opo f.
EVITE FAZER ISSO! Como no estar criando uma partio, o disco estar divido de maneira incorreta, voc
no poder apagar o sistema de arquivos completamente do disco caso precise (lembre-se que voc no criou
uma partio), e a partio possui uma assinatura apropriada que identifica o sistema de arquivos.
Formate o arquivo com mkreiserfs -f /tmp/arquivo-reiserfs. Ele primeiro dir que o arquivo arquivoreiserfs no um dispositivo de bloco especial (uma partio de disco) e perguntar se deve continuar,
responda com y.
O sistema de arquivos reiserfs ser criado em /tmp/arquivo-reiserfs e estar pronto para ser usado.
nome - Nome que ser dado a partio (mximo de 16 caracteres). Caso seja usado um nome de volume
com espaos, ele dever ser colocado entre "aspas". Se no for especificado um nome, o nome atual da
partio ser mostrado.
O nome da partio tambm pode ser visualizado atravs do comando dumpe2fs (veja dumpe2fs, Seo 5.3.5).
Exemplo: e2label /dev/sda1 FocaLinux, e2label /dev/sda1 "Foca Linux"
62
Exemplo: cd /tmp;mklost+found;ls -a
5.6.5 - dumpe2fs
Mostra detalhes sobre uma partio Linux.
dumpe2fs [opes] [partio]
Onde:
partio - Identificao da partio que ser usada.
Opes:
63
Com a partio swap formatada, use o comando: swapon /dev/hda? para ativar a partio swap (lembre-se de
substituir ? pelo nmero de sua partio swap).
Observaes:
Os Kernels do GNU/Linux 2.0.xx e anteriores somente suportam parties swap de at 128MB. Caso precise de
mais que isso, crie mais parties swap ou atualize seu sistema para trabalhar com o Kernel 2.2.xx
Se utilizar mais que 1 partio swap, pode ser til o uso da opo -p NUM que especifica a prioridade em que a
partio swap ser usada. Pode ser usado um valor de prioridade entre 0 e 32767, parties com nmero maior
sero usadas primeiro, sendo que na montagem automtica atravs de "mount -a" podem ser designados
nmeros negativos.
Procure usar o nmero maior para parties mais rpidas (elas sero acessadas primeiro) e nmeros maiores
para parties mais lentas. Caso precise desativar a partio swap, use o comando: swapoff /dev/hda?.
Podem ser usadas parties de troca e arquivos de troca juntos, sem problemas.
Caso seu sistema j tenha uma partio de swap, recomendvel deixar o acesso ao arquivo
swap com uma prioridade menor (usando a opo -p NUM com o comando swapon).
cmdline - O que foi digitado para iniciar o processo (pode tambm ter sido iniciado atravs de um
programa ou pelo Kernel).
status - Dados sobre a execuo do processo (PID, status da execuo do programa, memria
Guia Foca GNU/Linux
64
cmdline - Linha de comando usada para inicializar o Kernel GNU/Linux. Os parmetros so passados
atravs do programa de inicializao, como o LILO, LOADLIN, SYSLINUX.
kcore - Este arquivo corresponde a toda a memria RAM em seu sistema. Seu tamanho
correspondente a memria RAM do micro
kmsg - Permite visualizar mensagens do Kernel (use o comando cat < kmsg para visualiza-lo e
pressione <CTRL>+<C> para cancelar
-v [num] - Especifica o nvel de detalhes que sero exibidos durante a formatao do disquete. O nvel 1
Guia Foca GNU/Linux
65
especifica um ponto mostrado na tela para cada trilha formatada. Veja a pgina de manual do superformat
para detalhes.
-superverify - Verifica primeiro se a trilha pode ser lida antes de formata-la. Este o padro.
--dosverify, -B - Verifica o disquete usando o utilitrio mbadblocks. Usando esta opo, as trilhas
defeituosas encontradas sero automaticamente marcadas para no serem utilizadas.
superformat /dev/fd0 - Formata o disquete na primeira unidade de disquetes usando os valores padres.
superformat /dev/fd0 dd - Faz a mesma coisa que o acima, mas assume que o disquete de dupla
densidade (720Kb).
66
/dev/hda - Primeiro disco rgido na primeira controladora IDE do micro (primary master).
/dev/hdb - Segundo disco rgido na primeira controladora IDE do micro (primary slave).
-t [tipo] - Tipo do sistema de arquivos usado pelo dispositivo. So aceitos os sistemas de arquivos:
ext2 - Para parties GNU/Linux.
vfat - Para parties Windows 95 que utilizam nomes extensos de arquivos e diretrios.
msdos - Para parties DOS normais.
iso9660 - Para montar unidades de CD-ROM. o padro.
umsdos - Para montar uma partio DOS com recursos de parties EXT2, como permisses de acesso,
links, etc. Para mais detalhes sobre opes usadas com cada sistema de arquivos, veja a pgina de
manual mount.
67
5.12.1 - fstab
O arquivo /etc/fstab permite que as parties do sistema sejam montadas facilmente especificando somente o
dispositivo ou o ponto de montagem. Este arquivo contm parmetros sobre as parties que so lidos pelo
comando mount. Cada linha deste arquivo contm a partio que desejamos montar, o ponto de montagem, o
sistema de arquivos usado pela partio e outras opes. fstab tem a seguinte forma:
Sistema_de_arquivos
Ponto_de_Montagem Tipo Opcoes
dump ordem
/dev/hda1
/
ext2
defaults
0
1
/dev/hda2
/boot
ext2
defaults
0
2
/dev/hda3
/dos
msdos defaults,noauto,rw
0
0
/dev/hdg
/cdrom
iso9660 defaults,noauto
0
0
Onde:
Tipo - Tipo de sistema de arquivos usado na partio que ser montada. Para parties GNU/Linux use
ext2, para parties DOS (sem nomes extensos de arquivos) use msdos, para parties Win 95 (com suporte
a nomes extensos de arquivos) use vfat, para unidades de CD-ROM use iso9660.
Ordem - Define a ordem que os sistemas de arquivos sero verificados na inicializao do sistema. Se
usar 0, o sistema de arquivos no verificado. O sistema de arquivos que dever ser verificado primeiro o
raz "/" (a no ser que voc tenha um sistema de arquivos de outro tipo que no montado dentro do
diretrio raz e possui seu suporte embutido no Kernel) .
Aps configurar o /etc/fstab, basta digitar o comando mount /dev/hdg ou mount /cdrom para que a unidade de
CD-ROM seja montada. Voc deve ter notado que no necessrio especificar o sistema de arquivos da partio
pois o mount verificar se ele j existe no /etc/fstab e caso existir, usar as opes especificadas neste arquivo.
Para maiores detalhes veja as pginas de manual fstab e mount.
68
6.1 - LILO
O LILO (Linux Loader) sem dvida o gerenciador de partida padro para quem deseja iniciar o GNU/Linux
atravs do disco rgido. Ele permite selecionar qual sistema operacional ser iniciado (caso voc possua mais de
um) e funciona tanto em discos rgidos IDE como SCSI.
A seleo de qual sistema operacional e a passagem de parmetros ao Kernel pode ser feita automaticamente ou
usando o aviso de boot: do LILO.
69
delay=20
prompt
image=/vmlinuz
root=/dev/hda1
label=linux
read-only
other=/dev/hda2
table=/dev/hda
label=dos
O exemplo acima idntico ao anterior, o que foi acrescentado foi a opo prompt na seo geral (para que seja
mostrado imediatamente o aviso de boot: no momento em que o LILO for carregado), e includa uma imagem
de disco DOS localizado em /dev/hda2. No momento da inicializao mostrada a mensagem boot: e caso seja
digitado DOS e pressionado <ENTER>, o sistema iniciar o DOS. Caso a tecla <Enter> seja pressionada sem
especificar a imagem, a primeira ser carregada (neste caso o GNU/Linux).
Voc pode substituir a palavra GNU/Linux da opo label pelo nmero 1 e DOS por 2, desta forma o nmero
pode ser digitado para iniciar o sistema operacional. Isto muito til para construir um menu usando a opo
message. Para detalhes veja Opes usadas no LILO, Seo 6.1.2.
A seo Geral vem do incio do arquivo at a palavra delay=20. A partir do primeiro aparecimento da palavra
image, other ou range, tudo o que vier abaixo ser interpretado como imagens de inicializao.
Por padro, a imagem carregada a especificada por default= ou a primeira que aparece no arquivo (caso
default= no seja especificado). Para carregar o outro sistema (o DOS), digite o nome da imagem de disco no
aviso de boot: (especificada em label=) que ser carregada. Voc tambm pode passar parmetros manualmente
ao Kernel digitando o nome da imagem de disco e uma opo do Kernel ou atravs do arquivo /etc/lilo.conf
(veja Opes usadas no LILO, Seo 6.1.2).
O LILO pode inicializar o seguintes tipos de imagens:
Imagens do Kernel de um arquivo. Normalmente usado para iniciar o GNU/Linux pelo disco rgido e
especificado pelo parmetro image=.
Imagens do Kernel de um dispositivo de bloco (como um disquete). Neste caso o nmero de setores a serem
lidos devem ser especificados na forma PRIMEIRO-LTIMO ou PRIMEIRO+NMERO de setores a serem
lidos.
necessrio especificar o parmetro image= e range=, por exemplo:
image=/dev/fd0
range=1+512
Todas as opes do Kernel podem ser usadas na inicializao por dispositivo.
O setor de boot de outro sistema operacional (como o DOS, OS/2, etc). O setor de partida armazenado
junto com a tabela de partio no arquivo /boot/map. necessrio especificar o parmetro
other=dispositivo ou other=arquivo e a inicializao atravs de um setor de partida possui algumas opes
especiais como o table= (para especificar a tabela de partio) e o map-drive= (identificao da unidade de
discos pelo sistema operacional). Veja o exemplo desta configurao abaixo:
other=/dev/hda2
table=/dev/hda
label=DOS
map-drive=0x80
to = 0x81
map-drive=0x81
to = 0x80
Observaes:
Caso o gerenciador de partida seja instalado no MBR do disco rgido (boot=/dev/hda), o setor de boot
do antigo sistema operacional ser substitudo, retire uma cpia do setor de boot para um disquete usando o
comando dd if=/dev/hda of=/floppy/mbr bs=512 count=1 no GNU/Linux para salvar o setor de boot em um
disquete e dd if=/floppy/mbr of=/dev/hda bs=446 count=1 para restaura-lo. No DOS voc pode usar o
comando fdisk /mbr para criar um novo Master Boot Record.
Aps qualquer modificao no arquivo /etc/lilo.conf , o comando lilo dever ser novamente executado
para atualizar o setor de partida do disco rgido. Isto tambm vlido caso o Kernel seja atualizado ou a
partio que contm a imagem do Kernel desfragmentada.
A limitao de 1024 cilindros do LILO no existe mais a partir da verso 21.4.3 (recomendada, por
conter muitas correes) e superiores.
Guia Foca GNU/Linux
70
boot=dispositivo - Define o nome do dispositivo onde ser gravado o setor de partida do LILO
(normalmente usada a partio ativa ou o Master Boot Record - MBR). Caso no seja especificado, o
dispositivo montado como a partio raiz ser usado.
compact - Tenta agrupar requisies de leitura para setores seguintes ao sendo lido. Isto reduz o tempo
de inicializao e deixa o mapa menor. normalmente recomendado em disquetes.
default=imagem - Usa a imagem especificada como padro ao invs da primeira encontrada no arquivo
lilo.conf.
delay=[num] - Permite ajustar o nmero de segundos (em dcimos de segundos) que o gerenciador de
partida deve aguardar para carregar a primeira imagem de disco (ou a especificada por default=). Esta pausa
lhe permite selecionar que sistema operacional ser carregado.
install=setor-boot - Instala o arquivo setor-boot como novo setor de boot do disco. Se install for
omitido, /boot/boot.b usado por padro.
lba32 - Permite que o LILO quebre o limite de 1024 cilindros do disco rgido, inicializando o
GNU/Linux em um cilindro acima deste atravs do acesso . Note que isto requer compatibilidade com o
BIOS, mais especificamente que tenha suporte a chamadas int 0x13 e AH=0x42. recomendado o seu uso.
message=arquivo - Especifica um arquivo que contm uma mensagem que ser mostrada antes do aviso
de boot:. Nenhuma mensagem mostrada at que seja pressionada a tecla <Shift> aps mostrar a palavra
LILO. O tamanho da mensagem deve ser no mximo 65535 bytes. O arquivo de mapa deve ser novamente
criado caso a mensagem seja retirada ou modificada. Na mensagem, o caracter FF (<CTRL>+<L>) limpa a
tela.
password=senha - Permite proteger todas as imagens de disco com uma nica senha. Caso a senha
esteja incorreta, o LILO novamente carregado.
prompt - Mostra imediatamente o aviso de boot: ao invs de mostrar somente quando a tecla <Shift>
pressionada.
timeout=[num] - Ajusta o tempo mximo de espera (em dcimos de segundos) de digitao no teclado.
Se nenhuma tecla pressionada no tempo especificado, a primeira imagem automaticamente carregada.
Igualmente a digitao de senha interrompida se o usurio estiver inativo por este perodo.
Adicionalmente as opes de imagem do Kernel append, ramdisk, read-only, read-write, root e vga podem ser
especificadas na seo global.
Imagem
As opes por imagem iniciam com uma das seguintes opes: image=, other= ou range=. Opes usadas
por cada imagem:
table=dispositivo - Indica o dispositivo que contm a tabela de partio para aquele dispositivo.
Necessrio apenas para imagens especificadas por other=.
unsafe - No acessa o setor de boot no momento da criao do mapa. Isto desativa algumas checagens,
como a checagem da tabela de partio. unsafe e table= so incompatveis.
label=[nome] - Permite especificar um nome para a imagem. Este nome ser usado na linha boot: para
inicializar o sistema.
Guia Foca GNU/Linux
71
password=senha - Protege a imagem atual com a senha. Caso a senha esteja incorreta, o setor de partida
do LILO novamente carregado.
restricted - A senha somente pedida para iniciar a imagem se o sistema for iniciado no modo single.
Tambm podem ser usados parmetros de inicializao do Kernel no arquivo /etc/lilo.conf, veja a seo
Parmetros de inicializao passados ao Kernel, Seo 6.3 para maiores detalhes.
other=/dev/hda2
#especifica outro sistema que ser carregado
table=/dev/hda
#a tabela de partio dele est em /dev/hda
label=2
#identificao desta imagem de disco
password=12345
#pede a senha antes de iniciar este sistema
Voc pode usar o exemplo acima como base para construir sua prpria configurao personalizada do
/etc/lilo.conf mas no se esquea de modificar as tabelas de parties para seu sistema. Se voc usa o Windows
NT 4.0, Windows NT 5.0 (Windows 2000) ou o OS/2, recomendo ler o DOS+Windows+OS/2-HOWTO.
Aps criar seu arquivo /etc/lilo.conf , execute o comando lilo e se tudo ocorrer bem, o LILO ser instalado.
6.2 - GRUB
(Os detalhes contidos na seo sobre o GRUB, foram integralmente desenvolvidos por Alexandre Costa
alebyte@bol.com.br como contribuio ao guia FOCA GNU/Linux.)
O GRUB (Grand Unified Boot Loader) mais uma alternativa como gerenciador de boot e apresenta alguns
recursos extras com relao as outras opes disponveis. Ele flexvel, funcional e poderoso, podendo
inicializar sistemas operacionais como o Windows (9x, ME, NT, 2000 e XP), Dos, Linux, GNU Hurd, *BSD,
OS/2 e etc. Podemos destacar tambm o suporte aos sistemas de arquivos ext2 (Linux), ext3 e reiserfs (novos
sistemas de arquivos journaling do Linux), FAT16 e FAT32 (Win 9x/ME), FFS (Fast File System usado no
*BSD), minix (MINIX OS) e etc.
Por utilizar o padro multiboot ele capaz de carregar diversas imagens de boot e mdulos. Por esse motivo ele
o nico gerenciador de inicializao capaz de carregar o conjunto de servidores do GNU Hurd. O GRUB
tambm permite buscar imagens do Kernel pela rede, por cabo seriais, suporta discos rgidos IDE e SCSI,
detecta toda a memria RAM disponvel no sistema, tem interface voltada para linha de comandos ou menus de
escolha, alm de suportar sistemas sem discos e terminais remotos.
Como possui inmeros recursos, ser apresentada sua utilizao bsica, ficando como sugesto ao leitor
procurar se aprofundar mais em suas possibilidades de uso e configurao.
72
6.2.2.1 - No MBR
Um mtodo simples de adicionar o GRUB para gerenciar seu MBR (Master Boot Record) rodando o seguinte
comando (como superusurio):
# /sbin/grub-install /dev/hda
Este comando grava o GRUB no MBR do primeiro disco e cria o diretrio /boot/grub onde estaro os arquivos
necessrios para o seu funcionamento. Neste ponto o GRUB j est instalado e quando voc reiniciar seu
computador ir se deparar com uma linha de comandos, onde ter que carregar a imagem do Kernel
manualmente. Mais adiante ser explorada a utilizao desta linha de comando que muito eficiente.
Provavelmente voc achar mais interessante copiar o arquivo de configurao de exemplos do GRUB e
otimiz-lo s suas necessidades. Note que isto no exclui a possibilidade de utilizar a linha de comando, apenas
cria uma interface de menus onde voc pode configurar vrias opes de boot de uma forma organizada,
automatizada e funcional. Copie este arquivo para o diretrio /boot/grub com o seguinte comando:
# cp /usr/share/doc/grub/examples/menu.lst /boot/grub
Por ser um arquivo de exemplos ser necessrio otimiz-lo de acordo com suas necessidades, o que ser
abordado mais a frente.
73
as necessidades bsicas mas pode haver um momento em que voc deseje ter um disquete que funcione com
vrios sistema e no dependa de um disco fixo.
Digite os seguintes comandos:
# mke2fs /dev/fd0
# mount /dev/fd0 /floppy -t ext2
# mkdir /floppy/grub
# cp /usr/lib/grub/i386-pc/stage[12] /floppy/grub
# cp /usr/share/doc/grub/examples/menu.lst /floppy/grub
# umount /floppy
# /sbin/grub
Este ltimo comando disponibiliza a linha de comando do GRUB. Digite os seguintes comandos:
grub> install (fd0)/grub/stage1 d (fd0) (fd0)/grub/stage2 p (fd0)/grub/menu.lst
grub> quit
Neste momento o disquete est pronto. Note que o menu.lst que foi copiado para ele um arquivo de exemplo,
sendo necessrio que voc o configure de acordo com suas necessidades.
timeout = Define um tempo (em segundos) de espera. Se nenhuma tecla for pressionada, carrega a
imagem padro.
default = Define qual ser a opo padro que deve ser automaticamente selecionada quando nenhuma
outra for especificada em um tempo definido por timeout.
fallback = Caso ocorra algum erro inesperado e a opo padro no possa ser carregada, este parmetro
define qual a outra opo deve ser utilizada.
password = Permite que voc especifique uma senha. Est ser solicitada sempre que houver
necessidade de realizar uma funo que no seja carregar as imagens disponveis, como por exemplo
acessar a linha de comandos do GRUB. Voc pode utilizar tambm o parmetro password para esconder um
arquivo que contenha outras configuraes, como um menu.lst secreto. O arquivo pode ter um nome
qualquer.
Ex.: password = senha (hd0,0)/boot/grub/secret.conf
Voc pode ter vrias entradas do parmetro password em um mesmo arquivo sendo que uma delas usada
para bloquear o acesso as imagens/linha de comandos e as outras usadas para carregar arquivos de opes
do GRUB. Quando voc digitar p para entrar com a senha, voc pode digitar a senha que protege as
imagens/linha de comandos ou a que utilizada para carregar os arquivos de opes.
hiddenmenu = Est opo faz com que o menu de opes no seja mostrado e d boot na imagem
especificada por default depois de expirado o tempo definido em timeout. O usurio pode requisitar o menu
com as opes pressionando a tecla <ESC> antes que o tempo definido em timeout expire.
Parmetros que afetam apenas as imagens
title = Define um texto que ser apresentado no menu de boot para identificar o sistema a ser
inicializado.
rootnoverify = Idntica a opo root, mas no tenta montar a partio-alvo, o que necessrio para
alguns sistemas como Dos e Windows.
Kernel = Nesta opo voc informa qual o Kernel vai ser inicializado. Voc pode passar parmetros
diretamente para o Kernel tambm.
Ex.: Kernel (hd0,0)/boot/vmlinuz-2.4.16 vga=6
module = Faz com que algum mdulo necessrio para o boot seja carregado. Lembre-se que estes no
so mdulos do Kernel (mdulos de som, rede, etc.) e sim mdulos necessrios ao boot de alguns sistemas,
como por exemplo o GNU Hurd.
lock = Quando voc quiser controlar se uma pessoa pode iniciar um sistema que esteja listado nas
opes do menu de boot, voc pode utilizar esta opo que faz com que a senha especificada com o
comando password seja solicitada no momento em que se tentar carregar a imagem em questo.
pause = Emite uma mensagem na tela e espera uma tecla ser pressionada.
Guia Foca GNU/Linux
74
makeactive = Torna a partio ativa. Este comando est limitado a parties primrias dos discos.
chainloader = Alguns sistemas como o Windows ou Dos armazenam seu prprio gerenciador de boot
no incio da partio em que ele est instalado. Para efetuar o boot destes sistemas atravs do GRUB, voc
precisa pedir para que o gerenciador de boot de tal sistema seja carregado e faa seu trabalho, dando o boot.
hide e unhide = Esconde e mostra partio respectivamente. Estas duas opes so necessrias quando
houver mais de uma verso do Dos ou Windows na mquina em parties diferentes, j que estes sistemas
detectam automaticamente a partio e quase sempre o fazem de modo errado. Suponha o Windows na
primeira partio primria (hd0,0) e o Dos na segunda partio primria (hd0,1). Quando quisermos
carregar estes sistemas devemos proceder da seguinte maneira:
title Windows
hide (hd0,1)
unhide (hd0,0)
rootnoverify (hd0,0)
chainloader +1
makeactive
title Dos
hide (hd0,0)
unhide (hd0,1)
rootnoverify (hd0,1)
chainloader +1
makeactive
map = Alguns sistemas no permitem ser inicializados quando no esto no primeiro disco (Dos, Win
9x, etc.). Para resolver esta e outras situaes o GRUB tem um comando que permite enganar tal sistema
mapeando as unidades de disco do modo como lhe for mais conveniente.
Imagine que voc tenha o primeiro disco (hd0) com o GNU/Linux instalado e em um outro disco (hd1) com o
Windows/Dos instalado. O Windows/Dos no permitem serem inicializados desta forma e como soluo voc
poderia usar a seguinte entrada no arquivo de configuraes do GRUB:
title Windows
unhide (hd1,0)
rootnoverify (hd1,0)
chainloader +1
map (hd1) (hd0)
makeactive
Isso faz com que o disco (hd1), onde esta o Windows/Dos, seja apresentado a este sistema como (hd0)
"enganado" o mesmo e possibilitando o boot.
Parmetros enviados diretamente ao Kernel
Pode ser necessrio passar alguns parmetros para o Kernel no momento do boot. Para maiores informaes
ver a seo Parmetros de inicializao passados ao Kernel, Seo 6.3. Voc pode passar os parmetros da
seguinte maneira:
# Exemplo de entrada no 'menu.lst'.
title Linux 2.4.16
root (hd0,0)
Kernel (hd0,0)/boot/vmlinuz-2.4.16 vga=6 mem=512M ramdisk=0
Neste exemplo, a linha com o comando "Kernel" usada para indicar qual imagem deve ser carregada. As
opes que seguem (vga, mem e ramdisk) so parmetros que devem ser passados diretamente ao Kernel do
sistema a ser carregado.
75
76
a tecla <TAB>. Note que voc tambm pode utilizar esta tecla para completar nomes de comandos bem como
parmetros de alguns comandos.
Alguns comandos disponveis:
cat = Este comando permite verificar o contedo de um arquivo qualquer, o qual deve estar gravado em
um dispositivo ligado a sua mquina. Embora seja um recurso til, nenhuma permisso de acesso
verificada e qualquer pessoa que tenha acesso a linha de comandos do GRUB pode listar o contedo de
arquivos importantes. Para contornar este problema o parmetro password utilizado no arquivo menu.lst e
faz com que uma senha seja solicitada antes de liberar o acesso a linha de comandos. No esquea que ainda
possvel utilizar um disquete com o GRUB para dar boot na mquina o que permite usar a linha de
comandos pelo disquete.
Ex.: grub> cat (hd0,0)/etc/passwd
find = Permite encontrar um arquivo. A sada deste comando disponibiliza o nome completo do
caminho para o arquivo e a partio onde o mesmo est localizado.
Ex.: grub> find stage1
geometry = Mostra informaes sobre a geometria reconhecida de seu drive e permite que voc escolha
a geometria desejada caso esta esteja sendo reconhecida erroneamente.
install = Instala o GRUB, embora no seja recomendado o uso deste comando diretamente, pois
possvel esquecer ou trocar facilmente um parmetro e sobrescrever a tabela de parties de seu disco.
Ex.: install (fd0)/grub/stage1 d (fd0) (fd0)/grub/stage2 p (fd0)/grub/menu.lst
setup = Voc pode usar este comando para instalar o GRUB. Note que sua sintaxe menos complexa do
que a usada em install.
Ex.:
grub> root = (hd0,0)
grub> setup = (hd0)
boot = Efetua o boot. Suponha o Linux instalado em (hd0,0), podemos passar os seguintes comandos na
linha de comandos para efetuar o boot de uma imagem do GNU/Linux:
grub> root (hd0,0)
grub> Kernel (hd0,0)/boot/vmlinuz-2.4.16 vga=6
grub> boot
Muitos outros comandos esto disponveis tanto na linha de comandos do GRUB quanto no arquivo de
configurao menu.lst. Estes comandos adicionais podem ser necessrios apenas para algumas pessoas e por
isso no sero explicados.
77
Kernel.
ramdisk=tamanho - Especifica o tamanho do disco RAM que ser criado. Caso for igual a zero,
nenhum disco RAM ser criado. Se no for especificado, o tamanho do disco RAM usado na imagem de
inicializao do Kernel ser usada.
read-only - Especifica que o sistema de arquivos raiz dever ser montado como somente leitura.
Normalmente o sistema de inicializao remonta o sistema de arquivos como leitura/gravao.
read-write - Especifica que o sistema de arquivos raiz dever ser montado como leitura e gravao.
root=dispositivo - Especifica o dispositivo que ser montado como raiz. Se a palavra current usada, o
dispositivo atual ser montado como raiz.
vga=modo - Especifica o modo de vdeo texto que ser usado durante a inicializao.
normal - Usa o modo 80x25 (80 colunas por 25 linhas)
extended (ou ext) - Usa o modo de texto 80x50
ask - Pergunta que modo de video usar na inicializao. Os modos de vdeo podem ser obtidos
pressionando-se <Enter> quando o sistema perguntar o modo de vdeo.
Uma lista mais detalhada de parmetros de inicializao pode ser obtida no documento Boot-prompt-howto
(veja Documentos HOWTO's, Seo 30.8).
6.4 - LOADLIN
um gerenciador de partida que permite iniciar o GNU/Linux a partir do DOS. A vantagem do uso do Loadlin
no ser preciso reiniciar o computador para se entrar no GNU/Linux. Ele funciona carregando o Kernel (copiado
para a partio DOS) para a memria e inicializando o GNU/Linux.
Outro motivo pelo qual muito usado quando o GNU/Linux no tem suporte a um certo tipo de dispositivo,
mas este tem seu suporte no DOS ou Windows e funciona corretamente com eles.
O truque o seguinte: Voc inicia normalmente pelo DOS e aps seu dispositivo ser configurado corretamente
pelo driver do DOS e funcionando corretamente, voc executa o Loadlin e o GNU/Linux assim poder usa-lo.
Muitos usam o comando Loadlin dentro do arquivo autoexec.bat para iniciar o GNU/Linux automaticamente
aps o dispositivo ser configurado pelo DOS.
ATENO!!! No execute o Loadlin dentro do Windows.
78
6.5 - syslinux
Outro gerenciador de partida que funciona somente com sistemas de arquivos DOS. A principal diferena do
syslinux em relao ao LOADLIN que foi feito especialmente para funcionar em disquetes formatados no
DOS, facilitando a instalao do GNU/Linux e para a criao de disquetes de recuperao ou de inicializao.
Um disquete gerado pelo syslinux lido sem problemas pelo DOS/Windows.
syslinux [-s] [dispositivo]
A opo -s instala no disquete uma verso segura, lenta e estpida do syslinux. Isto necessrio para algumas
BIOS problemticas.
Formate o disquete no DOS ou com alguma ferramenta GNU/Linux que faa a formatao de disquetes
para serem usados no DOS.
Digite syslinux /dev/fd0 (lembre-se de usar a opo -s se tiver problemas de inicializao). Este
comando modificar o setor de partida do disquete e gravar um arquivo chamado LDLINUX.SYS no
diretrio raiz do disquete.
Lembre-se: O disquete deve estar desmontado antes de usar o comando syslinux, caso o disquete estiver
montado uma mensagem ser mostrada e o syslinux abortado.
Por padro carregado o Kernel de nome GNU/Linux. Este padro pode ser modificado atravs do arquivo de
configurao SYSLINUX.CFG que tambm gravado no diretrio raiz do disquete. Veja O arquivo
SYSLINUX.CFG, Seo 6.5.2 para detalhes.
Se as teclas <Caps Lock> ou <Scrool Lock> estiverem ligadas ou <Shift>, <Alt> forem pressionadas durante o
carregamento do syslinux, o syslinux mostrar um aviso de boot no estilo do LILO. O usurio pode ento digitar
o nome do Kernel seguido de qualquer parmetro para inicializar o GNU/Linux.
default [Kernel] [opes] - Indica o nome do Kernel e as opes dele que sero usadas na inicializao,
caso o syslinux seja iniciado automaticamente. Caso no for especificado, o assumido para o Kernel ser
GNU/Linux sem nenhuma opo de inicializao.
append [opoes] - Passa uma ou mais opes ao Kernel na inicializao. Elas sero adicionadas
automaticamente para inicializaes automticas e manuais do syslinux.
label [nome]
Kernel [Kernel]
append [opes] - Nome que identificar o Kernel no aviso de boot (idntica a opo label= do LILO).
Se a imagem especificada por nome for selecionada, o Kernel usado ser o especificado pelo parmetro
Kernel e as opes usadas por append. Caso seja passado um hfen (-) ao parmetro append, os parmetros
passados pelo append global sero anulados.
implicit [valor] - Se o [valor] for igual a 0, no carrega a imagem at que seja explicitamente
especificada na opo label.
timeout [tempo] - Indica quanto tempo o syslinux aguardar antes de inicializar automaticamente
(medido em 1/10 de segundos). Caso alguma tecla seja pressionada, a inicializao automtica
interrompida. Para desativar esta caracterstica, use 0 como timeout. O valor mximo de 35996.
Guia Foca GNU/Linux
79
font [nome] - Especifica uma fonte (em formato .psf) que ser usada para mostrar as mensagens do
syslinux (aps o aviso de copyright do programa). Ele carrega a fonte para a placa de vdeo, se a fonte
contiver uma tabela unicode, ela ser ignorada. Somente funciona em placas EGA e VGA.
kbdmap [mapa] - Instala um simples mapa de teclado. O mapa de teclados usado muito simples:
somente remapeia cdigos conhecidos pela BIOS, o que significa que somente teclas usadas no teclado
padro EUA sero usadas. O utilitrio keytab-lilo.pl da distribuio do lilo pode ser usado para criar tais
mapas de teclado.
prompt [valor] - Se [valor] for igual a 1, mostra automaticamente o aviso de boot assim que o syslinux
for iniciado. Caso seja igual a 0, mostra o aviso de boot somente se as teclas <Shift> ou <Alt> forem
pressinadas ou <Caps Lock> e <Scrool Lock> estiverem ativadas.
F1 [arquivo]
F2 [arquivo]
...
F0 [arquivo]
80
7.2 - path
Path o caminho de procura dos arquivos/comandos executveis. O path (caminho) armazenado na varivel
de ambiente PATH. Voc pode ver o contedo desta varivel com o comando echo $PATH.
Por exemplo, o caminho /usr/local/bin:/usr/bin:/bin:/usr/bin/X11 significa que se voc digitar o comando ls, o
interpretador de comandos iniciar a procura do programa ls no diretrio /usr/local/bin, caso no encontre o
arquivo no diretrio /usr/local/bin ele inicia a procura em /usr/bin, at que encontre o arquivo procurado.
Caso o interpretador de comandos chegue at o ltimo diretrio do PATH e no encontre o arquivo/comando
digitado, mostrada a seguinte mensagem:
bash: ls: command not found (comando no encontrado).
O caminho de diretrios vem configurado na instalao do Linux, mas pode ser alterado no arquivo /etc/profile.
Caso deseje alterar o caminho para todos os usurios, este arquivo o melhor lugar, pois ele lido por todos os
usurios no momento do login.
Caso um arquivo/comando no esteja localizado em nenhum dos diretrios do path, voc deve executa-lo
usando um ./ na frente do comando.
Se deseja alterar o path para um nico usurio, modifique o arquivo .bash_profile em seu diretrio de usurio
(home).
OBSERVAO: Por motivos de segurana, no inclua o diretrio atual $PWD no path.
Primeiro Plano - Tambm chamado de foreground. Quando voc deve esperar o trmino da execuo
de um programa para executar um novo comando. Somente mostrado o aviso de comando aps o trmino
de execuo do comando/programa.
Segundo Plano - Tambm chamado de background. Quando voc no precisa esperar o trmino da
execuo de um programa para executar um novo comando. Aps iniciar um programa em background,
mostrado um nmero PID (identificao do Processo) e o aviso de comando novamente mostrado,
permitindo o uso normal do sistema. O programa executado em background continua sendo executado
internamente. Aps ser concludo, o sistema retorna uma mensagem de pronto acompanhado do nmero
PID do processo que terminou.
Para iniciar um programa em primeiro plano, basta digitar seu nome normalmente. Para iniciar um programa em
segundo plano, acrescente o caracter "&" aps o final do comando.
OBS: Mesmo que um usurio execute um programa em segundo plano e saia do sistema, o programa continuar
sendo executado at que seja concludo ou finalizado pelo usurio que inciou a execuo (ou pelo usurio root).
Exemplo: find / -name boot.b &
O comando ser executado em segundo plano e deixar o sistema livre para outras tarefas. Aps o comando find
Guia Foca GNU/Linux
81
7.5 - ps
Algumas vezes til ver quais processos esto sendo executados no computador. O comando ps faz isto, e
tambm nos mostra qual usurio executou o programa, hora que o processo foi iniciado, etc.
ps [opes]
Opes
u - Mostra o nome de usurio que inciou o processo e hora em que o processo foi iniciado.
f - Mostra a rvore de execuo de comandos (comandos que so chamados por outros comandos).
w - Mostra a continuao da linha atual na prxima linha ao invs de cortar o restante que no couber na
tela.
--sort:[coluna] - Organiza a sada do comando ps de acordo com a coluna escolhida. Voc pode usar as
colunas pid, utime, ppid, rss, size, user, priority. Pode ser especificada uma listagem em ordem inversa
especificando --sort:[-coluna]. Para mais detalhes e outras opes, veja a pgina de manual.
As opes acima podem ser combinadas para resultar em uma listagem mais completa. Voc tambm pode usar
pipes "|" para filtrar a sada do comando ps. Para detalhes, veja | (pipe), Seo 14.4.
Ao contrrio de outros comandos, o comando ps no precisa do hfen (-) para especificar os comandos. Isto
porque ele no utiliza opes longas e no usa parmetros.
Exemplos: ps, ps ax|grep inetd, ps auxf, ps auxw.
7.6 - top
Mostra os programas em execuo ativos, parados, tempo usado na CPU, detalhes sobre o uso da memria
RAM, Swap, disponibilidade para execuo de programas no sistema, etc. top um programa que continua em
execuo mostrando continuamente os processos que esto rodando em seu computador e os recursos utilizados
por eles. Para sair do top, pressione a tecla q.
top [opes]
Onde:
h - Mostra a tela de ajuda do programa. mostrado todas as teclas que podem ser usadas com o top.
q - Sai do programa.
k - Finaliza um processo - semelhante ao comando kill. Voc ser perguntado pelo nmero de
identificao do processo (PID). Este comando no estar disponvel caso esteja usando o top com a opo
-s.
n - Muda o nmero de linhas mostradas na tela. Se 0 for especificado, ser usada toda a tela para
listagem de processos.
82
7.7.3 - jobs
O comando jobs mostra os processos que esto parados ou rodando em segundo plano. Processos em segundo
plano so iniciados usando o smbolo "&" no final da linha de comando (veja Tipos de Execuo de
comandos/programas, Seo 7.3) ou atravs do comando bg. O nmero de identificao de cada processo
parado ou em segundo plano (job), usado com os comandos fg, Seo 7.7.4 e bg, Seo 7.7.5.
7.7.4 - fg
Permite fazer um programa rodando em segundo plano ou parado, rodar em primeiro plano. Voc deve usar o
comando jobs para pegar o nmero do processo rodando em segundo plano ou interrompida, este nmero ser
passado ao comando fg para ativa-lo em primeiro plano.
fg [nmero]
Onde nmero o nmero obtido atravs do comando jobs.
Caso seja usado sem parmetros, o fg utilizar o ltimo programa interrompido (o maior nmero obtido com o
comando jobs).
Exemplo: fg 1.
7.7.5 - bg
Permite fazer um programa rodando em primeiro plano ou parado, rodar em segundo plano. Para fazer um
programa em primeiro plano rodar em segundo, necessrio primeiro interromper a execuo do comando com
<CTRL>+<Z>, ser mostrado o nmero da tarefa interrompida, use este nmero com o comando bg para iniciar
a execuo do comando em segundo plano.
bg [nmero]
Onde: nmero - nmero do programa obtido com o pressionamento das teclas <CTRL>+<Z> ou atravs do
comando jobs.
7.7.6 - kill
Permite enviar um sinal a um comando/programa. Caso seja usado sem parmetros, o kill enviar um sinal de
trmino ao processo sendo executado.
kill [opes] [sinal] [nmero]
Onde:
nmero - o nmero de identificao do processo obtido com o comando ps, Seo 7.5
sinal - Sinal que ser enviado ao processo. Se omitido usa -15 como padro.
Opes
-9 - Envia um sinal de destruio ao processo ou programa. Ele terminado imediatamente sem chances
de salvar os dados ou apagar os arquivos temporrios criados por ele.
Voc precisa ser o dono do processo ou o usurio root para termina-lo ou destru-lo. Voc pode verificar se o
processo foi finalizado atravs do comando ps. Os tipos de sinais aceitos pelo GNU/Linux so explicados em
detalhes em Sinais do Sistema, Seo 7.7.9.
Exemplo: kill 500, kill -9 500.
7.7.7 - killall
Permite finalizar processos atravs do nome.
killall [opes] [sinal] [processo]
Guia Foca GNU/Linux
83
Onde:
sinal - Sinal que ser enviado ao processo (pode ser obtido usando a opo -i).
Opes
7.7.8 - killall5
Envia um sinal de finalizao para todos os processos sendo executados.
killall5 [sinal]
84
TRAP
5
C
Captura do trao/ponto de interrupo
URG
16,23,21
B
Condio Urgente no soquete (4.2 BSD)
VTALRM 26,26,28
A
Alarme virtual do relgio (4.2 BSD)
XCPU
24,24,30
C
Tempo limite da CPU excedido (4.2 BSD)
XFSZ
25,25,31
C
Limite do tamanho de arquivo excedido (4.2 BSD)
Para os casos SIGSYS, SIGXCPU, SIGXFSZ, e em algumas arquiteturas tambm o SIGGUS, a ao padro do
Linux para Kernels 2.3.27 e superiores A (terminar), enquanto SYSv2 descreve C (terminar e mostrar dump
core). Seguem vrios outros sinais:
Sinal Valor Aco Comentrio
-------------------------------------------------------------------IOT
6
C
Trao IOT. Um sinnimo para ABRT
EMT
7,-,7
STKFLT
-,16,A
Falha na pilha do processador
IO
23,29,22
A
I/O agora possvel (4.2 BSD)
CLD
-,-,18
Um sinnimo para CHLD
PWR
29,30,19
A
Falha de fora (System V)
INFO
29,-,Um sinnimo para SIGPWR
LOST
-,-,A
Perda do bloqueio do arquivo
WINCH
28,28,20
B
Sinal de redimensionamento da Janela (4.3 BSD, Sun)
UNUSED -,31,A
Sinal no usado (ser SYS)
O "-" significa que o sinal no est presente. Onde trs valores so listados, o primeiro normalmente vlido
para o Alpha e Sparc, o do meio para i386, PowerPc e sh, o ltimo para o Mips. O sinal 29 SIGINFO/SIGPWR
em um Alpha mas SIGLOST em um Sparc.
7.8 - nohup
Executa um comando ignorando os sinais de interrupo. O comando poder ser executado at mesmo em
segundo plano caso seja feito o logout do sistema.
nohup [comando que ser executado]
As mensagens de sada do nohup so direcionadas para o arquivo $HOME/nohup.out.
Exemplo: nohup find / -uid 0 >/tmp/rootfiles.txt &.
7.9 - nice
Configura a prioridade da execuo de um comando/programa.
nice [opes] [comando/programa]
Onde:
comando/programa - Comando/programa que ter sua prioridade ajustada.
Opes:
-n [numero] - Configura a prioridade que o programa ser executado. Se um programa for executado com
maior prioridade, ele usar mais recursos do sistema para seu processamento, caso tenha uma prioridade
baixa, ele permitir que outros programas tenham preferncia. A prioridade de execuo de um
programa/comando pode ser ajustada de -19 (a mais alta) at 19 (a mais baixa).
Exemplo: nice -n -19 find / -name apropos
7.10 - fuser
Permite identificar e fechar os processos que esto utilizando arquivos e soquetes no sistema.
fuser [opes] [nome]
Onde:
nome - Especifica um nome de processo, diretrio, arquivo, etc.
Opes
-k - Finaliza os processos acessando o arquivo especificado. O sinal desejado deve ser especificado com
a opo -signal [num], ou o sinal -9 ser enviado como padro. No possvel matar o prprio processo
fuser.
-i - Pergunta antes de destruir um processo. Ser ignorada caso a opo -k no seja especificada.
85
-signal [nmero] - Usa o sinal especificado ao invs de -9 (SIGKILL) quando finalizar processos.
-u - Acrescenta o nome do dono de cada processo ao PID.
-v - Os processos so mostrados em um estilo idntico ao ps.
7.11 - tload
Representa de forma grfica a carga do sistema.
tload [opes]
Onde:
Opes:
-s [nmero] - Mostra uma escala vertical com espaamento especificado por [nmero]. recomendvel
o uso de nmeros entre 1 e 10 para melhor visualizao da escala.
7.12 - vmstat
Mostra estatsticas sobre o uso da memria virtual do sistema.
vmstat [intervalo] [contagem]
Onde:
intervalo - Nmero especificado em segundos entre atualizaes.
contagem - Nmero de vezes que ser mostrado.
Se no for especificado nenhum parmetro, o vmstat mostra o status da memria virtual e volta imediatamente
para a linha de comando. A descrio dos campos do vmstat so as seguintes:
Processos
us - Tempo do usurio
sy - Tempo do sistema
id - Tempo ocioso
7.13 - pidof
Retorna o PID do processo especificado
pidof [opes] [nome]
Onde:
nome - Nome do processo que seja obter o nmero PID
Opes
-o [PID] - Ignora o processo com aquele PID. O PID especial %PPID pode ser usado para nomear o
processo pai do programa pidof.
OBS: O programa pidof um link simblico ao programa killall5. Cuidado ao executar o killall5 as funes e
opes so completamente diferentes dependendo da forma como chamado na linha de comando (veja killall5,
Guia Foca GNU/Linux
86
7.14 - pstree
Mostra a estrutura de processos em execuo no sistema em forma de rvore.
pstree [opes] [pid]
Onde:
pid - Nmero do processo que ter sua rvore listada. Se omitido, lista todos os processos.
Opes:
87
88
8.1 ls
Lista os arquivos de um diretrio.
ls [opes] [caminho/arquivo] [caminho1/arquivo1] ...
onde:
caminho/arquivo - Diretrio/arquivo que ser listado.
caminho1/arquivo1 - Outro Diretrio/arquivo que ser listado. Podem ser feitas vrias listagens de uma
s vez.
Opes:
-f - No classifica a listagem.
-F - Insere um caracter aps arquivos executveis ('*'), diretrios ('/'), soquete ('='), link simblico ('@')
e pipe ('|'). Seu uso til para identificar de forma fcil tipos de arquivos nas listagens de diretrios.
-H - Faz o mesmo que -h, mas usa unidades de 1000 ao invs de 1024 para especificar Kbytes, Mbytes,
Gbytes.
-l - Usa o formato longo para listagem de arquivos. Lista as permisses, data de modificao, donos,
grupos, etc.
-o - Usa a listagem longa sem os donos dos arquivos (mesma coisa que -lG).
-p - Mesma coisa que -F, mas no inclui o smbolo '*' em arquivos executveis. Esta opo tpica de
sistemas Linux.
-rwxr-xr-- - So as permisses de acesso ao arquivo teste. A primeira letra (da esquerda) identifica o
tipo do arquivo, se tiver um d um diretrio, se tiver um "-" um arquivo normal. As permisses de acesso
explicada em detalhes em Permisses de acesso a arquivos e diretrios, Captulo 13.
1 - Se for um diretrio, mostra a quantidade de sub-diretrios existentes dentro dele. Caso for um
arquivo, ser 1.
89
8.2 cd
Entra em um diretrio. Voc precisa ter a permisso de execuo para entrar no diretrio.
cd [diretorio]
onde:
diretorio - diretrio que deseja entrar.
Exemplos:
Usando cd sem parmetros ou cd ~, voc retornar ao seu diretrio de usurio (diretrio home).
cd / - retornar ao diretrio raz.
cd - - retornar ao diretrio anteriormente acessado.
cd .. - sobe um diretrio.
cd ../[diretorio] - sobe um diretrio e entra imediatamente no prximo (por exemplo, quando voc est
em /usr/sbin, voc digita cd ../bin, o comando cd retorna um diretrio (/usr) e entra
imediatamente no diretrio bin (/usr/bin).
8.3 pwd
Mostra o nome e caminho do diretrio atual.
Voc pode usar o comando pwd para verificar em qual diretrio se encontra (caso seu aviso de comandos no
mostre isso).
8.4 mkdir
Cria um diretrio no sistema. Um diretrio usado para armazenar arquivos de um determinado tipo. O
diretrio pode ser entendido como uma pasta onde voc guarda seus papeis (arquivos). Como uma pessoa
organizada, voc utilizar uma pasta para guardar cada tipo de documento, da mesma forma voc pode criar um
diretrio vendas para guardar seus arquivos relacionados com vendas naquele local.
mkdir [opes] [caminho/diretrio] [caminho1/diretrio1]
onde:
caminho - Caminho onde o diretrio ser criado.
diretrio - Nome do diretrio que ser criado.
Opes:
--verbose - Mostra uma mensagem para cada diretrio criado. As mensagens de erro sero mostradas
mesmo que esta opo no seja usada. Para criar um novo diretrio, voc deve ter permisso de
gravao. Por exemplo, para criar um diretrio em /tmp com o nome de teste que ser usado para gravar
arquivos de teste, voc deve usar o comando "mkdir /tmp/teste". Podem ser criados mais de um diretrio
com um nico comando (mkdir /tmp/teste /tmp/teste1 /tmp/teste2).
8.5 rmdir
Remove um diretrio do sistema. Este comando faz exatamente o contrrio do mkdir. O diretrio a ser removido
deve estar vazio e voc deve ter permisso de gravao para remove-lo.
rmdir [caminho/diretrio] [caminho1/diretrio1]
onde:
caminho - Caminho do diretrio que ser removido.
diretrio - Nome do diretrio que ser removido.
necessrio que esteja um nvel acima do diretrio(s) que ser(o) removido(s). Para remover diretrios que
contenham arquivos, use o comando rm com a opo -r (para maiores detalhes, veja rm, Seo 9.3). Por
exemplo, para remover o diretrio /tmp/teste voc deve estar no diretrio tmp e executar o comando rmdir teste.
Guia Foca GNU/Linux
90
9.1 cat
Mostra o contedo de um arquivo binrio ou texto.
cat [opes] [diretrio/arquivo] [diretrio1/arquivo1]
onde:
diretrio/arquivo - Localizao do arquivo que deseja visualizar o contedo.
Opes:
-n, --number - Mostra o nmero das linhas enquanto o contedo do arquivo mostrado.
-s, --squeeze-blank - No mostra mais que uma linha em branco entre um pargrafo e outro.
- - L a entrada padro.
O comando cat trabalha com arquivos texto. Use o comando zcat para ver diretamente arquivos compactados
com gzip.
Exemplo: cat /usr/doc/copyright/GPL
9.2 tac
Mostra o contedo de um arquivo binrio ou texto (como o cat) s que em ordem inversa.
tac [opes] [diretrio/arquivo] [diretrio1/arquivo1]
onde:
diretrio/arquivo - Localizao do arquivo que deseja visualizar o contedo
Opes:
- - L a entrada padro.
Exemplo: tac /usr/doc/copyright/GPL.
9.3 rm
Apaga arquivos. Tambm pode ser usado para apagar diretrios e sub-diretrios vazios ou que contenham
arquivos.
rm [opes][caminho][arquivo/diretrio] [caminho1][arquivo1/diretrio1]
onde:
caminho - Localizao do arquivo que deseja apagar. Se omitido, assume que o arquivo esteja no
diretrio atual.
arquivo/diretrio - Arquivo que ser apagado.
Opes:
-r, --recursive - Usado para remover arquivos em sub-diretrios. Esta opo tambm pode ser usada
para remover sub-diretrios.
9.4 cp
Copia arquivos.
cp [opes] [origem] [destino]
Guia Foca GNU/Linux
91
onde:
origem - Arquivo que ser copiado. Podem ser especificados mais de um arquivo para ser copiado
usando "Curingas" (veja Curingas, Seo 2.12).
destino - O caminho ou nome de arquivo onde ser copiado. Se o destino for um diretrio, os arquivos
de origem sero copiados para dentro do diretrio.
Opes:
-r - Copia arquivos dos diretrios e subdiretrios da origem para o destino. recomendvel usar -R ao
invs de -r.
-R, --recursive - Copia arquivos e sub-diretrios (como a opo -r) e tambm os arquivos especiais
FIFO e dispositivos.
-u, --update - Copia somente se o arquivo de origem mais novo que o arquivo de destino ou quando o
arquivo de destino no existe.
-x - No copia arquivos que esto localizados em um sistema de arquivos diferente de onde a cpia
inciou.
O comando cp copia arquivos da ORIGEM para o DESTINO. Ambos origem e destino tero o mesmo contedo
aps a cpia.
Exemplos:
cp teste.txt teste1.txt - Copia o arquivo teste.txt para teste1.txt.
cp teste.txt /tmp - Copia o arquivo teste.txt para dentro do diretrio /tmp.
cp * /tmp - Copia todos os arquivos do diretrio atual para /tmp.
cp /bin/* . - Copia todos os arquivos do diretrio /bin para o diretrio em que nos encontramos no momento.
cp -R /bin /tmp - Copia o diretrio /bin e todos os arquivos/sub-diretrios existentes para o diretrio /tmp.
cp -R /bin/* /tmp - Copia todos os arquivos do diretrio /bin (exceto o diretrio /bin) e todos os
arquivos/sub-diretrios existentes dentro dele para /tmp.
cp -R /bin /tmp - Copia todos os arquivos e o diretrio /bin para /tmp.
9.5 mv
Move ou renomeia arquivos e diretrios. O processo semelhante ao do comando cp mas o arquivo de origem
apagado aps o trmino da cpia.
mv [opes] [origem] [destino]
Onde:
origem - Arquivo/diretrio de origem.
destino - Local onde ser movido ou novo nome do arquivo/diretrio.
Opes:
92
10.1 clear
Limpa a tela e posiciona o cursor no canto superior esquerdo do vdeo.
clear
10.2 date
Permite ver/modificar a Data e Hora do Sistema. Voc precisa estar como usurio root para modificar a data e
hora. Muitos programas do sistema, arquivos de registro (log) e tarefas agendadas funcionam com base na data e
hora fornecidas pelo sistema, assim esteja consciente das modificaes que a data/hora pode trazer a estes
programas (principalmente em se tratando de uma rede com muitos usurios) .
date MesDiaHoraMinuto[AnoSegundos]
Onde:
MesDiaHoraMinuto[AnoSegundos] - So respectivamente os nmeros do ms, dia, hora e minutos
sem espaos. Opcionalmente voc pode especificar o Ano
(com 2 ou 4 dgitos) e os Segundos.
+[FORMATO] Define o formato da listagem que ser usada pelo comando date. Os seguintes
formatos so os mais usados:
%d - Dia do Ms (00-31).
%m - Ms do Ano (00-12).
%y - Ano (dois dgitos).
%Y - Ano (quatro dgitos).
%H - Hora (00-24).
%I - Hora (00-12).
%M - Minuto (00-59).
%j - Dia do ano (1-366).
%p - AM/PM (til se utilizado com %d).
%r - Formato de 12 horas completo (hh:mm:ss AM/PM).
%T - Formato de 24 horas completo (hh:mm:ss).
%w - Dia da semana (0-6).
Outros formatos podem ser obtidos atravs da pgina de manual do date. Para maiores detalhes, veja a pgina de
manual do comando date.
Para ver a data atual digite: date
Se quiser mudar a Data para 25/12 e a hora para 08:15 digite: date 12250815
Para mostrar somente a data no formato dia/ms/ano: date +%d/%m/%Y
10.3 df
Mostra o espao livre/ocupado de cada partio.
df [opes]
Opes:
-k - Lista em Kbytes.
93
10.4 ln
Cria links para arquivos e diretrios no sistema. O link um mecanismo que faz referncia a outro arquivo ou
diretrio em outra localizao. O link em sistemas GNU/Linux faz referncia reais ao arquivo/diretrio podendo
ser feita cpia do link (ser copiado o arquivo alvo), entrar no diretrio (caso o link faa referncia a um
diretrio), etc.
ln [opes] [origem] [link]
Onde:
origem - Diretrio ou arquivo de onde ser feito o link.
link - Nome do link que ser criado.
Opes:
-s - Cria um link simblico. Usado para criar ligaes com o arquivo/diretrio de destino.
-d - Cria um hard link para diretrios. Somente o root pode usar esta opo.
Existem 2 tipos de links: simblicos e hardlinks.
O link simblico cria um arquivo especial no disco (do tipo link) que tem como contedo o caminho para
chegar at o arquivo alvo (isto pode ser verificado pelo tamanho do arquivo do link). Use a opo -s para criar
links simblicos.
O hardlink faz referncia ao mesmo inodo do arquivo original, desta forma ele ser perfeitamente idntico,
inclusive nas permisses de acesso, ao arquivo original. Ao contrrio dos links simblicos, no possvel fazer
um hardlink para um diretrio ou fazer referncia a arquivos que estejam em parties diferentes.
Observaes:
Se for usado o comando rm com um link, somente o link ser removido.
Se for usado o comando cp com um link, o arquivo original ser copiado ao invs do link.
Se for usado o comando mv com um link, a modificao ser feita no link.
Se for usado um comando de visualizao (como o cat), o arquivo original ser visualizado.
Exemplos:
ln -s /dev/ttyS1 /dev/modem - Cria o link /dev/modem para o arquivo /dev/ttyS1.
ln -s /tmp ~/tmp - Cria um link ~/tmp para o diretrio /tmp.
10.5 du
Mostra o espao ocupado por arquivos e sub-diretrios do diretrio atual.
du [opes]
Opes:
-h, --human - Mostra o espao ocupado em formato legvel por humanos (Kb, Mb) ao invs de usar
blocos.
10.6 find
Procura por arquivos/diretrios no disco. find pode procurar arquivos atravs de sua data de modificao,
tamanho, etc atravs do uso de opes. find, ao contrrio de outros programas, usa opes longas atravs de um
"-".
find [diretrio] [opes/expreso]
Onde:
diretrio - Inicia a procura neste diretrio, percorrendo seu sub-diretrios.
Opes/expresso
-name [expresso] - Procura pelo nome [expresso] nos nomes de arquivos e diretrios processados.
94
-maxdepth [num] - Faz a procura at [num] sub-diretrios dentro do diretrio que est sendo
pesquisado.
-mindepth [num] - No faz nenhuma procura em diretrios menores que [num] nveis.
-mount, -xdev - No faz a pesquisa em sistemas de arquivos diferentes daquele de onde o comando find
foi executado.
-amin [num] - Procura por arquivos que foram acessados [num] minutos atrs. Caso for antecedido por
"-", procura por arquivos que foram acessados entre [num] minutos atrs at agora.
-atime [num] - Procura por arquivos que foram acessados [num] dias atrs. Caso for antecedido por "-",
procura por arquivos que foram acessados entre [num] dias atrs e a data atual.
-gid [num] - Procura por arquivos que possuam a identificao numrica do grupo igual a [num].
-group [nome] - Procura por arquivos que possuam a identificao de nome do grupo igual a [nome].
-uid [num] - Procura por arquivos que possuam a identificao numrica do usurio igual a [num].
-user [nome] - Procura por arquivos que possuam a identificao de nome do usurio igual a [nome].
-inum [num] - Procura por arquivos que esto localizados no inodo [num].
-links [num] - Procura por arquivos que possuem [num] links como referncia.
-mmin [num] - Procura por arquivos que tiveram seu contedo modificado h [num] minutos. Caso for
antecedido por "-", procura por arquivos que tiveram seu contedo modificado entre [num] minutos atrs at
agora.
-mtime [num] - Procura por arquivos que tiveram seu contedo modificado h [num] dias. Caso for
antecedido por "-", procura por arquivos que tiveram seu contedo modificado entre [num] dias atrs at
agora.
-nogroup - Procura por arquivos que no correspondam a identificao do grupo do usurio atual.
-perm [modo] - Procura por arquivos que possuam os modos de permisso [modo]. Os [modo] de
permisso pode ser numrico (octal) ou literal.
-used [num] - O arquivo foi acessado [num] vezes antes de ter seu status modificado.
-size [num] - Procura por arquivos que tiverem o tamanho [num]. [num] pode ser antecedido de "+" ou
"-" para especificar um arquivo maior ou menor que [num]. A opo -size pode ser seguida de:
o b - Especifica o tamanho em blocos de 512 bytes. o padro caso [num] no seja acompanhado de
nenhuma letra.
o c - Especifica o tamanho em bytes.
o k - Especifica o tamanho em Kbytes.
-type [tipo] - Procura por arquivos do [tipo] especificado. Os seguintes tipos so aceitos:
o b - bloco
o c - caracter
o d - diretrio
o p - pipe
o f - arquivo regular
o l - link simblico
o s - sockete
A maior parte dos argumentos numricos podem ser precedidos por "+" ou "-". Para detalhes sobre outras
opes e argumentos, consulte a pgina de manual.
Exemplo:
find / -name grep - Procura no diretrio raz e sub-diretrios um arquivo/diretrio chamado grep.
find / -name grep -maxdepth 3 - Procura no diretrio raz e sub-diretrios at o 3o. nvel, um arquivo/diretrio
chamado grep.
find . -size +1000k - Procura no diretrio atual e sub-diretrios um arquivo com tamanho maior que 1000
kbytes (1Mbyte).
find / -mmin 10 - Procura no diretrio raz e sub-diretrios um arquivo que foi modificado h 10 minutos atrs.
find / -links 4 - Procura no diretrio raz e sub-diretrios, todos os arquivos que possuem 4 links como
referncia.
10.7 free
Mostra detalhes sobre a utilizao da memria RAM do sistema.
free [opes]
Opes:
Guia Foca GNU/Linux
95
-b - Mostra o resultado em bytes.
10.8 grep
Procura por um texto dentro de um arquivo(s) ou no dispositivo de entrada padro.
grep [expresso] [arquivo] [opes]
Onde:
expresso - palavra ou frase que ser procurada no texto. Se tiver mais de 2 palavras voc deve
identifica-la com aspas "" caso contrrio o grep assumir que a segunda palavra o
arquivo!
arquivo - Arquivo onde ser feita a procura.
Opes:
-f [arquivo] - Especifica que o texto que ser localizado, esta no arquivo [arquivo].
-i, --ignore-case - Ignora diferena entre maisculas e minsculas no texto procurado e arquivo.
10.9 head
Mostra as linhas iniciais de um arquivo texto.
head [opes]
Opes:
-n [numero] - Mostra o [numero] de linhas do incio do arquivo. Caso no for especificado, o head
mostra as 10 primeiras linhas.
Exemplos: head teste.txt, head -n 20 teste.txt.
10.10 nl
Mostra o nmero de linhas junto com o contedo de um arquivo.
nl [opes] [arquivo]
Opes:
10.11 more
Permite fazer a paginao de arquivos ou da entrada padro. O comando more pode ser usado como comando
para leitura de arquivos que ocupem mais de uma tela. Quando toda a tela ocupada, o more efetua uma pausa e
permite que voc pressione Enter ou espao para continuar avanando no arquivo sendo visualizado. Para sair
Guia Foca GNU/Linux
96
do more pressione q.
more [arquivo]
Onde: arquivo - o arquivo que ser paginado.
Para visualizar diretamente arquivos texto compactados pelo gzip .gz use o comando zmore.
Exemplos: more /etc/passwd, cat /etc/passwd|more.
10.12 less
Permite fazer a paginao de arquivos ou da entrada padro. O comando less pode ser usado como comando
para leitura de arquivos que ocupem mais de uma tela. Quando toda a tela ocupada, o less efetua uma pausa
(semelhante ao more) e permite que voc pressione Seta para Cima e Seta para Baixo ou PgUP/PgDown para
fazer o rolamento da pgina. Para sair do less pressione q.
less [arquivo]
Onde: arquivo - o arquivo que ser paginado.
Para visualizar diretamente arquivos texto compactados pelo utilitrio gzip (arquivos .gz), use o comando zless.
Exemplos: less /etc/passwd, cat /etc/passwd|less
10.13 sort
Organiza as linhas de um arquivo texto ou da entrada padro. A organizao feita por linhas e as linhas so
divididas em campos que a ordem que as palavras aparecem na linha separadas por um delimitador
(normalmente um espao).
sort [opes] [arquivo]
Onde:
arquivo - o nome do arquivo que ser organizado. Caso no for especificado, ser usado o dispositivo
de entrada padro (normalmente o teclado ou um "|").
Opes:
-n - Caso estiver organizando um campo que contm nmeros, os nmeros sero organizados na ordem
aritmtica. Por exemplo, se voc tiver um arquivo com os nmeros
100
10
50
Usando a opo -n, o arquivo ser organizado desta maneira:
10
50
100
Caso esta opo no for usada com o sort, ele organizar como uma listagem alfabtica (que comeam
de a at z e do 0 at 9)
10
100
50
-t caracter - Usa caracter como delimitador durante a organizao de linhas. Por padro usado um
espao em branco como delimitador de caracteres.
+num1 -num2 - Especifica qual o campo dentro na linha que ser usado na organizao. O(s) campo(s)
usado(s) para organizao estar entre +num1 e +num2. O delimitador padro utilizado um espao em
branco (use a opo -t para especificar outro). A contagem iniciada em "0". Caso no for especificada, a
organizao feita no primeiro campo. Caso -num2 no seja especificado, a organizao ser feita usando a
coluna +num1 at o fim da linha.
-k num1, num2 - Esta uma alternativa ao mtodo acima para especificar as chaves de organizao. O
Guia Foca GNU/Linux
97
10.14 tail
Mostra as linhas finais de um arquivo texto.
tail [opes]
Opes:
10.15 time
Mede o tempo gasto para executar um processo (programa).
time [comando]
Onde: comando - o comando/programa que deseja medir o tempo gasto para ser concludo.
Exemplo: time ls, time find / -name crontab.
10.16 touch
Muda a data e hora que um arquivo foi criado. Tambm pode ser usado para criar arquivos vazios. Caso o touch
seja usado com arquivos que no existam, por padro ele criar estes arquivos.
touch [opes] [arquivos]
Onde:
arquivos - Arquivos que tero sua data/hora modificados.
Opes:
-t MMDDhhmm[ANO.segundos] - Usa Minutos (MM), Dias (DD), Horas (hh), minutos (mm) e
opcionalmente o ANO e segundos para modificao do(s) arquivos ao invs da data e hora atual.
-a, --time=atime - Faz o touch mudar somente a data e hora do acesso ao arquivo.
10.17 uptime
Mostra o tempo de execuo do sistema desde que o computador foi ligado.
uptime
10.18 dmesg
Mostra as mensagens de inicializao do Kernel. So mostradas as mensagens da ltima inicializao do
sistema.
dmesg|less
Guia Foca GNU/Linux
98
10.19 mesg
Permite ou no o recebimentos de requisies de talk de outros usurios.
mesg [y/n]
Onde: y - permite que voc receba "talks" de outros usurios.
Digite mesg para saber se voc pode ou no receber "talks" de outros usurios. Caso a resposta seja "n" voc
poder enviar um talk para algum mas o seu sistema se recusar em receber talks de outras pessoas.
interessante colocar o comando mesg y em seu arquivo de inicializao .bash_profile para permitir o
recebimento de "talks" toda vez que entrar no sistema.
Para detalhes sobre como se comunicar com outros usurios, veja o comando talk, Seo 11.8.
10.20 echo
Mostra mensagens. Este comando til na construo de scripts para mostrar mensagens na tela para o usurio
acompanhar sua execuo.
echo [mensagem]
A opo -n pode ser usada para que no ocorra o salto de linha aps a mensagem ser mostrada.
10.21 su
Permite o usurio mudar sua identidade para outro usurio sem fazer o logout. til para executar um programa
ou comando como root sem ter que abandonar a seo atual.
su [usurio]
Onde: usurio - o nome do usurio que deseja usar para acessar o sistema. Se no digitado, assumido o
usurio root. Ser pedida a senha do superusurio para autenticao. Digite exit quando desejar retornar
a identificao de usurio anterior.
10.22 sync
Grava os dados do cache de disco na memria RAM para todos os discos rgidos e flexveis do sistema. O cache
um mecanismo de acelerao que permite que um arquivo seja armazenado na memria ao invs de ser
imediatamente gravado no disco, quando o sistema estiver ocioso, o arquivo gravado para o disco. O
GNU/Linux procura utilizar toda memria RAM disponvel para o cache de programas acelerando seu
desempenho de leitura/gravao.
sync
O uso do sync til em disquetes quando gravamos um programa e precisamos que os dados sejam gravados
imediatamente para retirar o disquete da unidade. Mas o mtodo recomendado especificar a opo sync
durante a montagem da unidade de disquetes (para detalhes veja fstab, Seo 5.9.1.
10.23 uname
Retorna o nome e verso do Kernel atual.
uname
10.24 reboot
Reinicia o computador.
10.25 shutdown
Desliga/reinicia o computador imediatamente ou aps determinado tempo (programvel) de forma segura.
Todos os usurios do sistema so avisados que o computador ser desligado . Este comando somente pode ser
executado pelo usurio root ou quando usada a opo -a pelos usurios cadastrados no arquivo
/etc/shutdown.allow que estejam logados no console virtual do sistema.
shutdown [opes] [hora] [mensagem]
Onde:
hora - Momento que o computador ser desligado. Voc pode usar HH:MM para definir a hora e
minuto, MM para definir minutos, +SS para definir aps quantos segundos, ou now para imediatamente
(equivalente a +0). O shutdown criar o arquivo /etc/nologin para no permitir que novos usurios faam
login no sistema (com excesso do root). Este arquivo removido caso a execuo do shutdown seja
cancelada (opo -c) ou aps o sistema ser reiniciado.
mensagem - Mensagem que ser mostrada a todos os usurios alertando sobre o reincio/desligamento
Guia Foca GNU/Linux
99
do sistema.
Opes:
-r - Reinicia o sistema
-c - Cancela a execuo do shutdown. Voc pode acrescentar uma mensagem avisando aos usurios
sobre o fato.
-n - Faz com que o shutdown ignore a execuo do init fechando todos os processos.
-t [num] - Faz com que o shutdown envie um sinal de trmino aos processos e aguarde [num] segundos
antes de enviar o sinal KILL.
O shutdown envia uma mensagem a todos os usurios do sistema alertando sobre o desligamento durante os 15
minutos restantes e assim permite que finalizem suas tarefas. Aps isto, o shutdown muda o nvel de execuo
atravs do comando init para 0 (desligamento), 1 (modo monousurio), 6 (reinicializao). recomendado
utilizar o smbolo "&" no final da linha de comando para que o shutdown seja executado em segundo plano.
Quando restarem apenas 5 minutos para o reincio/desligamento do sistema, o programa login ser desativado,
impedindo a entrada de novos usurios no sistema.
O programa shutdown pode ser chamado pelo init atravs do pressionamento da combinao das teclas de
reinicializao CTRL+ALT+DEL alterando-se o arquivo /etc/inittab. Isto permite que somente os usurios
autorizados (ou o root) possam reinicializar o sistema.
Exemplos:
"shutdown -h now" - Desligar o computador imediatamente.
"shutdown -r now" - Reinicia o computador imediatamente.
"shutdown 19:00 A manuteno do servidor ser iniciada s 19:00" - Faz o computador entrar em
modo monousurio (init 1) s 19:00 enviando a mensagem A manuteno do servidor ser
iniciada s 19:00 a todos os usurios conectados ao sistema.
"shutdown -r 15:00 O sistema ser reiniciado s 15:00 horas" - Faz o computador ser reiniciado (init 6)
s 15:00 horas enviando a mensagem O sistema ser reiniciado s 15:00 horas a todos os
usurios conectados ao sistema.
shutdown -r 20 - Faz o sistema ser reiniciado aps 20 minutos.
shutdown -c - Cancela a execuo do shutdown.
shutdown -t 30 -r 20 - Reinicia o sistema aps 20 minutos, espera 30 segundos aps o sinal de trmino
para enviar o sinal KILL a todos os programas abertos.
10.26 wc
Conta o nmero de palavras, bytes e linhas em um arquivo ou entrada padro. Se as opes forem omitidas, o
wc mostra a quantidade de linhas, palavras, e bytes.
wc [opes] [arquivo]
Onde:
arquivo - Arquivo que ser verificado pelo comando wc.
Opes:
100
10.27 chattr
Modifica atributos de arquivos/diretrios. No confunda atributos de arquivo com permisses de acesso
(Permisses de acesso a arquivos e diretrios, Captulo 13), os atributos so diferentes e definem outras
caractersticas especiais para os arquivos/diretrios especificados.
chattr [opes] [atributos] [arquivos/diretrios]
Onde:
arquivos/diretrios - Arquivos/Diretrios que tero os atributos modificados. Podem ser usados
curingas
Opes:
+ - Adiciona o atributo
- - Remove o atributo
a - Append-Only - Arquivos com este atributo podem somente ser gravados em modo incrementais (o
contedo poder somente ser adicionado ao final do arquivo). Eles no podero ser removidos, renomeados
e novos links no podero ser criados para estes arquivos. Em diretrios faz com que os arquivos sejam
apenas adicionados. Somente o root pode especificar ou retirar este atributo.
c - Permite compactao nos arquivos especificados de forma transparente para o usurio. Durante a
leitura, o Kernel retorna dados descompactados e durante a gravao os dados so compactados e gravados
no disco. Este atributo ainda no foi totalmente implementado no cdigo atual do Kernel.
d - Este atributo no usado pelo Kernel, mas faz com que o programa dump evitar backup dos
arquivos marcados com este atributo.
i - Imutvel - Arquivos imutveis no podem ser modificados, os dados tambm no podem ser
gravados para estes arquivos, no podem ser removidos, renomeados. At mesmo o usurio root no poder
modificar estes arquivos. Em diretrios, faz com que arquivos no possam ser adicionados ou apagados.
Somente o usurio root pode especificar ou retirar este atributo.
s - O arquivo especificado marcado como "apagamento seguro"; quando o arquivo apagado, seus
blocos so zerados e gravados de volta no disco (eliminando qualquer possibilidade de recuperao).
S - Faz a gravao imediatamente para o arquivo especificado. como especificar a opo "sync" na
montagem do sistema de arquivos ext2, mas afeta somente os arquivos especificados. No tem efeito em
diretrios.
u - O arquivo especificado marcado como recupervel. Quando o arquivo apagado, seu contedo
salvo para permitir futura recuperao. Este atributo ainda no foi implementado totalmente no cdigo atual
do Kernel.
Os atributos de arquivos/diretrios so visualizados atravs do utilitrio lsattr. Existem patches para os Kernels
da srie 2.2 que adicionam o suporte experimental aos atributos "c" e "u".
Exemplos:
chattr +AacdiSsu teste.txt - Adiciona todos os atributos
chattr =ASs teste.txt - Define os atributos para "ASs"
chattr +i -A teste.txt - Retira o atributo "A" e adiciona "i"
chattr = teste.txt - Retira todos os atributos
10.28 lsattr
Lista atributos de um arquivo/diretrio. Os atributos podem ser modificados atravs do comando chattr.
Guia Foca GNU/Linux
101
10.29 cut
Mostra sees de cada linha do arquivo dependendo das opes passadas ao programa.
cut [opes] [arquivo]
Onde:
arquivo - Arquivo que ser verificado pelo comando cut.
Opes:
-c, --characters [numero] - Mostra somente o [nmero] de caracteres no arquivo. semelhante a opo
"-b" mas tabs e espaos so tratados como qualquer caracter.
-d, --delimite [delimitador] - Para uso com a opo -f, os campos so separados pelo primeiro caracter
em [delimitador] ao invs de tabulaes.
-s - Para uso com a opo -f, somente mostra linhas que contm o caracter separador de campos.
Devem ser especificadas opes para o funcionamento deste comando. Os bytes, campos e delimitadores podem
ser especificados atravs de intervalos de caracteres (usando a-z), atravs de vrgulas (a,b,d) ou da combinao
entre eles.
cut -b 1,3 /etc/passwd - Pega a primeira e terceira letra (byte) de cada linha do arquivo /etc/passwd
cut -b 1,3-10 /etc/passwd - Pega a primeira letra (byte) e terceira a dcima letra de cada linha do
arquivo /etc/passwd.
cut -c 1,3-10 /etc/passwd - Pega o primeiro caracter e terceiro ao dcimo caracter de cada linha do
arquivo /etc/passwd.
10.30 cmp
Compara dois arquivos de qualquer tipo (binrio ou texto). Os dois arquivos especificados sero comparado e
caso exista diferena entre eles, mostrado o nmero da linha e byte onde ocorreu a primeira diferena na sada
padro (tela) e o programa retorna o cdigo de sada 1.
cmp [arquivo1] [arquivo2] [opes]
Onde:
arquivo1/arquivo2 - Arquivos que sero comparados.
Opes:
-l - Mostra o nmero do byte (hexadecimal) e valores diferentes de bytes (octal) para cada diferena.
10.31 dirname
Obtm o nome do diretrio atravs do caminho passado ao programa.
dirname [diretrio/arquivo]
Exemplo: dirname /usr/bin/dirname, dirname /tmp/*.
10.32 diff
Compara dois arquivos e mostra as diferenas entre eles. O comando diff usado somente para a comparao de
Guia Foca GNU/Linux
102
arquivos em formato texto. As diferenas encontradas podem ser redirecionadas para um arquivo que poder ser
usado pelo comando patch para aplicar as alteraes em um arquivo que no contm as diferenas. Isto til
para grandes textos porque possvel copiar somente as modificaes (geradas atravs do diff, que so muito
pequenas) e aplicar no arquivo para atualiza-lo (atravs do patch) ao invs de copiar a nova verso. Este um
sistema de atualizao muito usado na atualizao dos cdigo fonte do Kernel do GNU/Linux.
diff [diretrio1/arquivo1] [diretrio2/arquivo2] [opes]
Onde:
diretrio1/arquivo1 diretrio2/arquivo2 - Arquivos /diretrios que sero comparados. Normalmente
usado como primeiro arquivo/diretrio o mais antigo e o
mais novo como segundo.
Opes:
-lines [num] - Gera a diferena com [num] linhas de contexto. Por padro o diff gera um arquivo com 2
linhas que o mnimo necessrio para o correto funcionamento do patch.
-P - Em uma comparao de diretrios, se o arquivos apenas existe no segundo diretrio, trata-o como
presente mas vazio no primeiro diretrio.
-q - Mostra somente se os dois arquivos possuem diferenas. No mostra as diferenas entre eles.
-S [nome] - Inicia a comparao de diretrios pelo arquivo [nome]. til quando cancelamos uma
comparao.
10.33 pr
Pgina arquivos texto ou a entrada padro para impresso. Este comando faz a paginao de um arquivo texto e
opcionalmente ajusta o nmero de colunas e mostra o resultado na sada padro.
pr [opes] [arquivo]
Onde:
arquivo - Arquivo que ser paginado para impresso.
Opes:
-F, -f - Usa avano de pgina ao invs de linhas em branco para separar pginas.
103
10.34 patch
Atualiza arquivos texto atravs das diferenas geradas pelo comando diff.
patch [opes] [arquivo.diff] ou patch [opes] < [arquivo.diff]
Onde:
arquivo.diff - Arquivo contendo as diferenas geradas pelo comando diff.
Opes:
-p [num] - Nvel do diretrio onde o patch ser aplicado, se igual a 0, o patch assume que os arquivos
que sero atualizados esto no diretrio atual, se 1, assume que os arquivos que sero atualizado esto no
diretrio acima (..), se 2, 2 diretrios acima ...
10.35 whereis
Localiza o arquivo que contm uma pgina de manual. A pesquisa feita usando-se os caminhos de pginas de
manuais configuradas no sistema (normalmente o arquivo /etc/manpath.config).
whereis [comando]
Exemplo: whereis ls, whereis cd.
10.36 which
Mostra a localizao de um arquivo executvel no sistema. A pesquisa de arquivos executveis feita atravs do
path do sistema. Para maiores detalhes, veja path, Seo 7.2.
which [comando]
Exemplos: which ls, which shutdown, which which.
10.37 zforce
Renomeia extenso de arquivos para .gz. Este comando til quando fazemos downloads de arquivos
compactados pelo gzip mas que no esto identificados pela extenso .gz.
zforce [arquivos]
Quando usado o zforce verifica se o arquivo um arquivo compactado pelo gzip, caso seja, verificado se j
tem a extenso .gz, caso no tiver, acrescenta a extenso.
10.38 gzexe
Cria arquivos compactados gzip auto-extrcteis. Este comando usado para compactar arquivos executveis
que se auto-descompactam assim que so solicitados. til para sistemas ou unidades de disco que possuem
pouco espao disponvel. Este comando deve somente ser usado para arquivos executveis.
gzexe [arquivo]
Onde: arquivo - o arquivo executvel que ser compactado.
Quando gzexe executado, uma cpia do arquivo original gravada com o formato nome_do_arquivo~.
Guia Foca GNU/Linux
104
10.39 znew
Recompacta arquivos do formato compress (.Z) para o formato gzip (.gz). Aps a re-compactao, os arquivos
de origem .Z so apagados.
znew [opes] [arquivo]
Onde:
arquivo.Z - Arquivo compactado pelo compress que ser re-compactado para o gzip.
Opes:
-P - Usa pipes durante a converso para reduzir o espao ocupado no disco. A data e hora do arquivo
no mantida caso esta opo seja usada.
105
11.1 who
Mostra quem est atualmente conectado no computador. Este comando lista os nomes de usurios que esto
conectados em seu computador, o terminal e data da conexo.
who [opes]
Opes:
-i, -u, --idle - Mostra o tempo que o usurio est parado em Horas:Minutos.
-m, i am - Mostra o nome do computador e usurio associado ao nome. equivalente a digitar who i am
ou who am i.
-T, -w, --mesg - Mostra se o usurio pode receber mensagens via talk (conversao).
o
+ - O usurio recebe mensagens via talk
o
- - O usurio no recebe mensagens via talk.
o
? - No foi possvel determinar o dispositivo de terminal onde o usurio est conectado.
11.2 Telnet
Permite acesso a um computador remoto. mostrada uma tela de acesso correspondente ao computador local
onde deve ser feita a autenticao do usurio para entrar no sistema. Muito til, mas deve ser tomado cuidados
ao disponibilizar este servio para evitar riscos de segurana.
telnet [opes] [ip/dns] [porta]
onde:
ip/dns - Endereo IP do computador de destino ou nome DNS.
porta - Porta onde ser feita a conexo. Por padro, a conexo feita na porta 23.
Opes:
-8 - Requisita uma operao binria de 8 bits. Isto fora a operao em modo binrio para envio e
recebimento. Por padro, telnet no usa 8 bits.
-a - Tenta um login automtico, enviando o nome do usurio lido da varivel de ambiente USER.
11.3 finger
Mostra detalhes sobre os usurios de um sistema. Algumas verses do finger possuem bugs e podem significar
um risco para a segurana do sistema. recomendado desativar este servio na mquina local.
finger [usurio] [usurio@host]
Onde:
usurio - Nome do usurio que deseja obter detalhes do sistema. Se no for digitado o nome de usurio,
o sistema mostra detalhes de todos os usurios conectados no momento.
usurio@host - Nome do usurio e endereo do computador que deseja obter detalhes.
-l - Mostra os detalhes de todos os usurios conectados no momento. Entre os detalhes, esto includos o
nome do interpretador de comandos (shell) do usurio, diretrio home, nome do usurio, endereo, etc.
Estes dados so lidos de /etc/passwd.
-p - No exibe o contedo dos arquivos .plan e .project
Se for usado sem parmetros, mostra os dados de todos os usurios conectados atualmente ao seu sistema.
Exemplo: finger, finger root.
11.4 ftp
Permite a transferncia de arquivos do computador remoto/local e vice versa. O file transfer protocol o sistema
de transmisso de arquivos mais usado na Internet. requerida a autenticao do usurio para que seja
permitida a conexo. Muitos servidores ftp disponibilizam acesso annimo aos usurios, com acesso restrito.
Guia Foca GNU/Linux
106
Uma vez conectado a um servidor ftp, voc pode usar a maioria dos comandos do GNU/Linux para oper-lo.
ftp [ip/dns]
Abaixo alguns dos comandos mais usados no FTP:
get [arquivo] - Copia um arquivo do servidor ftp para o computador local. O arquivo gravado, por
padro, no diretrio onde o program ftp foi executado.
hash [on/off] - Por padro esta opo est desligada. Quando ligada, faz com que o caracter "#" seja
impresso na tela indicando o progresso do download.
mget [arquivos] - Semelhante ao get, mas pode copiar diversos arquivos e permite o uso de curingas.
send [arquivo] - Envia um arquivo para o diretrio atual do servidor FTP (voc precisa de uma conta
com acesso a gravao para fazer isto).
prompt [on/off] - Ativa ou desativa a pergunta para a cpia de arquivo. Se estiver como off assume sim
para qualquer pergunta.
Exemplo: ftp ftp.br.debian.org.
11.5 whoami
Mostra o nome que usou para se conectar ao sistema. til quando voc usa vrias contas e no sabe com qual
nome entrou no sistema.
whoami
11.6 dnsdomainname
Mostra o nome do domnio de seu sistema.
11.7 hostname
Mostra ou muda o nome de seu computador na rede.
11.8 talk
Inicia conversa com outro usurio em uma rede local ou Internet. Talk um programa de conversao em tempo
real onde uma pessoa v o que a outra escreve.
talk [usurio] [tty]
ou
talk [usurio@host]
Onde:
usurio - Nome de login do usurio que deseja iniciar a conversao. Este nome pode ser obtido com o
comando who (veja who, Seo 11.1).
tty - O nome de terminal onde o usurio est conectado, para iniciar uma conexo local.
usurio@host - Se o usurio que deseja conversar estiver conectado em um computador remoto, voc deve
usar o nome do usurio@hosname do computador.
Aps o talk ser iniciado, ele verificar se o usurio pode receber mensagens, em caso positivo, ele enviar uma
mensagem ao usurio dizendo como responder ao seu pedido de conversa. Veja who, Seo 11.1. Voc deve ter
o daemon do talk instalado (talkd) para receber requisies de conversa.
Voc deve autorizar o recebimento de talks de outros usurios para que eles possam se comunicar com voc ,
para detalhes veja o comando mesg, Seo 10.19.
11.9 ping
Verifica se um computador est disponvel na rede. Este comando muito utilizado por alguns programas de
conexo e administradores para verificar se uma determinada mquina est conectada na rede e tambm para
verificar o tempo de resposta de cada mquina da rede. O ping envia pacotes ICMS ECHO_REQUEST para um
computador, este quando recebe o pacote envia uma resposta ao endereo de origem avisando que est
disponvel na rede.
ping [opes][IP/DNS]
onde:
IP/dns - Endereo IP ou nome DNS do endereo.
Opes:
107
-f - Flood ping - Envia novos pacotes antes de receber a resposta do pacote anterior. Para cada
requisio enviada, um "." mostrado na tela e para cada resposta recebida, um backspace mostrado.
Somente o usurio root pode utilizar esta opo e pode te auxiliar muito na deteco de erros de transmisso
de pacotes em interfaces das mquinas em sua rede.
-i [seg] - Aguarda [seg] segundos antes de enviar cada pacote.
-q - No mostra as requisies enquanto so enviadas, somente mostra as linhas de sumrio no incio e
trmino do programa.
-s [tamanho] - Especifica o tamanho do pacote que ser enviado.
-v, --verbose - Sada detalhada, tanto os pacotes enviados como recebidos so listados.
Exemplo: ping 192.168.1.1, ping www.br.debian.org.
11.10 rlogin
Executa um login em uma mquina local ou remota.
rlogin [opes] [IP/DNS]
onde:
IP/DNS - Endereo IP ou DNS do computador que ser acessado.
Opes:
11.11 rsh
Executa um comando em um computador local ou remoto.
rsh [opes] [IP/DNS] [comando]
Onde:
IP/DNS - Endereo IP ou nome DNS do computador.
comando - Comando que ser executado no computador local/remoto.
Opes:
11.12 w
Mostra quem est conectado no sistema e o que cada um est fazendo.
w [opes][usurio]
onde:
usurio - Nome do usurio que deseja ver os detalhes. Se o usurio no for digitado, o comando w
mostra detalhes de todos os usurios conectados no sistema.
Opes:
-h - No mostra o cabealho
11.13 traceroute
Mostra o caminho percorrido por um pacote para chegar ao seu destino. Este comando mostra na tela o caminho
percorrido entre os Gateways da rede e o tempo gasto de retransmisso. Este comando til para encontrar
computadores defeituosos na rede caso o pacote no esteja chegando ao seu destino.
traceroute [opes] [host/IP de destino]
Onde:
host/IP destino - o endereo para onde o pacote ser enviado (por exemplo, www.debian.org). Caso o
tamanho do pacote no seja especificado, enviado um pacote de 38 bytes.
Opes:
108
-p [porta] - Ajusta a porta que ser usada para o teste. A porta padro 33434.
-r - Pula as tabelas de roteamento e envia o pacote diretamente ao computador conectado a rede.
-s [end] - Usa o endereo IP/DNS [end] como endereo de origem para computadores com mltiplos
endereos IPs ou nomes.
-w [num] - Configura o tempo mximo que aguardar por uma resposta. O padro 3 segundos.
Exemplos: traceroute www.debian.org, traceroute www.linux.org.
11.14 netstat
Mostra conexes de rede, tabela de roteamento, estatsticas de interfaces, conexes masquerade, e mensagens.
netstat [opes]
Opes:
-i [interface] - Mostra estatsticas da interface [interface].
-M, --masquerade - Se especificado, tambm lista conexes masquerade.
-n, --numeric - Usa endereos numricos ao invs de tentar resolver nomes de hosts, usurios e portas.
-c, --continuos - Mostra a listagem a cada segundo at que a CTRL+C seja pressionado.
Se no for especificada nenhuma opo, os detalhes das conexes atuais sero mostrados.
11.15 wall
Envia uma mensagem a todos os usurios do sistema. Este comando faz a leitura de um arquivo ou entrada
padro e escreve o resultado em todos os terminais onde existem usurios conectados. Somente o usurio root
pode utilizar este comando.
wall [arquivo]
Exemplos: wall /tmp/mensagem.txt, echo Teste de mensagem enviada a todos os usurios conectados ao
sistema|wall.
109
12.1 adduser
Adiciona um usurio ou grupo no sistema. Por padro, quando um novo usurio adicionado, criado um
grupo com o mesmo nome do usurio. Ser criado um diretrio home com o nome do usurio (a no ser que o
novo usurio criado seja um usurio do sistema) e este receber uma identificao. A identificao do usurio
(UID) escolhida ser a primeira disponvel no sistema especificada de acordo com a faixa de UIDS de usurios
permitidas no arquivo de configurao /etc/adduser.conf. Este o arquivo que contm os padres para a criao
de novos usurios no sistema.
adduser [opes] [usurio/grupo]
Onde:
usurio/grupo - Nome do novo usurio que ser adicionado ao sistema.
Opes:
-disable-passwd - No executa o programa passwd para escolher a senha e somente permite o uso da conta
aps o usurio escolher uma senha.
--force-badname - Desativa a checagem de senhas ruins durante a adio do novo usurio. Por padro o
adduser checa se a senha pode ser facilmente adivinhada.
--group - Cria um novo grupo ao invs de um novo usurio. A criao de grupos tambm pode ser feita
pelo comando addgroup.
-uid [num] - Cria um novo usurio com a identificao [num] ao invs de procurar o prximo UID
disponvel.
-gid [num] - Faz com que o usurio seja parte do grupo [gid] ao invs de pertencer a um novo grupo que
ser criado com seu nome. Isto til caso deseje permitir que grupos de usurios possam ter acesso a
arquivos comuns. Caso estiver criando um novo grupo com adduser, a identificao do novo grupo ser
[num].
--home [dir] - Usa o diretrio [dir] para a criao do diretrio home do usurio ao invs de usar o
especificado no arquivo de configurao /etc/adduser.conf.
--ingroup [nome] - Quando adicionar um novo usurio no sistema, coloca o usurio no grupo [nome] ao
invs de criar um novo grupo.
--quiet - No mostra mensagens durante a operao.
--system - Cria um usurio de sistema ao invs de um usurio normal.
Os dados do usurio so colocados no arquivo /etc/passwd aps sua criao e os dados do grupo so colocados
no arquivo /etc/group.
OBS: Caso esteja usando senhas ocultas (shadow passwords), as senhas dos usurios sero colocadas no arquivo
/etc/shadow e as senhas dos grupos no arquivo /etc/gshadow. Isto aumenta mais a segurana do sistema porque
somente o usurio root pode ter acesso a estes arquivos, ao contrrio do arquivo /etc/passwd que possui os dados
de usurios e devem ser lidos por todos.
12.2 addgroup
Adiciona um novo grupo de usurios no sistema. As opes usadas so as mesmas do adduser, Seo 12.1.
addgroup [usurio/grupo] [opes]
12.3 passwd
Muda a senha do usurio ou grupo. Um usurio somente pode alterar a senha de sua conta, mas o superusurio
(root) pode alterar a senha de qualquer conta de usurio, inclusive a data de validade da conta, etc. Os donos de
grupos tambm podem alterar a senha do grupo com este comando.
Os dados da conta do usurio como nome, endereo, telefone, tambm podem ser alterados com este comando.
passwd [usurio/grupo] [opes]
Onde:
usurio - Nome do usurio/grupo que ter sua senha alterada.
110
Opes:
-g - Se especificada, a senha do grupo ser alterada. Somente o root ou o administrador do grupo pode
alterar sua senha. A opo -r pode ser usada com esta para remover a senha do grupo. A opo -R pode ser
usada para restringir o acesso do grupo para outros usurios.
-x [dias] - Especifica o nmero mximo de dias que a senha poder ser usada. Aps terminar o prazo, a
senha dever ser modificada.
-i - Desativa a conta caso o usurio no tenha alterado sua senha aps o tempo especificado por -x.
-n [dias] - Especifica o nmero mnimo de dias para a senha ser alterada. O usurio no poder mudar sua
senha at que [dias] sejam atingidos desde a ltima alterao de senha.
-w [num] - Nmero de dias antecedentes que o usurio receber o alerta para mudar sua senha. O alerta
ocorre [num] dias antes do limite da opo -x, avisando ao usurios quantos dias restam para a troca de sua
senha.
-l [nome] - Bloqueia a conta do usurio [nome]. Deve ser usada pelo root. O bloqueio da conta feito
acrescentando um caracter a senha para que no confira com a senha original.
-u [nome] - Desbloqueia a conta de um usurio bloqueada com a opo -l.
-S [nome] - Mostra o status da conta do usurio [nome]. A primeira parte o nome do usurio seguido de
L (conta bloqueada), NP (sem senha), ou P (com senha), a terceira parte a data da ltima modificao da
senha, a quarta parte a perodo mnimo, mximo, alerta e o perodo de inatividade para a senha.
Procure sempre combinar letras maisculas, minsculas, e nmeros ao escolher suas senhas. No
recomendado escolher palavras normais como sua senha pois podem ser vulnerveis a ataques de dicionrios
cracker. Outra recomendao utilizar senhas ocultas em seu sistema (shadow password).
Voc deve ser o dono da conta para poder modificar a senhas. O usurio root pode modificar/apagar a senha de
qualquer usurio.
Exemplo: passwd root.
12.4 newgrp
Altera a identificao de grupo do usurio. Para retornar a identificao anterior, digite exit e tecle Enter. Para
executar um comando com outra identificao de grupo de usurio, use o comando sg, Seo 12.9.
newgrp - [grupo]
Onde:
- - Se usado, inicia um novo ambiente aps o uso do comando newgrp (semelhante a um novo login no
sistema), caso contrrio, o ambiente atual do usurio mantido.
grupo - Nome do grupo ou nmero do grupo que ser includo.
Quando este comando usado, pedida a senha do grupo que deseja acessar. Caso a senha do grupo esteja
incorreta ou no exista senha definida, a execuo do comando negada. A listagem dos grupos que pertence
atualmente pode ser feita usando o comando id, Seo 12.12.
12.5 userdel
Apaga um usurio do sistema. Quando usado, este comando apaga todos os dados da conta especificado dos
arquivos de contas do sistema.
userdel [-r] [usurio]
Onde:
-r - Apaga tambm o diretrio HOME do usurio.
OBS: Note que uma conta de usurio no poder ser removida caso ele estiver no sistema, pois os programas
podem precisar ter acesso aos dados dele (como UID, GID) no /etc/passwd.
12.6 groupdel
Apaga um grupo do sistema. Quando usado, este comando apaga todos os dados do grupo especificado dos
arquivos de contas do sistema.
groupdel [grupo]
Tenha certeza que no existem arquivos/diretrios criados com o grupo apagado atravs do comando find.
OBS: Voc no pode remover o grupo primrio de um usurio. Remova o usurio primeiro.
12.7 lastlog
Mostra o ltimo login dos usurios cadastrados no sistema. mostrado o nome usado no login, o terminal onde
ocorreu a conexo e a hora da ltima conexo. Estes dados so obtidos atravs da pesquisa e formatao do
Guia Foca GNU/Linux
111
arquivo /var/log/lastlog. Caso o usurio no tenha feito login, mostrada a mensagem ** Never logged in **
lastlog [opes]
Opes:
-t [dias] - Mostra somente os usurios que se conectaram ao sistema nos ltimos [dias].
-u [nome] - Mostra somente detalhes sobre o usurio [nome].
A opo -t substitui a opo -u caso sejam usadas.
12.8 last
Mostra uma listagem de entrada e sada de usurios no sistema. So mostrados os seguintes campos na listagem:
Nome do usurio
Terminal onde ocorreu a conexo/desconexo
O hostname (caso a conexo tenha ocorrido remotamente) ou console (caso tenha ocorrido localmente).
A data do login/logout, a hora do login/down se estiver fora do sistema/ still logged in se ainda estiver
usando o sistema
Tempo (em Horas:Minutos) que esteve conectado ao sistema.
A listagem mostrada em ordem inversa, ou seja, da data mais atual para a mais antiga. A listagem feita pelo
last obtida de /var/log/wtmp.
last [opes]
Opes:
-n [num] - Mostra [num] linhas. Caso no seja usada, todas as linhas so mostradas.
-R - No mostra o campo HostName.
-a - Mostra o hostname na ltima coluna. Ser muito til se combinada com a opo -d.
-d - Usa o DNS para resolver o IP de sistemas remotos para nomes DNS.
-x - Mostra as entradas de desligamento do sistema e alteraes do nvel de execuo do sistema.
O comando last pode ser seguido de um argumento que ser pesquisado como uma expresso regular durante a
listagem.
O comando last usa o arquivo /var/log/wtmp para gerar sua listagem, mas alguns sistemas podem no possuir
este arquivo. O arquivo /var/log/wtmp somente usado caso existir. Voc pode cria-lo com o comando "echo -n
>/var/log/wtmp" ou touch /var/log/wtmp.
last - Mostra a listagem geral
last -a - Mostra a listagem geral incluindo o nome da mquina
last gleydson - Mostra somente atividades do usurio gleydson
last reboot - Mostra as reinicializaes do sistema
last tty1 - Mostra todas as atividades no tty1
12.9 sg
Executa um comando com outra identificao de grupo. A identificao do grupo de usurio modificada
somente durante a execuo do comando. Para alterar a identificao de grupo durante sua seo shell, use o
comando newgrp, Seo 12.4.
sg [-] [grupo] [comando]
Onde:
- - Se usado, inicia um novo ambiente durante o uso do comando (semelhante a um novo login e execuo
do comando), caso contrrio, o ambiente atual do usurio mantido.
grupo - Nome do grupo que o comando ser executado.
comando - Comando que ser executado. O comando ser executado pelo bash.
Quando este comando usado, pedida a senha do grupo que deseja acessar. Caso a senha do grupo esteja
incorreta ou no exista senha definida, a execuo do comando negada.
Exemplo: sg root ls /root
112
12.11 chfn
Muda os dados usados pelo comando finger, Seo 11.3.
chfn [usurio] [opes]
Onde:
usurio - Nome do usurio.
Opes:
-f [nome] - Muda o nome completo do usurio.
-r [nome] - Muda o nmero da sala do usurio.
-w [tel] - Muda o telefone de trabalho do usurio.
-h [tel] - Muda o telefone residencial do usurio.
-o [outros] - Muda outros dados do usurio.
Caso o nome que acompanha as opes (como o nome completo) contenha espaos, use "" para identifica-lo.
Exemplo: chfn -f "Nome do Usurio root" root
12.12 id
Mostra a identificao atual do usurio, grupo primrio e outros grupos que pertence.
id [opes] [usurio]
Onde:
usurio - o usurio que desejamos ver a identificao, grupos primrios e complementares.
Opes:
-g, --group - Mostra somente a identificao do grupo primrio.
-G, --groups - Mostra a identificao de outros grupos que pertence.
-n, --name - Mostra o nome do usurio e grupo ao invs da identificao numrica.
-u, --user - Mostra somente a identificao do usurio (user ID).
-r, --real - Mostra a identificao real de usurio e grupo, ao invs da efetiva. Esta opo deve ser usada
junto com uma das opes: -u, -g, ou -G.
Caso no sejam especificadas opes, id mostrar todos os dados do usurio.
Exemplo: id, id --user, id -r -u.
12.13 logname
Mostra seu login (username).
logname
12.14 users
Mostra os nomes de usurios usando atualmente o sistema. Os nomes de usurios so mostrados atravs de
espaos sem detalhes adicionais, para ver maiores detalhes sobre os usurios, veja os comandos id, Seo 12.12
e who, Seo 11.1.
users
Os nomes de usurios atualmente conectados ao sistema so obtidos do arquivo /var/log/wtmp.
12.15 groups
Mostra os grupos que o usurio pertence.
groups [usurio]
Exemplo: groups, groups root
113
114
Da oitava a dcima letra (rwx) diz qual a permisso de acesso para os outros usurios. Neste caso todos os
usurios que no so donos do arquivo teste tem a permisso para ler, gravar e executar o programa.
Veja o comando chmod, Seo 13.7 para detalhes sobre a mudana das permisses de acesso de
arquivos/diretrios.
115
116
permisses de execuo. Em diretrios ela tem o mesmo efeito que a permisso de execuo x.
Exemplo da permisso de acesso especial X:
Crie um arquivo teste (digitando touch teste) e defina sua permisso para rw-rw-r-- (chmod ug=rw,o=r teste
ou chmod 664 teste).
Agora use o comando chmod a+X teste
digite ls -l
Veja que as permisses do arquivo no foram afetadas.
agora digite chmod o+x teste
digite ls -l, voc colocou a permisso de execuo para os outros usurios.
Agora use novamente o comando chmod a+X teste
digite ls -l
Veja que agora a permisso de execuo foi concedida a todos os usurios, pois foi verificado que o arquivo
era executvel (tinha permisso de execuo para outros usurios).
Agora use o comando chmod a-X teste
Ele tambm funcionar e remover as permisses de execuo de todos os usurios, porque o arquivo teste
tem permisso de execuo (confira digitando ls -l).
Agora tente novamente o chmod a+X teste
Voc deve ter reparado que a permisso de acesso especial X semelhante a x, mas somente faz efeito
quanto o arquivo j tem permisso de execuo para o dono, grupo ou outros usurios.
Em diretrios, a permisso de acesso especial X funciona da mesma forma que x, at mesmo se o diretrio
no tiver nenhuma permisso de acesso (x).
13.7 chmod
Muda a permisso de acesso a um arquivo ou diretrio. Com este comando voc pode escolher se usurio ou
grupo ter permisses para ler, gravar, executar um arquivo ou arquivos. Sempre que um arquivo criado, seu
dono o usurio que o criou e seu grupo o grupo do usurio (exceto para diretrios configurados com a
permisso de grupo "s", ser visto adiante).
chmod [opes] [permisses] [diretrio/arquivo]
Onde:
diretrio/arquivo - Diretrio ou arquivo que ter sua permisso mudada.
Opes:
-v, --verbose - Mostra todos os arquivos que esto sendo processados.
-f, --silent - No mostra a maior parte das mensagens de erro.
-c, --change - Semelhante a opo -v, mas s mostra os arquivos que tiveram as permisses alteradas.
-R, --recursive - Muda permisses de acesso do diretrio/arquivo no diretrio atual e sub-diretrios.
ugoa+-=rwxXst - ugoa - Controla que nvel de acesso ser mudado. Especificam, em ordem, usurio (u),
grupo (g), outros (o), todos (a).
+-= - + coloca a permisso, - retira a permisso do arquivo e = define a permisso exatamente como
especificado.
rwx - r permisso de leitura do arquivo. w permisso de gravao. x permisso de execuo (ou acesso a
diretrios).
chmod no muda permisses de links simblicos, as permisses devem ser mudadas no arquivo alvo do link.
Guia Foca GNU/Linux
117
Tambm podem ser usados cdigos numricos octais para a mudana das permisses de acesso a
arquivos/diretrios. Para detalhes veja Modo de permisso octal, Seo 13.10.
DICA: possvel copiar permisses de acesso do arquivo/diretrio, por exemplo, se o arquivo teste.txt tiver a
permisso de acesso r-xr----- e voc digitar chmod o=u, as permisses de acesso dos outros usurios (o) sero
idnticas ao do dono (u). Ento a nova permisso de acesso do arquivo teste.txt ser r-xr--r-x
Exemplos de permisses de acesso:
chmod g+r * - Permite que todos os usurios que pertenam ao grupo dos arquivos (g) tenham (+)
permisses de leitura (r) em todos os arquivos do diretrio atual.
chmod o-r teste.txt - Retira (-) a permisso de leitura (r) do arquivo teste.txt para os outros usurios (usurios
que no so donos e no pertencem ao grupo do arquivo teste.txt).
chmod uo+x teste.txt - Inclui (+) a permisso de execuo do arquivo teste.txt para o dono e outros usurios
do arquivo.
chmod a+x teste.txt - Inclui (+) a permisso de execuo do arquivo teste.txt para o dono, grupo e outros
usurios.
chmod a=rw teste.txt - Define a permisso de todos os usurios exatamente (=) para leitura e gravao do
arquivo teste.txt.
13.8 chgrp
Muda o grupo de um arquivo/diretrio.
chgrp [opes] [grupo] [arquivo/diretrio]
Onde:
grupo - Novo grupo do arquivo/diretrio.
arquivo/diretrio - Arquivo/diretrio que ter o grupo alterado.
Opes:
-c, --changes - Somente mostra os arquivos/grupos que forem alterados.
-f, --silent - No mostra mensagens de erro para arquivos/diretrios que no puderam ser alterados.
-v, --verbose - Mostra todas as mensagens e arquivos sendo modificados.
-R, --recursive - Altera os grupos de arquivos/sub-diretrios do diretrio atual.
13.9 chown
Muda dono de um arquivo/diretrio. Opcionalmente pode tambm ser usado para mudar o grupo.
chown [opes] [dono.grupo] [diretrio/arquivo]
onde:
dono.grupo - Nome do dono.grupo que ser atribudo ao diretrio/arquivo. O grupo opcional.
diretrio/arquivo - Diretrio/arquivo que o dono.grupo ser modificado.
Opes:
-v, --verbose - Mostra os arquivos enquanto so alterados.
-f, --supress - No mostra mensagens de erro durante a execuo do programa.
-c, --changes - Mostra somente arquivos que forem alterados.
-R, --recursive - Altera dono e grupo de arquivos no diretrio atual e sub-diretrios.
O dono.grupo pode ser especificado usando o nome de grupo ou o cdigo numrico correspondente ao grupo
(GID). Voc deve ter permisses de gravao no diretrio/arquivo para alterar seu dono/grupo.
chown joao teste.txt - Muda o dono do arquivo teste.txt para joao.
chown joao.users teste.txt - Muda o dono do arquivo teste.txt para joao e seu grupo para users.
chown -R joao.users * Muda o dono/grupo dos arquivos do diretrio atual e sub-diretrios para
joao/users (desde que voc tenha permisses de gravao no diretrios e
sub-diretrios).
118
13.11 umask
A umask (user mask) so 3 nmeros que definem as permisses iniciais do dono, grupo e outros usurios que o
arquivo/diretrio receber quando for criado ou copiado. Digite umask sem parmetros para retornar o valor de
sua umask atual.
A umask tem efeitos diferentes caso o arquivo que estiver sendo criado for binrio (um programa executvel) ou
texto (Arquivo texto e binrio, Seo 2.2.3) . Veja a tabela a seguir para ver qual a mais adequada a sua
situao:
__________________________________________
|
|
ARQUIVO
| DIRETRIO |
Guia Foca GNU/Linux
119
| UMASK |---------------------------- |
|
|
| Binrio | Texto |
|
|------------------------------------------- |------------------ |
| 0
|
r-x
| rw|
rwx
|
| 1
|
r-| rw|
rw|
| 2
|
r-x
| r-|
r-x
|
| 3
|
r-| r-|
r-|
| 4
|
--x
| -w|
-wx
|
| 5
|
--| -w|
-w|
| 6
|
--x
| --|
--x
|
| 7
|
--| --|
--|
| _________________________________________ |
Um arquivo texto criado com o comando umask 012;touch texto.txt receber as permisses -rw-rw-r--, pois 0
(dono) ter permisses rw-, 1 (grupo), ter permisses rw- e 2 (outros usurios) tero permisses r--. Um
arquivo binrio copiado com o comando umask 012;cp /bin/ls /tmp/ls receber as permisses -r-xr--r-x (confira
com a tabela acima).
Por este motivo preciso um pouco de ateno antes de escolher a umask, um valor mal escolhido poderia
causar problemas de acesso a arquivos, diretrios ou programas no sendo executados. O valor padro da umask
na maioria das distribuies atuais 022. A umask padro no sistema Debian a 022 .
A umask de grande utilidade para programas que criam arquivos/diretrios temporrios, desta forma pode-se
bloquear o acesso de outros usurios desde a criao do arquivo, evitando recorrer ao chmod.
120
14.1 >
Redireciona a sada de um programa/comando/script para algum dispositivo ou arquivo ao invs do dispositivo
de sada padro (tela). Quando usado com arquivos, este redirecionamento cria ou substitui o contedo do
arquivo.
Por exemplo, voc pode usar o comando ls para listar arquivos e usar ls >listagem para enviar a sada do
comando para o arquivo listagem. Use o comando cat para visualizar o contedo do arquivo listagem.
O mesmo comando pode ser redirecionado para o segundo console /dev/tty2 usando: ls >/dev/tty2, o resultado
do comando ls ser mostrado no segundo console (pressione ALT e F2 para mudar para o segundo console e
ALT e F1 para retornar ao primeiro).
14.2 >>
Redireciona a sada de um programa/comando/script para algum dispositivo ou final de arquivo ao invs do
dispositivo de sada padro (tela). A diferena entre este redirecionamento duplo e o simples, se caso for usado
com arquivos, adiciona a sada do comando ao final do arquivo existente ao invs de substituir seu contedo. .
Por exemplo, voc pode acrescentar a sada do comando ls ao arquivo listagem do captulo anterior usando ls /
>>listagem. Use o comando cat para visualizar o contedo do arquivo listagem.
O mesmo comando pode ser redirecionado para o segundo console /dev/tty2 usando: ls >/dev/tty2, o resultado
do comando ls ser mostrado no segundo console (pressione ALT e F2 para mudar para o segundo console e
ALT e F1 para retornar ao primeiro).
14.3 <
Direciona a entrada padro de arquivo/dispositivo para um comando. Este comando faz o contrrio do anterior,
ele envia dados ao comando.
Voc pode usar o comando cat <teste.txt para enviar o contedo do arquivo teste.txt ao comando cat que
mostrar seu contedo ( claro que o mesmo resultado pode ser obtido com cat teste.txt mas este exemplo serviu
para mostrar a funcionalidade do <).
14.4 | (pipe)
Envia a sada de um comando para a entrada do prximo comando para continuidade do processamento. Os
dados enviados so processados pelo prximo comando que mostrar o resultado do processamento.
Por exemplo: ls -la|more, este comando faz a listagem longa de arquivos que enviado ao comando more (que
tem a funo de efetuar uma pausa a cada 25 linhas do arquivo).
Outro exemplo o comando "locate find|grep bin/", neste comando todos os caminhos/arquivos que contm
find na listagem sero mostrados (inclusive man pages, bibliotecas, etc.), ento enviamos a sada deste comando
para grep bin/ para mostrar somente os diretrios que contm binrios. Mesmo assim a listagem ocupe mais de
uma tela, podemos acrescentar o more: locate find|grep bin/|more.
Podem ser usados mais de um comando de redirecionamento (<, >, |) em um mesmo comando.
14.6 tee
Envia o resultado do programa para a sada padro (tela) e para um arquivo ao mesmo tempo. Este comando
deve ser usado com o pipe "|".
comando|tee [arquivo]
Exemplo: ls -la|tee listagem.txt, a sada do comando ser mostrada normalmente na tela e ao mesmo
Guia Foca GNU/Linux
121
122
Captulo 15 Rede
Este captulo descreve o que uma rede, os principais dispositivos de rede no GNU/Linux, a identificao de
cada um, como configurar os dispositivos, escolha de endereos IP, roteamento.
Parte deste captulo, uns 70% pelo menos, baseado no documento NET3-4-HOWTO. (seria perda de tempo
reescrever este assunto pois existe um material desta qualidade j disponvel).
15.3 Endereo IP
O endereo IP so nmeros que identificam seu computador em uma rede. Inicialmente voc pode imaginar o
IP como um nmero de telefone. O IP compostos por quatro bytes e a conveno de escrita dos nmeros
chamada de "notao decimal pontuada". Por conveno, cada interface (placa usada p/ rede) do computador ou
roteador tem um endereo IP. Tambm permitido que o mesmo endereo IP seja usado em mais de uma
interface de uma mesma mquina mas normalmente cada interface tem seu prprio endereo IP.
As Redes do Protocolo Internet so seqncias contnuas de endereos IP's. Todos os endereos dentro da rede
tem um nmero de dgitos dentro dos endereos em comum. A poro dos endereos que so comuns entre
todos os endereos de uma rede so chamados de poro da rede. Os dgitos restantes so chamados de poro
dos hosts. O nmero de bits que so compartilhados por todos os endereos dentro da rede so chamados de
netmask (mscara da rede) e o papel da netmask determinar quais endereos pertencem ou no a rede. Por
exemplo, considere o seguinte:
------------------------------------------Endereo do Host
192.168.110.23
Mscara da Rede
255.255.255.0
Poro da Rede
192.168.110.
Poro do Host
.23
------------------------------------------Endereo da Rede
192.168.110.0
Endereo Broadcast
192.168.110.255
------------------------------------------Qualquer endereo que finalizado em zero em sua netmask, revelar o endereo da rede que pertence. O
endereo e rede ento sempre o menor endereo numrico dentro da escalas de endereos da rede e sempre
possui a poro host dos endereos codificada como zeros.
Guia Foca GNU/Linux
123
O endereo de broadcast um endereo especial que cada computador em uma rede "escuta" em adio a seu
prprio endereo. Este um endereo onde os datagramas enviados so recebidos por todos os computadores da
rede. Certos tipos de dados como informaes de roteamento e mensagens de alerta so transmitidos para o
endereo broadcast, assim todo computador na rede pode recebe-las simultaneamente.
Existe dois padres normalmente usados para especificar o endereo de broadcast. O mais amplamente aceito
para usar o endereo mais alto da rede como endereo broadcast. No exemplo acima este seria 192.168.110.255.
Por algumas razes outros sites tem adotado a conveno de usar o endereo de rede como o endereo
broadcast. Na prtica no importa muito se usar este endereo, mas voc deve ter certeza que todo computador
na rede esteja configurado para escutar o mesmo endereo broadcast.
124
Classe A
Classe B:
Classe C
Mscara
(Forma
octal)
/8
/16
/17
/18
/19
/20
/21
/22
/23
/24
/25
/26
/27
/28
/29
/30
/32
Mscara (Forma
32 bits)
/255.0.0.0
/255.255.0.0
/255.255.128.0
/255.255.192.0
/255.255.224.0
/255.255.240.0
/255.255.248.0
/255.255.252.0
/255.255.254.0
/255.255.255.0
/255.255.255.128
/255.255.255.192
/255.255.255.224
/255.255.255.240
/255.255.255.248
/255.255.255.252
/255.255.255.255
Nmero
Mximo de
Mquinas
16,777,215
65,535
32,767
16,383
8,191
4,095
2,047
1,023
511
255
127
63
31
15
7
3
1
Qualquer outra mscara fora desta tabela (principalmente para a classe A), dever ser redimensionada com uma
calculadora de IP para chegar a um nmero aproximado de redes/mquinas aproximados que deseja.
125
15.5 Roteamento
Roteamento quando uma mquina com mltiplas conexes de rede decide onde entregar os pacotes IP que
recebeu, para que cheguem ao seu destino.
Pode ser til ilustrar isto com um exemplo. Imagine um simples roteador de escritrio, ele pode ter um link
intermitente com a Internet, um nmero de segmentos ethernet alimentando as estaes de trabalho e outro link
PPP intermitente fora de outro escritrio. Quando o roteador recebe um datagrama de qualquer de suas conexes
de rede, o mecanismo que usa determina qual a prxima interface deve enviar o datagrama. Computadores
simples tambm precisam rotear, todos os computadores na Internet tem dois dispositivos de rede, um a
interface loopback (explicada acima) o outro um usado para falar com o resto da rede, talvez uma ethernet,
talvez uma interface serial PPP ou SLIP.
OK, viu como o roteamento funciona? cada computador mantm uma lista de regras especiais de roteamento,
chamada tabela de roteamento. Esta tabela contm colunas que tipicamente contm no mnimo trs campos, o
primeiro o endereo de destino, o segundo o nome da interface que o datagrama deve ser roteado e o terceiro
opcionalmente o endereo IP da outra mquina que levar o datagrama em seu prximo passo atravs da rede.
No GNU/Linux voc pode ver a tabela de roteamento usando um dos seguintes comandos:
cat /proc/net/route
route -n
netstat -r
O processo de roteamento muito simples: um datagrama (pacote IP) recebido, o endereo de destino (para
quem ele ) examinado e comparado com cada item da tabela de roteamento. O item que mais corresponder
com o endereo selecionado e o datagrama direcionado a interface especificada.
Se o campo gateway estiver preenchido, ento o datagrama direcionado para aquele computador pela interface
especificada, caso contrrio o endereo de destino assumido sendo uma rede suportada pela interface.
126
gw acima, especifica que o prximo argumento um endereo IP (de uma rede j acessvel atravs das tabelas
de roteamento).
O computador gateway est conectado a duas ou mais redes ao mesmo tempo. Quando seus dados precisam ser
enviados para computadores fora da rede, eles so enviados atravs do computador gateway e o gateway os
encaminham ao endereo de destino. Desta forma, a resposta do servidor tambm enviada atravs do gateway
para seu computador ( o caso de uma tpica conexo com a Internet).
A nossa configurao ficaria assim:
route add -net 192.168.1.0 eth0
route add default gw 192.168.1.1 eth0
Para mais detalhes, veja a pgina de manual do route ou o NET3-4-HOWTO.
127
15.6.2.1 /etc/resolv.conf
O /etc/resolv.conf o arquivo de configurao principal do cdigo do resolvedor de nomes. Seu formato um
arquivo texto simples com um parmetro por linha e o endereo de servidores DNS externos so especificados
nele. Existem trs palavras chaves normalmente usadas que so:
domain - Especifica o nome do domnio local.
search - Especifica uma lista de nomes de domnio alternativos ao procurar por um computador, separados
por espaos. A linha search pode conter no mximo 6 domnios ou 256 caracteres.
nameserver - Especifica o endereo IP de um servidor de nomes de domnio para resoluo de nomes.
Pode ser usado vrias vezes.
Como exemplo, o /etc/resolv.conf se parece com isto:
domain maths.wu.edu.au
search maths.wu.edu.au wu.edu.au
nameserver 192.168.10.1
nameserver 192.168.12.1
Este exemplo especifica que o nome de domnio a adicionar ao nome no qualificado (ie hostnames sem o
domnio) maths.wu.edu.au e que se o computador no for encontrado naquele domnio ento a procura segue
para o domnio wu.edu.au diretamente. Duas linhas de nomes de servidores foram especificadas, cada uma pode
ser chamada pelo cdigo resolvedor de nomes para resolver o nome.
15.6.2.2 /etc/host.conf
O arquivo /etc/host.conf o local onde possvel configurar alguns tens que gerenciam o cdigo do resolvedor
de nomes. O formato deste arquivo descrito em detalhes na pgina de manual resolv+. Em quase todas as
situaes, o exemplo seguinte funcionar:
order hosts,bind
multi on
Este arquivo de configurao diz ao resolvedor de nomes para checar o arquivo /etc/hosts (parmetro hosts)
antes de tentar verificar um servidor de nomes (parmetro bind) e retornar um endereo IP vlido para o
computador procurado e multi on retornar todos os endereos IP resolvidos no arquivo /etc/hosts ao invs do
primeiro.
Os seguintes parmetros podem ser adicionados para evitar ataques de IP spoofing:
nospoof on
spoofalert on
O parmetro nospoof on ativa a resoluo reversa do nome da bibliteca resolv (para checar se o endereo
pertence realmente quele nome) e o spoofalert on registra falhas desta operao no syslog.
15.6.2.3 /etc/hosts
O arquivo /etc/hosts contm uma relao entre o endereo IP e o nome de computadores. Recomendado para Ips
constantemente acessados e para colocao de endereos de virual hosts (quando desejar se referir pelo nome ao
invs de IP). A incluso de um computador neste arquivo dispensa a consulta de um servidor de nomes para
obter um endereo IP, sendo muito til para mquinas que so acessadas frequentemente. A desvantagem de
fazer isto que voc mesmo precisar manter este arquivo atualizado e se o endereo IP de algum computador
for modificado, esta alterao dever ser feita em cada um dos arquivos hosts das mquinas da rede. Em um
sistema bem gerenciado, os nicos endereos de computadores que aparecero neste arquivo sero da interface
loopback e os nomes de computadores.
# /etc/hosts
127.0.0.1 localhost loopback
192.168.0.1 this.host.name
Guia Foca GNU/Linux
128
Voc pode especificar mais que um nome de computador por linha como demonstrada pela primeira linha, a que
identifica a interface loopback.
OBS: Caso encontre problemas de lentido para resolver nomes e at para executar os aplicativos (como o mcI,
etc), verifique se existem erros neste arquivo de configurao.
Estes sintomas se confundem com erros de memria ou outro erro qualquer de configurao de hardware, e
somem quando a interface de rede desativada (a com IP, no loopback). Isto causado somente pela m
configurao do arquivo /etc/hosts. O bom funcionamento do Unix depende da boa ateno do administrador de
sistemas para configurar os detalhes do seu servidor.
15.6.2.4 /etc/networks
O arquivo /etc/networks tem uma funo similar ao arquivos /etc/hosts. Ele contm um banco de dados simples
de nomes de redes contra endereos de redes. Seu formato se difere por dois campos por linha e seus campos
so identificados como:
Nome_da_Rede Endereo_da_Rede
Abaixo um exemplo de como se parece este arquivo:
loopnet 127.0.0.0
localnet 192.168.1.0
amprnet 44.0.0.0
Quando usar comandos como route, se um destino uma rede e esta rede se encontra no arquivo /etc/networks,
ento o comando route mostrar o nome da rede ao invs de seu endereo.
129
pela conexo dos clientes. Quando uma conexo solicitada, o daemon inetd verifica as permisses de acesso
nos arquivos /etc/hosts.allow e /etc/hosts.deny e carrega o programa servidor correspondente no arquivo
/etc/inetd.conf. Um arquivo tambm importante neste processo o /etc/services que faz o mapeamento das
portas e nomes dos servios.
Alguns programas servidores oferecem a opo de serem executados como daemons ou atravs do inetd.
recomendvel escolher inetd se o servio no for solicitado freqentemente (como o caso de servidores ftp,
telnet, talk, etc).
15.7.2.1 /etc/inetd.conf
O arquivo /etc/inetd.conf um arquivo de configurao para o daemon servidor inetd. Sua funo dizer ao
inetd o que fazer quando receber uma requisio de conexo para um servio em particular. Para cada servio
que deseja aceitar conexes, voc precisa dizer ao inetd qual daemon servidor executar e como executa-lo.
Seu formato tambm muito simples. um arquivo texto com cada linha descrevendo um servio que deseja
oferecer. Qualquer texto em uma linha seguindo uma "#" ignorada e considerada um comentrio. Cada linha
contm sete campos separados por qualquer nmero de espaos em branco (tab ou espaos). O formato geral o
seguinte:
servio tipo_soquete proto opes usurio caminho_serv. opes_serv.
Opes:
servio - o servio relevante a este arquivo de configurao pego do arquivo /etc/services.
tipo_soquete - Este campo descreve o tipo do soquete que este item utilizar, valores permitidos so:
stream, dgram, raw, rdm, ou seqpacket. Isto um pouco tcnico de natureza, mas como uma regra geral,
todos os servios baseados em tcp usam stream e todos os protocolos baseados em udp usam dgram.
Somente alguns tipos de daemons especiais de servidores usam os outros valores.
protocolo - O protocolo considerado vlido para este tem. Isto deve bater com um tem apropriado no
arquivo /etc/services e tipicamente ser tcp ou udp. Servidores baseados no Sun RPC (Remote Procedure
Call), utilizam rpc/tcp ou rpc/udp.
opes - Existem somente duas configuraes para este campo. A configurao deste campo diz ao inetd se
o programa servidor de rede libera o soquete aps ele ser iniciado e ento se inetd pode iniciar outra cpia
na prxima requisio de conexo, ou se o inetd deve aguardar e assumir que qualquer servidor j em
execuo pegar a nova requisio de conexo.
Este um pequeno truque de trabalho, mas como uma regra, todos os servidores tcp devem ter este
parmetro ajustado para nowait e a maior parte dos servidores udp deve t-lo ajustado para wait. Foi
alertado que existem algumas excesses a isto, assim deixo isto como exemplo se no estiver seguro.
usurio - Este campo descreve que conta de usurio usurio no arquivo /etc/passwd ser escolhida como
dono do daemon de rede quando este for iniciado. Isto muito til se voc deseja diminuir os riscos de
segurana. Voc pode ajustar o usurio de qualquer item para o usurio nobody, assim se a segurana do
servidor de redes quebrada, a possibilidade de problemas minimizada. Normalmente este campo
ajustado para root, porque muitos servidores requerem privilgios de usurio root para funcionarem
corretamente.
caminho_servidor - Este campo o caminho para o programa servidor atual que ser executado.
argumentos_servidor - Este campo inclui o resto da linha e opcional. Voc pode colocar neste campo
qualquer argumento da linha de comando que deseje passar para o daemon servidor quando for iniciado.
Uma dica que pode aumentar significativamente a segurana de seu sistema comentar (colocar uma #no incio
da linha) os servios que no sero utilizados.
Abaixo um modelo de arquivo /etc/inetd.conf usado em sistemas Debian:
# /etc/inetd.conf: veja inetd(8) para mais detalhes.
#
# Banco de Dados de configuraes do servidor Internet
#
#
# Linhas iniciando com "#:LABEL:" ou "#<off>#" no devem
# ser alteradas a no ser que saiba o que est fazendo!
#
#
# Os pacotes devem modificar este arquivo usando update-inetd(8)
#
# <nome_servio> <tipo_soquete> <proto> <opes> <usurio> <caminho_servidor> <args>
#
#:INTERNO: Servios internos
Guia Foca GNU/Linux
130
#echo
stream tcp
nowait root
internal
#echo
dgram udp
wait
root
internal
#chargen stream tcp
nowait root
internal
#chargen dgram udp
wait
root
internal
#discard
stream tcp
nowait root
internal
#discard
dgram udp
wait
root
internal
#daytime
stream tcp
nowait root
internal
#daytim
dgram udp
wait
root
internal
time
stream tcp
nowait root
internal
#time
dgram udp
wait
root
internal
#
#:PADRES: Estes so servios padres.
#:BSD: Shell, login, exec e talk so protocolos BSD.
#shell
stream tcp
nowait
root
/usr/sbin/tcpd /usr/sbin/in.rshd
#login
stream tcp
nowait
root
/usr/sbin/tcpd /usr/sbin/in.rlogind
#exec
stream tcp
nowait
root
/usr/sbin/tcpd /usr/sbin/in.rexecd
talk
dgram udp
wait
nobody.tty
/usr/sbin/tcpd /usr/sbin/in.talkd
ntalk
dgram udp
wait
nobody.tty
/usr/sbin/tcpd /usr/sbin/in.ntalkd
#:MAIL: Mail, news e servios uucp.
smtp
stream tcp
nowait mail /usr/sbin/exim exim -bs
#:INFO: Servios informativos
#:BOOT: O servio Tftp oferecido primariamente para a inicializao. Alguns sites
# o executam somente em mquinas atuando como "servidores de inicializao".
#:RPC: Servios baseados em RPC
#:HAM-RADIO: servios de rdio amador
#:OTHER: Outros servios
15.8.1 /etc/ftpusers
O arquivo /etc/ftpusers um mecanismo simples que lhe permite bloquear a conexo de certos usurios via ftp.
O arquivo /etc/ftpusers lido pelo programa daemon ftp (ftpd) quando um pedido de conexo recebido. O
arquivo uma lista simples de usurios que no tem permisso de se conectar. Ele se parece com:
# /etc/ftpusers - login de usurios bloqueados via ftp
root
uucp
bin
mail
131
15.8.2 /etc/securetty
O arquivo /etc/securetty lhe permite especificar que dispositivos tty que o usurio root pode se conectar. O
arquivo /etc/securetty lido pelo programa login (normalmente /bin/login). Seu formato uma lista de
dispositivos tty onde a conexo permitida, em todos os outros, a entrada do usurio root bloqueada.
# /etc/securetty - terminais que o usurio root pode se conectar
tty1
tty2
tty3
tty4
15.8.3.1 /etc/hosts.allow
O arquivo /etc/hosts.allow um arquivo de configurao do programa /usr/sbin/tcpd. O arquivo hosts.allow
contm regras descrevendo que hosts tem permisso de acessar um servio em sua mquina.
O formato do arquivo muito simples:
# /etc/hosts.allow
#
# lista de servios: lista de hosts : comando
Onde:
lista de servios - uma lista de nomes de servios separados por vrgula que esta regra se aplica.
Exemplos de nomes de servios so: ftpd, telnetd e fingerd.
lista de hosts - uma lista de nomes de hosts separada por vrgula. Voc tambm pode usar endereos IP's
aqui. Adicionalmente, voc pode especificar nomes de computadores ou endereo IP usando caracteres
coringas para atingir grupos de hosts.
Exemplos incluem: gw.vk2ktj.ampr.org para conferir com um endereo de computador especfico,
.uts.edu.au para atingir qualquer endereo de computador finalizando com aquele string. Use 200.200.200.
para conferir com qualquer endereo IP iniciando com estes dgitos. Existem alguns parmetros especiais
para simplificar a configurao, alguns destes so: ALL atinge todos endereos, LOCAL atinge qualquer
computador que no contm um "." (ie. est no mesmo domnio de sua mquina) e PARANOID atinge
qualquer computador que o nome no confere com seu endereo (falsificao de nome). Existe tambm um
ltimo parmetro que tambm til: o parmetro EXCEPT lhe permite fazer uma lista de excees. Isto
ser coberto em um exemplo adiante.
comando - um parmetro opcional. Este parmetro o caminho completo de um comando que dever
ser executado toda a vez que esta regra conferir. Ele pode executar um comando para tentar identificar quem
esta conectado pelo host remoto, ou gerar uma mensagem via E-Mail ou algum outro alerta para um
administrador de rede que algum est tentando se conectar.
Existem um nmero de expanses que podem ser includas, alguns exemplos comuns so: %h expande o
endereo do computador que est conectado ou endereo se ele no possuir um nome, %d o nome do daemon
sendo chamado.
Se o computador tiver permisso de acessar um servio atravs do /etc/hosts.allow, ento o /etc/hosts.deny no
ser consultado e o acesso ser permitido.
Como exemplo:
# /etc/hosts.allow
#
# Permite que qualquer um envie e-mails
Guia Foca GNU/Linux
132
in.smtpd: ALL
# Permitir telnet e ftp somente para hosts locais e myhost.athome.org.au
in.telnetd, in.ftpd: LOCAL, myhost.athome.org.au
# Permitir finger para qualquer um mas manter um registro de quem
in.fingerd: ALL: (finger @%h | mail -s "finger from %h" root)
Qualquer modificao no arquivo /etc/hosts.allow entrar em ao aps reiniciar o daemon inetd. Isto pode ser
feito com o comando kill -HUP [pid do inetd], o pid do inetd pode ser obtido com o comando ps ax|grep inetd.
15.8.3.2 /etc/hosts.deny
O arquivo /etc/hosts.deny um arquivo de configurao das regras descrevendo quais computadores no tem a
permisso de acessar um servio em sua mquina.
Um modelo simples deste arquivo se parece com isto:
# /etc/hosts.deny
#
# Bloqueia o acesso de computadores com endereos suspeitos
ALL: PARANOID
#
# Bloqueia todos os computadores
ALL: ALL
A entrada PARANOID realmente redundante porque a outra entrada nega tudo. Qualquer uma destas linhas
pode fazer uma segurana padro dependendo de seu requerimento em particular.
Tendo um padro ALL: ALL no arquivo /etc/hosts.deny e ento ativando especificamente os servios e
permitindo computadores que voc deseja no arquivo /etc/hosts.allow a configurao mais segura.
Qualquer modificao no arquivo /etc/hosts.deny entrar em ao aps reiniciar o daemon inetd. Isto pode ser
feito com o comando kill -HUP [pid do inetd], o pid do inetd pode ser obtido com o comando ps ax|grep inetd.
133
algum desejar conversar) e a terceira somente permite enviar dados do finger para computadores dentro de
nossa rede privada (exceto para 192.168.1.30).
O arquivo hosts.deny contm a seguinte linha:
ALL: ALL
Qualquer outra conexo ser explicitamente derrubada.
Vamos aos testes, digitando: "tcpdmatch in.fingerd 127.0.0.1" (verificar se o endereo 127.0.0.1 tem acesso ao
finger):
client: address 127.0.0.1
server: process in.fingerd
matched: /etc/hosts.allow line 1
access: granted
Ok, temos acesso garantido com especificado pela linha 1 do hosts.allow (a primeira linha que confere usada).
Agora "tcpdmatch in.fingerd 192.168.1.29":
client: address 192.168.1.29
server: process in.fingerd
matched: /etc/hosts.allow line 3
access: granted
O acesso foi permitido atravs da linha 3 do hosts.allow. Agora "tcpdmatch in.fingerd 192.168.1.29":
client: address 192.168.1.30
server: process in.fingerd
matched: /etc/hosts.deny line 1
access: denied
O que aconteceu? como a linha 2 do hosts.allow permite o acesso a todos os computadores 192.168.1.* exceto
192.168.1.30, ela no bateu, ento o processamento partiu para o hosts.deny que nega todos os servios para
qualquer endereo. Agora um ltimo exemplo: "tcpdmatch in.talkd www.debian.org"
client: address www.debian.org
server: process in.talkd
matched: /etc/hosts.allow line 2
access: granted
Ok, na linha 2 qualquer computador pode te chamar para conversar via talk na rede, mas para o endereo DNS
conferir com um IP especificado, o GNU/Linux faz a resoluo DNS, convertendo o endereo para IP e
verificando se ele possui acesso.
No lugar do endereo tambm pode ser usado a forma daemon@computador ou cliente@computador para
verificar respectivamente o acesso de daemons e cliente de determinados computadores aos servios da rede.
Como pode ver o TCPD ajuda a aumentar a segurana do seu sistema, mas no confie nele alm do uso em um
sistema simples, necessrio o uso de um firewall verdadeiro para controlar minuciosamente a segurana do seu
sistema e dos pacotes que atravessam os protocolos, roteamento e as interfaces de rede. Se este for o caso
aprenda a trabalhar a fundo com firewalls e implemente a segurana da sua rede da forma que melhor planejar.
15.8.4 Firewall
Dentre todos os mtodos de segurana, o Firewall o mais seguro. A funo do Firewall bloquear
determinados tipos de trfego de um endereo ou para uma porta local ou permitir o acesso de determinados
usurios mas bloquear outros, bloquear a falsificao de endereos, redirecionar trfego da rede, ping da morte,
etc.
A implementao de um bom firewall depender da experincia, conhecimentos de rede (protocolos,
roteamento, interfaces, endereamento, masquerade, etc), da rede local, e sistema em geral do Administrador de
redes, a segurana de sua rede e seus dados dependem da escolha do profissional correto, que entenda a fundo o
TCP/IP, roteamento, protocolos, servios e outros assuntos ligados a rede.
Freqentemente tem se ouvido falar de empresas que tiveram seus sistemas invadidos, em parte isto devido a
escolha do sistema operacional indevido mas na maioria das vezes o motivo a falta de investimento da
empresa em polticas de segurana, que algumas simplesmente consideram a segurana de seus dados e sigilo
interno como uma despesa a mais.
Um bom firewall que recomendo o ipchains, Sinus e o TIS. Particularmente gosto muito de usar o ipchains e o
Sinus e possvel fazer coisas inimaginveis programando scripts para interagirem com estes programas...
134
15.9.2 /etc/protocols
O arquivo /etc/protocols um banco de dados que mapeia nmeros de identificao de protocolos novamente
em nomes de protocolos. Isto usado por programadores para permiti-los especificar protocolos por nomes em
seus programas e tambm por alguns programas tal como tcpdump permitindo-os mostrar nomes ao invs de
nmeros em sua sada. A sintaxe geral deste arquivo :
nomeprotocolo nmero apelidos
Darpa
OSI
O padro Darpa dividido em 4 camadas e ainda o padro atualmente utilizado. O padro OSI mais recente,
dividido em 7 camadas, mas ainda no se tornou um padro como o Darpa.
Segue abaixo os padres e a descrio de cada uma das camadas:
Darpa
Aplicao - www, ftp, dns, etc. Fazem interface com as aplicaes do sistema.
Transporte - Protocolo tcp e udp. Cuidam da parte de transporte dos dados do sistema.
Rede - IP, icmp, igmp, arp. Cuida de levar o pacote para seu destino (rotas) e condies de transmisso.
Interface de Rede - Ethernet, FDDI, Token Ring. Define qual o mtodo que a mensagem transmitida
ser encapsulada para envio ao seu destino.
Apesar dos padres Darpa e OSI, o protocolo TCP/IP oficialmente independente destas camadas.
135
15.11.1 IP Alias
Este recurso permite configurar uma interface de rede para responder por um ou mais IPs, que no precisam
pertencer a mesma faixa. Para usurios externos, a impresso que a rede tem "muitas" mquinas, quando na
realidade apenas uma responde por todos estes endereos virtuais. Podemos citar algumas utilizaes teis deste
recurso:
Definir endereamentos secundrios para fins de anlise e depurao de pacotes (principalmente como
armadilhas para trojans)
Ative a interface de rede com ifconfig ou ifup (caso esteja usando a Debian).
Crie uma interface virtual usando o comando ifconfig eth0:0 172.16.0.1. Isto criar uma nova interface
chamada eth0:0 que passar a responder pelo IP 172.6.0.1. permitido o uso de nomes para especificar a
interface virtual, como: eth0:rede1, eth0:rede2, eth0:escritrio.
Digite ifconfig para ver as configuraes de sua nova interface de rede. Use o ping tambm para v-la:
ping 172.16.0.1.
eth0
Encapsulamento do Link: Ethernet Endereo de HW 00:80:AE:B3:AA:AA
inet end.: 192.168.1.1 Bcast:192.168.1.255 Masc:255.255.255.0
UP BROADCASTRUNNING MULTICAST MTU:1500 Mtrica:1
RX packets:979 errors:0 dropped:0 overruns:0 frame:0
TX packets:1228 errors:0 dropped:0 overruns:0 carrier:0
colises:1 txqueuelen:100
RX bytes:71516 (69.8 Kb) TX bytes:1146031 (1.0 Mb)
IRQ:10 Endereo de E/S:0x300
eth0:0 Encapsulamento do Link: Ethernet Endereo de HW 00:80:AE:B3:AA:AA
inet end.: 192.168.1.10 Bcast:192.168.1.255 Masc:255.255.255.0
UP BROADCASTRUNNING MULTICAST MTU:1500 Mtrica:1
IRQ:10 Endereo de E/S:0x300
Note que o MAC Address da placa eth0 e eth0:0 so o mesmo, indicando que a mesma interface atende ambos
os IPs.
Se necessrio ajuste as rotas ou gateway com o comando route (veja Configurando uma rota no Linux, Seo
15.5.1).
Para desativar uma interface de rede virtual, utilize a sintaxe: ifconfig eth0:0 down ou ifdown eth0:0 (caso esteja
usando a Debian).
Se o teste com o ping no funcionar, verifique se possui o suporte a IP Alias no Kernel, se o mdulo precisa ser
carregado manualmente (caso seu Kernel no esteja compilado com o kmod) ou se existe um firewall restritivo
bloqueando seu IP.
Na distribuio Debian a configurao de uma interface virtual pode ser feita de forma idntica a interfaces
estticas padro:
auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
auto eth0:0
iface eth0:0 inet static
Guia Foca GNU/Linux
136
address 172.16.0.1
netmask 255.255.0.0
network 172.16.0.1
broadcast 172.16.255.255
OBS1: Quando voc desativa uma interface fsica (eth0), todas as interfaces virtuais tambm so desativadas.
OBS2: Caso utilize um firewall (principalmente com a poltica padro permissiva), esteja atento as
modificaes que precisa realizar para no comprometer a segurana de sua mquina. Caso tenha dados
considerados seguros em sua mquina e esteja em dvida sobre as implicaes de segurana do IP Alias em sua
mquina, consulte seu administrador de redes.
OBS3: Note que somente os 4 primeiros caracteres sero mostrados na sada do ifconfig, desta forma procure
utilizar no mximo esta quantidade de caracteres para evitar problemas durante uma futura administrao do
servidor, no caso de esquecimento do nome completo da interface virtual).
15.11.2 Bridge
Uma bridge uma interface de rede lgica composta por uma ou mais interfaces de rede fsica operando em
nvel 2 (enviando pacotes atravs de MAC adresses, veja Camadas de Rede, Seo 15.10).
Sua operao transparente na rede, podendo ser usada como um switch/firewall, estao de monitorao, etc.
Aqui descreverei como montar uma bridge simples e uma aplicao de firewall simples. As possibilidades so
diversas e uma configurao bem feita pode detectar ataques, protocolos desconhecidos at virus complexos de
rede.
patch bridge-nf se desejar usar o netfilter com as interfaces de entrada e sada (como antes de usar a
bridge) ao invs de controlar o trfego apenas pela interface cridada pela bridge.
Ative a opo 802.1d Ethernet Bridging na seo Networking Options, recompile e instale seu novo
Kernel. Caso tenha aplicado o patch bridge nf, aparecer uma sub-opo chamada netfilter (firewalling)
support que permitir que o firewall trabalhe com as interfaces fsicas ao invs de somente atravs da
interface virtual criada pela bridge.
OBS: O patch bridge nf viola a RFC de bridges. Mesmo assim ela a nica opo em muitas aplicaes,
principalmente quando se deseja controlar o trfego que atravessam as interfaces. Aps isto instale o pacote
bridge-utils, ele possui os utilitrios necessrios para ativar, configurar e monitorar o funcionamento de sua
bridge.
No necessria ativao do ip_forward para o funcionamento da bridge, uma vez que ela funcionar como
uma interface lgica que rene interfaces de rede fsicas.
Primeiro, desative os blocos no arquivo /etc/network/interfaces que configuram as interfaces que sero
usadas na bridge (por exemplo, eth0 e eth1). Elas podem ser comentadas, removidas, ou voc poder
comentar a linha auto eth0 e auto eth1 para que ele no ative automaticamente estas interfaces com o ifup -a
(executado durante a inicializao). Desta forma, a inicializao destas interfaces poder somente ser feita
manualmente.
auto br0
iface br0 inet static
address 192.168.1.2
network 192.168.1.0
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
bridge_ports eth0 eth1
Note que a interface virtual da brigde (br0) deve ser configurada com parmetros vlidos de interfaces (assim
com uma interface de rede padro). Note a adio da linha bridge_ports que indica que interfaces de rede
sero usadas para fazer a bridge. Caso seja usado o parmetro all, todas as interfaces fsicas de rede sero
usadas para fazer bridge (excluindo a lo).
137
Execute o ifup br0 para levantar as interface br0. O sistema poder demorar um pouco para levantar a
bridge (as vezes at 40 segundos) mas isto normal.
Pronto, voc ter uma bridge simples j configurada e funcionando em seu sistema! As interfaces fsicas sero
configuradas com o IP 0.0.0.0 e estaro operando em modo promscuo.
setbridgeprio [bridge] [prioridade] - Define a prioridade da bridge, o valor deve estar entre 0 e 65536
(16 bits). Valores menores definem uma prioridade maior.
setmaxage [bridge] [tempo] - Ajusta o tempo mximo de vida da bridge para [tempo] segundos.
138
139
16.1 O Kernel
o sistema operacional (o GNU/Linux) ele controla os dispositivos e demais perifricos do sistema (como
memria, placas de som, vdeo, discos rgidos, disquetes, sistemas de arquivos, redes e outros recursos
disponveis). Muitos confundem isto e chamam a distribuio de sistema operacional, isto errado!
O Kernel faz o controle dos perifricos do sistema e para isto ele deve ter o seu suporte includo. Para fazer uma
placa de som Sound Blaster funcionar, por exemplo, necessrio que o Kernel oferea suporte a este placa e
voc deve configurar seus parmetros (como interrupo, I/O e DMA) com comandos especficos para ativar a
placa e faze-la funcionar corretamente. Existe um documento que contm quais so os perifricos suportados/
no suportados pelo GNU/Linux, ele se chama Hardware-HOWTO.
Suas verses so identificadas por nmeros como 2.0.36, 2.0.38, 2.1.10, 2.2.12, as verses que contm um
nmero par entre o primeiro e segundo ponto so verses estveis e que contm nmeros mpares neste mesmo
local so verses instveis (em desenvolvimento). Usar verses instveis no quer dizer que ocorrer
travamentos ou coisas do tipo, mas algumas partes do Kernel podem no estar testadas o suficiente ou alguns
controladores podem ainda estar incompletos para obter pleno funcionamento. Se opera sua mquina em um
ambiente crtico, prefira pegar verses estveis do Kernel.
Aps inicializar o sistema, o Kernel e seus arquivos podem ser acessados ou modificados atravs do ponto de
montagem /proc. Para detalhes veja O sistema de Arquivos /proc, Seo 5.5.
Caso voc tenha um dispositivo (como uma placa de som) que tem suporte no GNU/Linux mas no funciona
veja Como adicionar suporte a Hardwares e outros dispositivos no Kernel, Seo 16.3.
16.2 Mdulos
So partes do Kernel que so carregadas somente quando so solicitadas por algum aplicativo ou dispositivo e
descarregadas da memria quando no so mais usadas. Este recurso til por 2 motivos: Evita a construo de
um Kernel grande (esttico) que ocupe grande parte da memria com todos os drivers compilados e permite que
partes do Kernel ocupem a memria somente quando forem necessrios.
Os mdulos do Kernel esto localizados no diretrio /lib/modules/verso_do_Kernel/* (onde verso_do_Kernel
a verso atual do Kernel em seu sistema, caso seja 2.2.10 o diretrio que contm seus mdulos ser
/lib/modules/2.2.10.
Os mdulos so carregados automaticamente quando solicitados atravs do programa kmod ou manualmente
atravs do arquivo /etc/modules , insmod ou modprobe. Ateno: No compile o suporte ao seu sistema de
arquivos raz como mdulo, isto o tornar inacessvel.
140
16.4 kmod
Este o programa usado para carregar os mdulos automaticamente quando so requeridos pelo sistema. Ele
um daemon que funciona constantemente fazendo a monitorao, quando verifica que algum dispositivo ou
programa est solicitando o suporte a algum dispositivo, ele carrega o mdulo correspondente.
Ele pode ser desativado atravs da recompilao do Kernel, dando um kill no processo ou atravs do arquivo
/etc/modules (veja /etc/modules, Seo 16.12.1. Caso seja desativado, preciso carregar manualmente os
mdulos atravs do modprobe ou insmod.
16.5 lsmod
Lista quais mdulos esto carregados atualmente pelo Kernel. O nome lsmod uma contrao de ls+mdulos Listar Mdulos. A listagem feita pelo lsmod uma alternativa ao uso do comando cat /proc/modules.
A sada deste comando tem a seguinte forma:
Module
Size
Pages Used by
nls_iso8859_1 8000
1
1 (autoclean)
nls_cp437
3744
1
1 (autoclean)
ne
6156
2
1
8390
8390
2
[ne] 0
A coluna Module indica o nome do mdulo que est carregado, a coluna Used mostra qual mdulos est usando
aquele recurso. O parmetro (autoclean) no final da coluna indica que o mdulo foi carregado manualmente
(pelo insmod ou modprobe) ou atravs do kmod e ser automaticamente removido da memria quando no for
mais usado.
No exemplo acima os mdulos ne e 8390 no tem o parmetro (autoclean) porque foram carregados pelo
arquivo /etc/modules (veja /etc/modules, Seo 16.12.1). Isto significa que no sero removidos da memria
caso estiverem sem uso.
Qualquer mdulo carregado pode ser removido manualmente atravs do comandos rmmod.
16.6 insmod
Carrega um mdulo manualmente. Para carregar mdulos que dependem de outros mdulos para que
funcionem, voc duas opes: Carregar os mdulos manualmente ou usar o modprobe que verifica e carrega as
dependncias correspondentes.
A sintaxe do comando : insmod [mdulo] [opes_mdulo]
Onde:
mdulo - o nome do mdulo que ser carregado.
opes_mdulo - Opes que sero usadas pelo mdulo. Variam de mdulo para mdulo, alguns precisam
de opes outros no, tente primeiro carregar sem opes, caso seja mostrada uma mensagem de erro
verifique as opes usadas por ele. Para detalhes sobre que opes so suportadas por cada mdulo, veja a
sua documentao no cdigo fonte do Kernel em /usr/src/linux/Documentation
Exemplo: insmod ne io=0x300 irq=10
16.7 rmmod
Remove mdulos carregados no Kernel. Para ver os nomes dos mdulos atualmente carregados no Kernel digite
lsmod e verifique na primeira coluna o nome do mdulo. Caso um mdulo tenha dependncias e voc tentar
remover suas dependncias, uma mensagem de erro ser mostrada alertando que o mdulo est em uso.
Exemplo: rmmod ne
16.8 modprobe
Carrega um mdulo e suas dependncias manualmente. Este comando permite carregar diversos mdulos e
dependncias de uma s vez. O comportamento do modprobe modificado pelo arquivo /etc/modules.conf .
A sintaxe deste comando : modprobe [mdulo] [opes_mdulo]
Onde:
mdulo - o nome do mdulo que ser carregado.
opes_mdulo - Opes que sero usadas pelo mdulo. Variam de mdulo para mdulo, alguns precisam
de opes outros no, tente primeiro carregar sem opes, caso seja mostrada uma mensagem de erro
verifique as opes usadas por ele. Para detalhes sobre que opes so suportadas por cada mdulo, veja a
sua documentao no cdigo fonte do Kernel em /usr/src/linux/Documentation
Nem todos os mdulos so carregados corretamente pelo modprobe, o plip, por exemplo, mostra uma
mensagem sobre porta I/O invlida mas no caso seja carregado pelo insmod.
Guia Foca GNU/Linux
141
Exemplo: modprobe ne io=0x300 irq=10, modprobe sb io=0x220 irq=5 dma=1 dma16=5 mpuio=0x330
16.9 depmod
Verifica a dependncia de mdulos. As dependncias dos mdulos so verificadas pelos scripts em /etc/init.d
usando o comando depmod -a e o resultado gravado no arquivo /lib/modules/versao_do_Kernel/modules.dep.
Esta checagem serve para que todas as dependncias de mdulos estejam corretamente disponveis na
inicializao do sistema. O comportamento do depmod pode ser modificado atravs do arquivo
/etc/modules.conf . possvel criar a dependncia de mdulos imediatamente aps a compilao do Kernel
digitando depmod -a [verso_do_Kernel].
Exemplo: depmod -a
16.10 modconf
Este programa permite um meio mais fcil de configurar a ativao de mdulos e opes atravs de uma
interface atravs de menus. Selecione a categoria de mdulos atravs das setas acima e abaixo e pressione enter
para selecionar os mdulos existentes. Sero pedidas as opes do mdulo (como DMA, IRQ, I/O) para que sua
inicializao seja possvel, estes parmetros so especficos de cada mdulo e devem ser vistos na
documentao do cdigo fonte do Kernel no diretrio /usr/src/linux/Documentation. Note que tambm existem
mdulos com auto-deteco mas isto deixa o sistema um pouco mais lento, porque ele far uma varredura na
faixa de endereos especificados pelo mdulo para achar o dispositivo. As opes so desnecessrias em alguns
tipos de mdulos.
As modificaes feitas por este programa so gravadas no diretrio /etc/modutils em arquivos separados como
/etc/modutils/alias - alias de mdulos, /etc/modutils/modconf - opes usadas por mdulos, /etc/modutils/paths Caminho onde os mdulos do sistema so encontrados. Dentro de /etc/modutils ainda encontrado um subdiretrio chamado arch que contm opes especficas por arquiteturas.
A sincronizao dos arquivos gerados pelo modconf com o /etc/modules.conf feita atravs do utilitrio updatemodules. Ele normalmente executado aps modificaes nos mdulos feitas pelo modconf.
142
143
errado.
Se voc optar por substituir o Kernel anterior:
1.
recomendvel
renomear
o
diretrio
/lib/modules/verso_do_Kernel
para
/lib/modules/verso_do_Kernel.old, isto ser til para restaurao completa dos mdulos antigos caso
alguma coisa der errado.
2.Execute o comando make modules_install para instalar os mdulos do Kernel recm compilado em
/lib/modules/verso_do_Kernel.
3.Copie o arquivo zImage que contm o Kernel de /usr/src/linux/arch/i386/boot/zImage para
/boot/vmlinuz-2.XX.XX (2.XX.XX a verso do Kernel anterior)
4.Verifique se o link simblico /vmlinuz aponta para a verso do Kernel que compilou atualmente (com ls
-la /). Caso contrrio, apague o arquivo /vmlinuz do diretrio raz e crie um novo link com ln -s
/boot/vmlinuz-2.XX.Xx /vmlinuz apontando para o Kernel correto.
5.Execute o comando lilo para gerar um novo setor de partida no disco rgido. Para detalhes veja LILO,
Seo 6.1.
6.Reinicie o sistema (shutdown -r now).
7.Caso tudo esteja funcionando normalmente, apague o diretrio antigo de mdulos que salvou e o Kernel
antigo de /boot. Caso algo tenha dado errado e seu sistema no inicializa, inicie a partir de um disquete,
apague o novo Kernel, apague os novos mdulos, renomeie o diretrio de mdulos antigos para o nome
original, ajuste o link simblico /vmlinuz para apontar para o antigo Kernel e execute o lilo. Aps
reiniciar seu computador voltar como estava antes.
Se voc optar por manter o Kernel anterior e selecionar qual ser usado na partida do sistema (til
para um Kernel em testes):
1.Execute o comando make modules_install para instalar os mdulos recm compilados do Kernel em
/lib/modules/versao_do_Kernel.
2.Copie o arquivo zImage que contm o Kernel de /usr/src/linux/arch/i386/boot/zImage para
/boot/vmlinuz-2.XX.XX (2.XX.XX a verso do Kernel anterior)
3.Crie um link simblico no diretrio raz (/) apontando para o novo Kernel. Como exemplos ser usado
/vmlinuz-novo.
4.Modifique o arquivo /etc/lilo.conf para incluir a nova imagem de Kernel. Por exemplo:
Antes da modificao:
boot=/dev/hda
prompt
timeout=200
delay=200
map=/boot/map
install=/boot/boot.b
image = /vmlinuz
root = /dev/hda1
label = 1
read-only
Depois da modificao:
boot=/dev/hda
prompt
timeout=200
delay=200
map=/boot/map
install=/boot/boot.b
image = /vmlinuz
root = /dev/hda1
label = 1
read-only
image = /vmlinuz-new
root = /dev/hda1
label = 2
read-only
Se voc digitar 1 no aviso de boot: do Lilo, o Kernel antigo ser carregado, caso digitar 2 o novo Kernel
ser carregado. Para detalhes veja Criando o arquivo de configurao do LILO, Seo 6.1.1 e Um
Guia Foca GNU/Linux
144
16.12.1 /etc/modules
A funo deste arquivo carregar mdulos especificados na inicializao do sistema e mant-los carregado todo
o tempo. til para mdulos de placas de rede que precisam ser carregados antes da configurao de rede feita
pela distribuio e no podem ser removidos quando a placa de rede estiver sem uso (isto retiraria seu
computador da rede).
Seu contedo uma lista de mdulos (um por linha) que sero carregados na inicializao do sistema. Os
mdulos carregados pelo arquivo /etc/modules pode ser listados usando o comando lsmod (veja lsmod, Seo
16.5.
Se o parmetro auto estiver especificado como um mdulo, o kmod ser ativado e carregar os mdulos
somente em demanda, caso seja especificado noauto o programa kmod ser desativado. O kmod ativado por
padro nos nveis de execuo 2 ao 5.
Ele pode ser editado em qualquer editor de textos comum ou modificado automaticamente atravs do utilitrio
modconf.
16.12.2 modules.conf
O arquivo /etc/modules.conf permite controlar as opes de todos os mdulos do sistema. Ele consultado
pelos programas modprobe e depmod. As opes especificadas neste arquivo facilita o gerenciamento de
mdulos, evitando a digitao de opes atravs da linha de comando.
Note que recomendado o uso do utilitrio modconf para configurar quaisquer mdulos em seu sistema e o
utilitrio update-modules para sincronizao dos arquivos gerados pelo modconf em /etc/modutils com o
/etc/modules.conf (geralmente isto feito automaticamente aps o uso do modconf). Por este motivo no
recomendvel modifica-lo manualmente, a no ser que seja um usurio experiente e saiba o que est fazendo.
Veja modconf, Seo 16.10
Por exemplo: adicionando as linhas:
alias sound sb
options sb io=0x220 irq=5 dma=1 dma16=5 mpuio=0x330
permitir que seja usado somente o comando modprobe sb para ativar a placa de som.
145
146
17.2.1 syslogd
Este daemon controla o registro de logs do sistema.
syslogd [opes]
Opes:
-f - Especifica um arquivo de configurao alternativo ao /etc/syslog.conf.
-h - Permite redirecionar mensagens recebidas a outros servidores de logs especificados.
-l [computadores] - Especifica um ou mais computadores (separados por ":") que devero ser registrados
somente com o nome de mquina ao invs do FQDN (nome completo, incluindo domnio).
-m [minutos] - Intervalo em minutos que o syslog mostrar a mensagem --MARK--. O valor padro
padro 20 minutos, 0 desativa.
-n - Evita que o processo caia automaticamente em background. Necessrio principalmente se o syslogd
for controlado pelo init.
-p [soquete] - Especifica um soquete UNIX alternativo ao invs de usar o padro /dev/log.
-r - Permite o recebimento de mensagens atravs da rede atravs da porta UDP 514. Esta opo til para
criar um servidor de logs centralizado na rede. Por padro, o servidor syslog rejeitar conexes externas.
-s [domnios] - Especifica a lista de domnios (separados por ":") que devero ser retirados antes de
enviados ao log.
Na distribuio Debian, o daemon syslogd iniciado atravs do script /etc/init.d/sysklogd.
147
destino - O destino das mensagens pode ser um arquivo, um pipe (se iniciado por um
"|"), um computador remoto (se iniciado por uma "@"), determinados usurios do sistema (especificando os
logins separados por vrgula) ou para todos os usurios logados via wall (usando "*").
Todas as mensagens com o nvel especificado e superiores a esta especificadas no syslog.conf sero registradas,
de acordo com as opes usadas. Conjuntos de facilidades e nveis podem ser agrupadas separando-as por ";".
OBS1: Sempre use TABS ao invs de espaos para separar os parmetros do syslog.conf.
OBS2: Algumas facilidades como security, emitem um beep de alerta no sistema e enviam uma mensagem para
o console, como forma de alerta ao administrador e usurios logados no sistema.
Existem ainda 4 caracteres que garantes funes especiais: "*", "=", "!" e "-":
"*" - Todas as mensagens da facilidade especificada sero redirecionadas.
"=" - Somente o nvel especificado ser registrado.
"!" - Todos os nveis especificados e maiores NO sero registrados.
"-" - Pode ser usado para desativar o sync imediato do arquivo aps sua gravao.
Os caracteres especiais "=" e "!" podem ser combinados em uma mesma regra.
Exemplo: Veja abaixo um exemplo de um arquivo /etc/syslog.conf padro de sistemas Debian
#
# Primeiro alguns arquivos de log padres. Registrados por facilidade
#
auth,authpriv.*
/var/log/auth.log
*.*;auth,authpriv.none
-/var/log/syslog
cron.*
/var/log/cron.log
daemon.*
-/var/log/daemon.log
Guia Foca GNU/Linux
148
kern.*
-/var/log/kern.log
lpr.*
-/var/log/lpr.log
mail.*
/var/log/mail.log
user.*
-/var/log/user.log
uucp.*
-/var/log/uucp.log
#
# Registro de logs do sistema de mensagens. Divididos para facilitar
# a criao de scripts para manipular estes arquivos.
#
mail.info
-/var/log/mail.info
mail.warn
-/var/log/mail.warn
mail.err
/var/log/mail.err
# Registro para o sistema de news INN
#
news.crit
/var/log/news/news.crit
news.err
/var/log/news/news.err
news.notice
-/var/log/news/news.notice
#
# Alguns arquivos de registro "pega-tudo".
# So usadas "," para especificar mais de uma prioridade (por
# exemplo, "auth,authpriv.none") e ";" para especificar mais de uma
# facilidade.nvel que ser gravada naquele arquivo.
# Isto permite deixar as regras consideravelmente menores e mais legveis
#
*.=debug;\
auth,authpriv.none;\
news.none;mail.none -/var/log/debug
*.=info;*.=notice;*.=warn;\
auth,authpriv.none;\
cron,daemon.none;\
mail,news.none
-/var/log/messages
#
# Emergncias so enviadas para qualquer um que estiver logado no sistema. Isto
# feito atravs da especificao do "*" como destino das mensagens e so
# enviadas atravs do comando wall.
#
*.emerg
*
#
# Eu gosto de ter mensagens mostradas no console, mas somente em consoles que
# no utilizo.
#
#daemon,mail.*;\
#
news.=crit;news.=err;news.=notice;\
#
*.=debug;*.=info;\
#
*.=notice;*.=warn
/dev/tty8
# O pipe /dev/xconsole usado pelo utilitrio "xconsole". Para usa-lo,
# voc deve executar o "xconsole" com a opo "-file":
#
# $ xconsole -file /dev/xconsole [...]
#
# NOTA: ajuste as regras abaixo, ou ficar maluco se tiver um um site
# muito movimentado...
#
daemon.*;mail.*;\
news.crit;news.err;news.notice;\
*.=debug;*.=info;\
*.=notice;*.=warn
|/dev/xconsole
# A linha baixo envia mensagens importantes para o console em que
# estamos trabalhando logados (principalmente para quem gosta de ter
# controle total sobre o que est acontecendo com seu sistema).
Guia Foca GNU/Linux
149
*.err;kern.debug;auth.notice;mail.crit
/dev/console
17.2.2 klogd
Este daemon controla o registro de mensagens do Kernel. Ele monitora as mensagens do Kernel e as envia para
o daemon de monitoramento syslogd, por padro.
klogd [opes]
Opes:
-d - Ativa o modo de depurao do daemon
-f [arquivo] - Envia as mensagens do Kernel para o arquivo especificado ao invs de enviar ao daemon do
syslog
-i - Envia um sinal para o daemon recarregar os smbolos de mdulos do Kernel.
-I - Envia um sinal para o daemon recarregar os smbolos estticos e de mdulos do Kernel.
-n - Evita a operao em segundo plano. til se iniciado pelo init
-k [arquivo] - Especifica o arquivo que contm os smbolos do Kernel. Exemplos deste arquivo esto
localizados em /boot/System.map-xx.xx.xx.
A especificao de um arquivo com a opo -k necessria se desejar que sejam mostradas a tabela de smbolos
ao invs de endereos numricos do Kernel.
17.3 logger
Este comando permite enviar uma mensagem nos log do sistema. A mensagem enviada aos logs via daemon
syslogd ou via soquete do sistema, possvel especificar a prioridade, nvel, um nome identificando o processo,
etc. Seu uso muito til em shell scripts ou em outros eventos do sistema.
logger [opes] [mensagem]
Onde:
mensagem - Mensagem que ser enviada ao daemon syslog
Opes:
-i - Registra o PID do processo
-s - Envia a mensagem ambos para a sada padro (STDOUT) e syslog.
-f [arquivo] - Envia o contedo do arquivo especificado como mensagem ao syslog.
-t [nome] - Especifica o nome do processo responsvel pelo log que ser exibido antes do PID na
mensagem do syslog.
-p [prioridade] - Especifica a prioridade da mensagem do syslog, especificada como facilidade.nvel. Veja
os tipos de prioridade/nveis em Arquivo de configurao syslog.conf, Seo 17.2.1.1. O valor padro
prioridade.nvel user.notice
Mais detalhes sobre o funcionamento sobre o daemon de log do sistema syslogd, pode ser encontrado em
syslogd, Seo 17.2.1
Exemplos: logger -i -t focalinux Teste teste teste, logger -i -f /tmp/mensagem -p security.emerg
17.4.2 logrotate
Guia Foca GNU/Linux
150
Usado para fazer backups dos logs atuais do sistema (programado via cron, ou outro daemon com a mesma
funo) e criando novos arquivos de logs que sero usados pelo sistema. Opcionalmente os arquivos de logs
antigos sero compactados para diminuir a utilizao de espao em disco ou enviados por e-mail ao
administrador. A rotao dos arquivos de logs proporciona maior agilidade quando precisamos encontrar algum
detalhe til (que seria mais difcil de se achar em um arquivo de log de 10MB ou maior).
A rotao de logs feita de acordo com o tamanho do arquivo de logs especificado, mas a opo -f pode ser
usada para "forar" a rotao de logs. A opo -d fornece mais detalhes sobre o que o logrotate est fazendo. Seu
arquivo principal de configurao o /etc/logrotate.conf. Um modelo deste tipo de arquivo o seguinte:
#### Estas opes afetam globalmente o funcionamento do logrotate
# roda os arquivos de log semanalmente
weekly
# mantm as ltimas 4 cpias de logs anteriores
rotate 4
# Erros de no existncia dos logs so enviados para o usurio root
mail root
# Cria novos arquivos de log (vazios) aps rodar os antigos
create
# Descomente isso se desejar seus arquivos de logs compactados. O parmetro
# delaycompress usado para que o primeiro log rodado seja mantido
# descompactado
compress
delaycompress
# Executam os scripts em prerotate e postrotate a cada vez que os logs
# forem rodados.
nosharedscripts
# Definimos um diretrio que poder conter definies individuais para
# diversos servios no sistema, eles podem ir neste arquivo mas
# diversas configuraes individuais podem deixar a interpretao
# deste arquivo confusa.
include /etc/logrotate.d
# Define opes especficas para a rotao mensal de /var/log/wtmp, o novo arquivo
# de log somente ser rodados caso tenha mais de 5MB (size 5M), ser criado
# com a permisso 0664 e pertencer ao usurio root grupo utmp
# (create 0664 root utmp) e ser mantida somente uma cpia do log anterior.
# (rotate 1)
/var/log/wtmp {
monthly
create 0664 root utmp
size 5M
rotate 1
}
# Define opes especficas para a rotao mensal de /var/log/btmp, se o arquivo
# no existir no ser necessrio gerar alertas (missinkok) que sero enviados
# ao administrador. O novo arquivo criado dever ter a permisso 0664 com o
# dono root e grupo utmp (create 0664 root utmp) e ser
# mantida somente uma cpia do log anterior.
/var/log/btmp {
missingok
monthly
create 0664 root utmp
rotate 1
}
# Define opes especficas para a rotao mensal de /var/log/lastlog, o novo
# arquivo ser criado com a permisso 0664 com o dono root e grupo
# utmp e ser mantida somente uma cpia do arquivo de log anterior
# (rotate 1).
/var/log/lastlog {
missingok
monthly
create 0664 root utmp
Guia Foca GNU/Linux
151
rotate 1
}
# Define opes especficas para a rotao diria de /var/log/messages, o
# arquivo ser rodado se atingir o tamanho de 1Mb, ento o
# novo arquivo ser criado com as mesmas permisses do arquivo anterior.
# O comando killall -1 syslogd ser executado aps a rotao
# para que o daemon syslogd funcione corretamente mas somente uma vez
# durante a rotao de vrios arquivos de logs (sharedscripts).
# Sero mantidas as 10 ltimas cpias do arquivo /var/log/messages
# compactadas (o parmetro compress foi especificado na seo global deste
# arquivo de configurao).
/var/log/messages {
daily
size 1M
sharedscripts
postrotate
/sbin/killall -1 syslogd
endscript
rotate 10
}
# Define opes especficas para a rotao mensal dos arquivos em /var/log/mirror/*,
# a falta desses arquivos no precisa ser notificada ao administrador (missingok),
# mesmo assim o parmetro "nomail" evitar isto de qualquer forma. Os logs
# rodados no sero compactados (nocompress) e sero mantidas as ltimas 7 cpias
# dos logs.
/var/log/mirror/* {
montly
nomail
missingok
nocompress
rotate 7
}
# logs especficos do sistema podem ser configurados aqui. As opes padres e
# definidas na seo global deste arquivo sero usadas para processar os
# arquivos de logs restantes.
Qualquer definio de parmetro especificado no arquivo de configurao, substituir as definies anteriores.
Quando o nmero mximo de logs mantidos pela opo rotate [num] atingida, os logs eliminados sero
enviados para o usurio especificado na opo mail [email]. A utilizao da diretiva nomail evita isso.
OBS: importante enviar um sinal HUP ao programa que grava para aquele arquivo de log para que no
ocorram problemas aps a rotao, isto feito usando o parmetro postrotate.
152
daemon.*
@servlog
kern.*
-/var/log/kern.log
kern.*
@servlog
lpr.*
@servlog
mail.*
/var/log/mail.log
user.*
-/var/log/user.log
user.*
@servlog
uucp.*
-/var/log/uucp.log
E reinicie o daemon syslogd da mquina cliente para re-ler o arquivo de configurao: killall -HUP syslogd ou
/etc/init.d/sysklogd restart.
OBS1: Mantenha o relgio do servidor de logs sempre atualizado (use o chrony ou outro daemon de
sincronismo NTP para automatizar esta tarefa).
OBS2: interessante compilar um daemon syslogd personalizado modificando o nome e localizao do arquivo
/etc/syslog.conf para enganar possveis invasores. Isto pode ser modificado no arquivo syslogd.c na linha:
#define _PATH_LOGCONF "/etc/syslog.conf"
Use a imaginao para escolher um nome de arquivo e localizao que dificulte a localizao deste arquivo.
OBS3: Em uma grande rede, recomendvel configurar um computador dedicado como servidor de log
(desativando qualquer outro servio) e configurar o iptables para aceitar somente o trfego indo para a porta
UDP 514 (syslogd):
iptables -P INPUT DROP
iptables -A INPUT -p udp --dport 514 -j ACCEPT
153
Captulo 18 Compactadores
Esta seo explica o que so e como usar programas compactadores no GNU/Linux, as caractersticas de cada
um, como identificar um arquivo compactado e como descompactar um arquivo compactado usando o programa
correspondente.
A utilizao de arquivos compactados mtodo til principalmente para reduzir o consumo de espao em disco
ou permitir grandes quantidades de texto serem transferidas para outro computador atravs de disquetes.
154
Apesar das vantagens da grande taxa de compactao conseguida nos processos com perdas, nem sempre
podemos utiliz-lo. Quando compactamos um texto ou um programa, no podemos ter perdas, seno o nosso
texto sofre alteraes ou o programa no executa. Nem mesmo podemos tem perdas quando compactamos
imagens ou musicas que sero utilizadas em processos posteriores de masterizao, mixagem ou impresso em
alta qualidade.
18.3 gzip
praticamente o compactador padro do GNU/Linux, possui uma tima taxa de compactao e velocidade. A
extenso dos arquivos compactados pelo gzip a .gz, na verso para DOS, Windows NT usada a extenso .z.
gzip [opes] [arquivos]
Onde:
arquivos - Especifica quais arquivos sero compactados pelo gzip. Caso seja usado um -, ser assumido
a entrada padro. Curingas podem ser usados para especificar vrios arquivos de uma s vez (veja
Curingas, Seo 2.12).
Opes:
-d, --decompress [arquivo] - Descompacta um arquivo.
-f - Fora a compactao, compactando at mesmo links.
-l [arquivo] - Lista o contedo de um arquivo compactado pelo gzip.
-r - Compacta diretrios e sub-diretrios.
-c [arquivo] - Descompacta o arquivo para a sada padro.
-t [arquivo] - Testa o arquivo compactado pelo gzip.
-[num], --fast, --best - Ajustam a taxa de compactao/velocidade da compactao. Quanto melhor a taxa
menor a velocidade de compactao e vice versa. A opo --fast permite uma compactao rpida e
tamanho do arquivo maior. A opo --best permite uma melhor compactao e uma velocidade menor.
O uso da opo -[nmero] permite especificar uma compactao individualmente usando nmeros entre 1
(menor compactao) e 9 (melhor compactao). til para buscar um bom equilibro entre taxa de
compactao/velocidade (especialmente em computadores muito lentos).
Quando um arquivo compactado pelo gzip, automaticamente acrescentada a extenso .gz ao seu nome.
O gzip tambm reconhece arquivos compactados pelos programas zip, compress, compress -H e pack. As
permisses de acesso dos arquivos so tambm armazenadas no arquivo compactado.
Exemplos:
gzip -9 texto.txt - Compacta o arquivo texto.txt usando a compactao mxima (compare o tamanho do
arquivo compactado usando o comando ls -la).
Guia Foca GNU/Linux
155
18.4 zip
Utilitrio de compactao compatvel com pkzip (do DOS) e trabalha com arquivos de extenso .zip. Possui
uma tima taxa de compactao e velocidade no processamento dos arquivos compactados (comparando-se ao
gzip).
zip [opes] [arquivo-destino] [arquivos-origem]
Onde:
arquivo-destino - Nome do arquivo compactado que ser gerado.
arquivos-origem - Arquivos/Diretrios que sero compactados. Podem ser usados curingas para
especificar mais de um arquivo de uma s vez (veja Curingas, Seo 2.12).
Opes:
-r - Compacta arquivos e sub-diretrios.
-e - Permite encriptar o contedo de um arquivo .zip atravs de senha. A senha ser pedida no momento da
compactao.
-f - Somente substitui um arquivo compactado existente dentro do arquivo .zip somente se a verso mais
nova que a atual. No acrescenta arquivos ao arquivo compactado. Deve ser executado no mesmo diretrio
onde o programa zip foi executado anteriormente.
-F - Repara um arquivo .zip danificado.
-[NUM] - Ajusta a qualidade/velocidade da compactao. Pode ser especificado um nmero de 1 a 9. O 1
permite mnima compactao e mxima velocidade, 9 permite uma melhor compactao e menor
velocidade.
-i [arquivos] - Compacta somente os [arquivos] especificados.
-j - Se especificado, no armazena caminhos de diretrios.
-m - Apaga os arquivos originais aps a compactao.
-T [arquivo] - Procura por erros em um arquivo .zip. Caso sejam detectados problemas, utilize a opo -F
para corrigi-los.
-y - Armazena links simblicos no arquivo .zip. Por padro, os links simblicos so ignorados durante a
compactao.
-k [arquivo] - Modifica o [arquivo] para ter compatibilidade total com o pkzip do DOS.
-l - Converte saltos de linha UNIX (LF) para o formato CR+LF (usados pelo DOS). Use esta opo com
arquivos Texto.
-ll - Converte saltos de linha DOS (CR+LF) para o formato UNIX (LF). Use esta opo com arquivos
texto.
-n [extensao] - No compacta arquivos identificados por [extenso]. Ele armazenado sem compactao
no arquivo .zip, muito til para uso com arquivos j compactados.
Caso sejam especificados diversas extenses de arquivos, elas devem ser separadas por : - Por exemplo, zip
-n .zip:.tgz arquivo.zip *.txt.
-q - No mostra mensagens durante a compactao do arquivo.
-u - Atualiza/adiciona arquivos ao arquivo .zip
-X - No armazena detalhes de permisses, UID, GID e datas dos arquivos.
-z - Permite incluir um comentrio no arquivo .zip.
Caso o nome de arquivo de destino no termine com .zip, esta extenso ser automaticamente adicionada. Para a
descompactao de arquivos .zip no GNU/Linux, necessrio o uso do utilitrio unzip.
Exemplos:
zip textos.zip *.txt - Compacta todos os arquivos com a extenso .txt para o arquivo textos.zip (compare
o tamanho do arquivo compactado digitando ls -la).
zip -r textos.zip /usr/*.txt - Compacta todos os arquivos com a extenso .txt do diretrio /usr e subdiretrios para o arquivo textos.zip.
zip -9 textos.zip * - Compacta todos os arquivos do diretrio atual usando a compactao mxima para
o arquivo textos.zip.
zip -T textos.zip - Verifica se o arquivo textos.zip contm erros.
156
18.5 unzip
Descompacta arquivos .zip criados com o programa zip. Este programa tambm compatvel com arquivos
compactados pelo pkzip do DOS.
unzip [opes] [arquivo.zip] [arquivos-extrair] [-d diretrio]
Onde:
arquivo.zip - Nome do arquivo que deseja descompactar. Podem ser usados curingas para especificar
mais de um arquivo para ser descompactado.
arquivos-extrair - Nome dos arquivos (separados por espao) que sero descompactados do arquivo
.zip. Caso no seja especificado, assumido * (todos os arquivos sero
descompactados).
Se for usado -x arquivos, os arquivos especificados no sero descompactados. O
uso de curingas permitido.
-d diretrio - Diretrio onde os arquivos sero descompactados. Caso no for especificado, os arquivos
sero descompactados no diretrio atual.
Opes:
-c - Descompacta os arquivos para stdout (sada padro) ao invs de criar arquivos. Os nomes dos arquivos
tambm so mostrados (veja a opo -p).
-f - Descompacta somente arquivos que existam no disco e mais novos que os atuais.
-l - Lista os arquivos existentes dentro do arquivo .zip.
-M - Efetua uma pausa a cada tela de dados durante o processamento (a mesma funo do comando more).
-n - Nunca substitui arquivos j existentes. Se um arquivo existe ele pulado.
-o - Substitui arquivos existentes sem perguntar. Tem a funo contrria a opo -n.
-P [SENHA] - Permite descompactar arquivos .zip usando a [SENHA]. CUIDADO! qualquer usurio
conectado em seu sistema pode ver a senha digitada na linha de comando digitada.
-p - Descompacta os arquivos para stdout (sada padro) ao invs de criar arquivos. Os nomes dos arquivos
no so mostrados (veja a opo -c).
-q - No mostra mensagens.
-t - Verifica o arquivo .zip em busca de erros.
-u - Idntico a opo -f s que tambm cria arquivos que no existem no diretrio.
-v - Mostra mais detalhes sobre o processamento do unzip.
-z - Mostra somente o comentrio existente no arquivo.
Por padro o unzip tambm descompacta sub-diretrios caso o arquivo .zip tenha sido gerado com zip -r.
Exemplos:
unzip texto.zip - Descompacta o contedo do arquivo texto.zip no diretrio atual.
unzip texto.zip carta.txt - Descompacta somente o arquivo carta.txt do arquivo texto.zip.
unzip texto.zip -d /tmp/texto - Descompacta o contedo do arquivo texto.zip para o diretrio /tmp/texto.
unzip -l texto.zip - Lista o contedo do arquivo texto.zip.
unzip -t texto.zip - Verifica o arquivo texto.zip.
18.6 tar
Na verdade o tar no um compactador e sim um "arquivador" (ele junta vrios arquivos em um s), mas pode
ser usado em conjunto com um compactar (como o gzip ou zip) para armazena-los compactados. O tar tambm
muito usado para cpias de arquivos especiais ou dispositivos do sistema. comum encontrar arquivos com a
extenso .tar, .tar.gz, .tgz, .tar.bz2, .tar.Z, .tgZ, o primeiro um arquivo normal gerado pelo tar e todos os outros
so arquivos gerados atravs tar junto com um programa de compactao (gzip (.gz), bzip2 (.bz2) e compress
(.Z).
tar [opes] [arquivo-destino] [arquivos-origem]
Onde:
arquivo-destino - o nome do arquivo de destino. Normalmente especificado com a extenso .tar caso
seja usado somente o arquivamento ou .tar.gz/.tgz caso seja usada a compactao
(usando a opo -z).
arquivos-origem - Especifica quais arquivos/diretrios sero compactados.
Opes:
-c, --create - Cria um novo arquivo .tar
-t, --list - Lista o contedo de um arquivo .tar
-u, --update - Atualiza arquivos compactados no arquivo .tar
-f, --file [HOST:]F - Usa o arquivo especificado para gravao ou o dispositivo /dev/rmt0.
Guia Foca GNU/Linux
157
158
18.7 bzip2
um novo compactador que vem sendo cada vez mais usado porque consegue atingir a melhor compactao em
arquivos texto se comparado aos j existentes (em consequencia sua velocidade de compactao tambm
menor; quase duas vezes mais lento que o gzip). Suas opes so praticamente as mesmas usadas no gzip e voc
tambm pode usa-lo da mesma forma. A extenso dos arquivos compactados pelo bzip2 a .bz2
bzip2 [opes] [arquivos]
Onde:
arquivos - Especifica quais arquivos sero compactados pelo bzip2. Caso seja usado um -, ser
assumido a entrada padro. Curingas podem ser usados para especificar vrios arquivos de
uma s vez (veja Curingas, Seo 2.12).
Opes:
-d, --decompress [arquivo] - Descompacta um arquivo.
-f - Fora a compactao, compactando at mesmo links.
-l [arquivo] - Lista o contedo de um arquivo compactado pelo bzip2.
-r - Compacta diretrios e sub-diretrios.
-c [arquivo] - Descompacta o arquivo para a sada padro.
-t [arquivo] - Testa o arquivo compactado pelo bzip2.
-[num], --fast, --best - Ajustam a taxa de compactao/velocidade da compactao. Quanto melhor a taxa
menor a velocidade de compactao e vice versa. A opo --fast permite uma compactao rpida e
tamanho do arquivo maior. A opo --best permite uma melhor compactao e uma velocidade menor.
O uso da opo -[nmero] permite especificar uma compactao individualmente usando nmeros entre 1
(menor compactao) e 9 (melhor compactao). til para buscar um bom equilibro entre taxa de
compactao/velocidade (especialmente em computadores muito lentos).
Quando um arquivo compactado pelo bzip2, automaticamente acrescentada a extenso .bz2 ao seu nome. As
permisses de acesso dos arquivos so tambm armazenadas no arquivo compactado.
Exemplos:
bzip2 -9 texto.txt - Compacta o arquivo texto.txt usando a compactao mxima (compare o tamanho do
arquivo compactado usando o comando ls -la).
bzip2 -d texto.txt.bz2 - Descompacta o arquivo texto.txt
bzip2 -c texto.txt.bz2 - Descompacta o arquivo texto.txt para a sada padro (tela)
bzip2 -9 *.txt - Compacta todos os arquivos que terminam com .txt
bzip2 -t texto.txt.bz2 - Verifica o arquivo texto.txt.bz2.
18.8 rar
rar um compactador desenvolvido por Eugene Roshal e possui verses para GNU/Linux, DOS, Windows,
OS/2 e Macintosh. Trabalha com arquivos de extenso .rar e permite armazenar arquivos compactados em
vrios disquetes (mltiplos volumes). Se trata de um produto comercial, mas decidi coloca-lo aqui porque
possui boas verses Shareware e pode ser muito til em algumas situaes.
rar [aes] [opes] [arquivo-destino.rar] [arquivos-origem]
Onde:
arquivo-destino.rar - o nome do arquivo de destino
arquivos-origem - Arquivos que sero compactados. Podem ser usados curingas para especificar mais
de um arquivo.
Aes:
a - Compacta arquivos
x - Descompacta arquivos
d - Apaga arquivos especificados
t - Verifica o arquivo compactado em busca de erros.
c - Inclui comentrio no arquivo compactado
r - Repara um arquivo .rar danificado
l - Lista arquivos armazenados no arquivo compactado
u - Atualiza arquivos existentes no arquivo compactado.
m - Compacta e apaga os arquivos de origem (move).
e - Descompacta arquivos para o diretrio atual
p - Mostra o contedo do arquivo na sada padro
Guia Foca GNU/Linux
159
160
161
162
restart - Reinicia a execuo de um daemon. equivalente ao uso de stop e start mas se aplicam somente a
alguns daemons e configuraes, que permitem a interrupo de execuo e reincio.
Por exemplo, para reconfigurar as interfaces de rede do computador, podemos utilizar os seguintes comandos:
cd /etc/init.d
./networking restart
163
N2
Agora para mudar para o nvel de execuo 1, digite: init 3. Agora confira a mudana digitando: runlevel. Voc
dever ver este resultado:
23
Isto quer dizer que o nvel de execuo anterior era o 2 e o atual o 3.
164
19.10.8 Acessrios
apt-get install gimp gimp-nonfree gedit gxedit abiword freefont sharefont
type1inst
19.10.9 Rede
apt-get install finger, talk, talkd, telnet
165
20.1 dpkg
O dpkg (Debian Package) o programa responsvel pelo gerenciamento de pacotes em sistemas Debian. Sua
operao feita em modo texto e funciona atravs de comandos, assim caso deseje uma ferramenta mais
amigvel para a seleo e instalao de pacotes, prefira o dselect (que um front-end para o dpkg) ou o apt
(veja apt, Seo 20.2).
dpkg muito usado por usurios avanados da Debian e desenvolvedores para fins de instalao, manuteno e
construo de pacotes.
20.1.1 Pacotes
Pacotes Debian so programas colocados dentro de um arquivo identificados pela extenso .deb incluindo
arquivos necessrios para a instalao do programa, um sistemas de listagem/checagem de dependncias, scripts
de automatizao para remoo parcial/total do pacote, listagem de arquivos, etc.
Um nome de pacote tem a forma nome-verso_reviso.deb
20.1.3 Dependncias
Dependncias so pacotes requeridos para a instalao de outro pacote. Na Debian cada pacote contm um
programa com uma certa funo. Por exemplo, se voc tentar instalar o pacote de edio de textos supertext que
usa o programa sed, voc precisar verificar se o pacote sed est instalado em seu sistema antes de tentar
instalar o supertext, caso contrrio, o pacote supertext pedir o sed e no funcionar corretamente. Note que o
pacote supertext apenas um exemplo e no existe (pelo menos at agora :-). O programa dselect faz o trabalho
de checagem de dependncias automaticamente durante a instalao dos pacotes.
A colocao de cada programa em seu prprio pacote parece ser uma dificuldade a mais para a instalao
manual de um certo programa. Mas para os desenvolvedores que mantm os mais de 4300 pacotes existentes na
distribuio Debian, um ponto fundamental, porque no preciso esperar uma nova verso do supertext ser
lanada para instalar a verso mais nova do pacote sed. Por este motivo tambm uma vantagem para o usurio.
166
configurao.
Note que o dpkg --purge somente remove arquivos de configurao conhecidos pelo pacote. Em especial, os
arquivos de configurao criados para cada usurio do sistema devem ser removidos manualmente. Seria pedir
demais que o dpkg tambm conhecesse os usurios de nosso sistema ;-).
167
20.2 apt
O apt sistema de gerenciamento de pacotes de programas que possui resoluo automtica de dependncias
entre pacotes, mtodo fcil de instalao de pacotes, facilidade de operao, permite atualizar facilmente sua
distribuio, etc. Ele funciona atravs de linha de comando e ainda no existe nenhuma interface amigvel para
uso deste programa, mesmo assim sua operao muito fcil.
O apt pode utilizar tanto com arquivos locais como remotos na instalao ou atualizao, desta maneira
possvel atualizar toda a sua distribuio Debian via ftp ou http com apenas 2 simples comandos!
recomendvel o uso do mtodo apt no programa dselect pois ele permite a ordem correta de instalao de
pacotes e checagem e resoluo de dependncias, etc. Devido a sua facilidade de operao, o apt o mtodo
preferido para os usurios manipularem pacotes da Debian.
O apt exclusivo da distribuio Debian e distribuies baseadas nela e tem por objetivo tornar a manipulao
de pacotes poderosa por qualquer pessoa e tem dezenas de opes que podem ser usadas em sua execuo ou
configuradas no arquivo /etc/apt/apt.conf. Explicarei aqui como fazer as aes bsicas com o apt, portanto se
desejar maiores detalhes sobre suas opes, veja a pgina de manual apt-get.
168
169
espao total que ser usado no disco e perguntar ao usurio se ele deseja continuar. Aps a instalao, o pacote
ser automaticamente configurado pelo dpkg para ser executado corretamente em seu sistema.
170
171
172
arquivo.
Abaixo exemplos de localizao com as explicaes:
export LANG=pt_BR - Usa o idioma pt_BR como lngua padro do sistema. Caso o idioma Portugues do
Brasil no esteja disponvel, C usado (Ingls).
export LANG=C - Usa o idioma Ingls como padro ( a mesma coisa de no especificar LANG, pois o
idioma Ingls usado como padro).
export LANG=pt_BR:pt_PT:es_ES:C - Usa o idioma Portugus do Brasil como padro, caso no esteja
disponvel usa o Portugus de Portugal, se no estiver disponvel usa o Espanhol e por fim o Ingls.
recomendvel usar a varivel LC_ALL para especificar o idioma, desta forma todos os outras variveis
(LANG, MESSAGES, LC_MONETARY, LC_NUMERIC, LC_COLLATE, LC_CTYPE e LC_TIME) sero
configuradas automaticamente.
21.3 alias
Permite criar um apelido a um comando ou programa. Por exemplo, se voc gosta de digitar (como eu) o
comando ls --color=auto para ver uma listagem longa e colorida, voc pode usar o comando alias para facilitar
as coisas digitando: alias ls='ls --color=auto' (no se esquea da meia aspa 'para identificar o comando'). Agora
quando voc digitar ls, a listagem ser mostrada com cores.
Se voc digitar ls -la, a opo -la ser adicionada no final da linha de comando do alias: ls --color=auto -la, e a
listagem tambm ser mostrada em cores.
Se quiser utilizar isto toda vez que entrar no sistema, veja Arquivo .bash_profile, Seo 21.5 e Arquivo .bashrc,
Seo 21.6.
173
Deve ser colocado no diretrio pessoal do usurio. Este arquivo faz o bash pular as mensagens do /etc/motd,
nmero de e-mails, etc. Exibindo imediatamente o aviso de comando aps a digitao da senha.
174
Captulo 22 Impresso
Este capitulo descreve como imprimir em seu sistema GNU/Linux e as formas de impresso via spool, rede,
grfica, etc.
Antes de seguir os passos descritos neste captulo, tenha certeza que seu Kernel foi compilado com o suporte a
impressora paralela ativado, caso contrrio at mesmo a impresso direta para a porta de impressora falhar.
Para detalhes veja Recompilando o Kernel, Seo 16.11 .
175
OBS1: Se a impressora no imprimir ou no for possvel compartilhar a porta de impressora paralela com outros
dispositivos (tal como o plip), verifique se o mdulo parport_pc foi carregado e com os valores de irq e I/O
corretos (por exemplo, modprobe parport_pc io=0x378 irq=7). Muitas vezes sua porta paralela pode funcionar
sem problemas durante a impresso, mas se ao utilizar plip ocorrerem erros, a causa pode ser essa. Na
distribuio Debian, use o programa modconf para configurar os valores permanentemente para o mdulo
parport_pc.
OBS2: Se tiver mais de uma impressora instalada na mquina, ser necessrio especificar a opo "-P
impressora" para especificar qual impressora deseja imprimir/controlar.
176
177
#
# This file is in the public domain.
#
# This file has been automatically adapted to your system.
#
# wild guess: native control codes start with ESC
0
\033
cat
# PostScript
0 %! filter /usr/bin/gs -q -dSAFER -dNOPAUSE -r120x72 -sDEVICE=epson -sOutputFile=- - -c quit
0 \004%! filter /usr/bin/gs -q -dSAFER -dNOPAUSE -r120x72 -sDEVICE=epson -sOutputFile=- - -c quit
# PDF
0 %PDF fpipe /usr/bin/gs -q -dSAFER -dNOPAUSE -r120x72 -sDEVICE=epson -sOutputFile=- $FILE -c quit
# TeX DVI
0 \367\002 fpipe /usr/bin/dvips -X 120 -Y 72 -R -q -f
# compress'd data
0 \037\235 pipe /bin/gzip -cdq
# packed, gzipped, frozen and SCO LZH data
0 \037\036 pipe /bin/gzip -cdq
0 \037\213 pipe /bin/gzip -cdq
0 \037\236 pipe /bin/gzip -cdq
0 \037\240 pipe /bin/gzip -cdq
0 BZh pipe
/usr/bin/bzip2 -cdq
# troff documents
0 .\?\?\040
fpipe `/usr/bin/grog -Tps $FILE`
0 .\\\"
fpipe `/usr/bin/grog -Tps $FILE`
0 '\\\"
fpipe `/usr/bin/grog -Tps $FILE`
0 '.\\\"
fpipe `/usr/bin/grog -Tps $FILE`
0 \\\"
fpipe `/usr/bin/grog -Tps $FILE`
Voc deve ter notado que para cada tipo de arquivo existe o respectivo programa que executado, basta voc
modificar as opes usadas nos programas neste arquivo (como faria na linha de comando) para afetar o
comportamento da impresso.
Por exemplo, modificando a resoluo para -r240x72 no processamento de arquivos Pos Script (gs), a
impressora passar a usar esta resoluo.
178
179
23.1 Acentuao
Permite que o GNU/Linux use a acentuao. A acentuao do modo texto independente do modo grfico; voc
pode configurar tanto um como o outro ou ambos. Para maiores detalhes veja Acentuao em modo Texto,
Seo 23.1.1 e/ou Acentuao em modo grfico, Seo 23.1.2.
Note que os mapas de teclado usados em modo texto so diferentes dos usados em modo grfico. Geralmente os
mapas de teclados para o modo grfico tem uma letra X no nome.
180
/usr/share/keymaps/i386/qwerty que ser lido sem problemas pelo sistema encarregado de configurar o
teclado e acentuao.
Configurando a fonte de Tela
Descomente a linha CONSOLE_FONT=iso01.f16 e modifique-a para CONSOLE_FONT=lat1u-16.psf no
arquivo /etc/kbd/config.
Esta linha diz ao sistema que fonte deve carregar para mostrar os caracteres na tela. A fonte de caracteres
deve ser compatvel com o idioma local, pois nem todas suportam caracteres acentuados. A fonte prefervel
para exibir os caracteres acentuados a lat1u-16, o -16 no nome do arquivo significa o tamanho da fonte. As
fontes de tela esto disponveis no diretrio /usr/share/consolefonts.
Neste ponto voc pode verificar se o seu sistema esta reconhecendo corretamente a acentuao entrando no
editor de textos ae e digitando: . Se todos os acentos apareceram corretamente, parabns! voc j passou
pela parte mais difcil. Agora o prximo passo a acentuao no Bash.
Acentuao no aviso de comando (bash)
Para acentuar no Bash (interpretador de comandos) necessrio alterar o arquivo /etc/inputrc e fazer as
seguintes modificaes:
1. Descomente a linha: "#set convert-meta off" voc faz isto apagando o smbolo "#" antes do nome.
Um comentrio faz com que o programa ignore linha(s) de comando. muito til para descrever o
funcionamento de comandos/programas (voc vai encontrar muito isso no sistema GNU/Linux, tudo
muito bem documentado).
2. Inclua a seguinte linha no final do arquivo:
set meta-flag on
3. O contedo deste arquivo deve ficar assim:
set convert-meta off
set input-meta on
set output-meta on
set meta-flag on
4. Digite exit ou pressione CTRL+D para fazer o logout. Entre novamente no sistema para que as
alteraes faam efeito.
Pronto! voc j esta acentuando em modo texto!. Talvez seja necessrio que faa alguma alterao em arquivos
de configurao de outros programas para que possa acentuar corretamente (veja se existe algum arquivo com o
nome correspondente ao programa no diretrio /etc).
A distribuio Debian tambm traz o utilitrio kbdconfig que tambm faz a configurao do mapa de teclados de
forma interativa e gravando automaticamente o mapa de teclados em /etc/kbd/default.map.gz. Se preferir usar o
kbdconfig ainda ser necessrio executar os passos acima para habilitao da fonte lat1u-16 e acentuao no
bash.
181
if [ -r $sysmodmap ]; then
xmodmap $sysmodmap
fi
182
Assumindo que o seu arquivo /etc/X11/XF86Config foi gerado corretamente, modifique o arquivo
/etc/X11/xdm/Xservers e alterar o final da linha colocando -bpp resoluo. Por exemplo, a ltima linha de meu
arquivo Xservers era:
:0 local /usr/bin/X11/X vt7
eu a modifiquei para
:0 local /usr/bin/X11/X vt7 -bpp 16
Pronto, basta reiniciar o servidor X (usando CTRL+ALT+BackSpace) ou reiniciando atravs do arquivo
/etc/init.d/xdm usando xdm restart e seu sistema passar a usar 65.000 cores de vdeo.
OBS: Lembre-se de salvar todos os seus arquivos antes de reiniciar o servidor X, pois todos os programas que
estiverem abertos no sistema sero imediatamente fechados.
183
Captulo 24 Compilao
Este captulo explica o que compilao, os principais compiladores e como compilar programas e
principalmente o Kernel do GNU/Linux com o objetivo de personaliza-lo de acordo com os dispositivos usados
em seu computador e/ou os recursos que planeja utilizar.
24.2 Compilador
o programa que converte o programa feito pelo programador em linguagem de mquina. Aps o processo de
compilao o programa estar pronto para ser executado como um arquivo binrio.
Existem muitos compiladores no ambiente GNU/Linux, um dos mais usados o gcc, o compilador para
linguagem C.
184
fsck.ext2 - Verifica o sistema de arquivos EXT2. Pode tambm ser encontrado com o nome e2fsck.
fsck.msdos - Verifica o sistema de arquivos Msdos. Pode tambm ser encontrado com o nome
dosfsck.
Para verificar um sistema de arquivos necessrio que ele esteja desmontado caso contrrio poder ocorrer
danos em sua estrutura. Para verificar o sistema de arquivos raz (que no pode ser desmontado enquanto o
sistema estiver sendo executado) voc precisar inicializar atravs de um disquete e executar o fsck.ext2.
25.1.1 fsck.ext2
Este utilitrio permite verificar erros em sistemas de arquivos EXT2 (Linux Native).
fsck.ext2 [opes] [dispositivo]
Onde:
dispositivo - o local que contm o sistema de arquivos EXT2 que ser verificado (parties, disquetes,
arquivos).
Opes:
-c - Faz o fsck.ext2 verificar se existem agrupamentos danificados na unidade de disco durante a
checagem.
-d - Debug - Mostra detalhes de processamento do fsck.ext2.
-f - Fora a checagem mesmo se o sistema de arquivos aparenta estar em bom estado. Por padro, um
sistema de arquivos que aparentar estar em bom estado no so verificados.
-F - Grava os dados do cache no disco antes de iniciar.
-l [arquivo] - Inclui os blocos listados no [arquivo] como blocos defeituosos no sistema de arquivos. O
formato deste arquivo o mesmo gerado pelo programa badblocks.
-L [arquivo] - Faz o mesmo que a opo -l, s que a lista de blocos defeituosos do dispositivo
completamente limpa e depois a lista do [arquivo] adicionada.
-n - Faz uma verificao de somente leitura no sistema de arquivos. Com esta opo possvel verificar o
sistema de arquivos montado. Ser assumido no para todas as perguntas e nenhuma modificao ser feita
no sistema de arquivos.
Caso a opo -c seja usada junto com -n, -l ou -L, o sistema de arquivos ser verificado e permitir somente
a atualizao dos setores danificados no alterando qualquer outra rea.
-p - Corrige automaticamente o sistema de arquivos sem perguntar. recomendvel fazer isto
manualmente para entender o que aconteceu, em caso de problemas com o sistema de arquivos.
-v - Ativa o modo verbose (mais mensagens so mostradas durante a execuo do programa).
-y - Assume sim para todas as questes.
Caso sejam encontrados arquivos problemticos e estes no possam ser recuperados, o fsck.ext2 perguntar se
deseja salva-los no diretrio lost+found. Este diretrio encontrado em todas as parties ext2.
Aps sua execuo mostrado detalhes sobre o sistema de arquivos verificado como quantidade de blocos
livres/ocupados e taxa de fragmentao.
Exemplos: fsck.ext2 /dev/hda2, fsck.ext2 -f /dev/hda2, fsck.ext2 -vrf /dev/hda1.
25.2 reiserfsck
Verifica um sistema de arquivos reiserfs em sistema de arquivos.
reiserfsck [opes] [dispositivo]
Onde:
Guia Foca GNU/Linux
185
dispositivo - Dispositivo que contm o sistema de arquivos reiserfs que ser verificado.
Opes:
25.3 fsck.minix
Verifica o sistema de arquivos minix em um dispositivo.
fsck.minix [opes] [dispositivo]
Onde:
dispositivo - Partio, disquete ou arquivo que contm o sistema de arquivos Minix que ser verificado
Opes:
-f - Verifica o sistema de arquivos mesmo se ele estiver perfeito.
-r - Permite reparo manual do sistema de arquivos
-a - Permite um reparo automtico do sistema de arquivos. recomendado fazer o reparo manual.
-v - Verbose - Mostra detalhes durante a execuo do programa
-s - Exibe detalhes sobre os blocos de root.
Exemplo: fsck.minix -f /dev/hda8, fsck.minix -vf /dev/hda8
25.4 badblocks
Procura blocos defeituosos em um dispositivo.
badblocks [opes] [dispositivo]
Onde:
dispositivo - Partio, disquete ou arquivo que contm o sistema de arquivos que ser verificado.
Opes:
-b [tamanho] - Especifica o [tamanho] do bloco do dispositivo em bytes
-o [arquivo] - Gera uma lista dos blocos defeituosos do disco no [arquivo]. Este lista pode ser usada com o
programa fsck.ext2 junto com a opo -l.
-s - Mostra o nmero de blocos checados durante a execuo do badblocks.
-v - Modo verbose - So mostrados mais detalhes.
-w - Usa o modo leitura/gravao. Usando esta opo o badblocks procura por blocos defeituosos gravando
alguns padres (0xaa, 0x55, 0xff, 0x00) em cada bloco do dispositivo e comparando seu contedo.
Nunca use a opo -w em um dispositivo que contm arquivos pois eles sero apagados!
Exemplo: badblocks -s /dev/hda6, badblocks -s -o bad /dev/hda6
25.5 defrag
Permite desfragmentar uma unidade de disco. A fragmentao o armazenamento de arquivos em reas no
seqenciais (uma parte armazenada no comeo a outra no final, etc), isto diminui o desempenho da unidade de
disco porque a leitura dever ser interrompida e feita a movimentao da cabea para outra regio do disco onde
o arquivo continua, por este motivo discos fragmentados tendem a fazer um grande barulho na leitura e o
desempenho menor. A desfragmentao normalmente desnecessria no GNU/Linux porque o sistema de
arquivos ext2 procura automaticamente o melhor local para armazenar o arquivo. Mesmo assim, recomendvel
desfragmentar um sistema de arquivos assim que sua taxa de fragmentao subir acima de 10%. A taxa de
fragmentao pode ser vista atravs do fsck.ext2. Aps o fsck.ext2 ser executado mostrada a taxa de
fragmentao seguida de non-contiguos.
A ferramenta de desfragmentao usada no GNU/Linux o defrag que vem com os seguintes programas:
186
187
possvel descrever todas, para detalhes sobre o que cada arquivo faz veja o cabealho e o cdigo de cada
arquivo.
Estes arquivos so executados pelo cron atravs do arquivo /etc/crontab. Voc pode programas quantas tarefas
desejar, para detalhes veja cron, Seo 25.7. Alguns programas mantm arquivos do cron individuais em
/var/spool/cron/crontabs que executam comandos periodicamente.
25.8 cron
O cron um daemon que permite o agendamento da execuo de um comando/programa para um determinado
dia/mes/ano/hora. muito usado em tarefas de arquivamento de logs, checagem da integridade do sistema e
execuo de programas/comandos em horrios determinados.
As tarefas so definidas no arquivo /etc/crontab e por arquivos individuais de usurios em
/var/spool/cron/crontabs/[usurio] (criados atravs do programa crontab). Adicionalmente a distribuio
Debian utiliza os arquivos no diretrio /etc/cron.d como uma extenso para o /etc/crontab.
Para agendar uma nova tarefa, basta editar o arquivo /etc/crontab com qualquer editor de texto (como o ae e o
vi) e definir o mes/dia/hora que a tarefa ser executada. No necessrio reiniciar o daemon do cron porque ele
verifica seus arquivos a cada minuto. Veja a seo O formato de um arquivo crontab, Seo 25.7.1 para entender
o formato de arquivo cron usado no agendamento de tarefas.
188
como /bin/sh, PATH como /usr/bin:/bin, LOGNAME, MAILTO e HOME so definidas atravs do arquivo
/etc/passwd. Os valores padres destas variveis podem ser substitudos especificando um novo valor nos
arquivos do cron.
Exemplos de um arquivo /etc/crontab:
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
00 10 * * * root sync
# Executa o comando sync todo o dia as 10:00
00 06 * * 1 root updatedb
# Executa o comando updatedb toda segunda-feira as 06:00.
10,20,40 * * * * root runq
# Executa o comando runq todos os dias e a toda a hora em 10, 20 e 40 minutos.
*/10 * * * * root fetchmail
# Executa o comando fetchmail de 10 em 10 minutos todos os dias
15 0 25 12 * root echo "Feliz Natal"|smail john
# Envia um e-mail as 0:15 todo o dia 25/12 para john desejando um feliz natal.
30 5 * * 1-6 root poff
# Executa o comando poff automaticamente as 5:30 de segunda-feira a sbado.
25.9 at
O at agenda tarefas de forma semelhante ao cron com uma interface que permite a utilizao de linguagem
natural nos agendamentos. Sua principal aplicao no uso de tarefas que sejam disparadas somente uma vez.
Uma caracterstica deste programa a execuo de aplicativos que tenham passado de seu horrio de execuo,
muito til se o computador desligado com frequncia ou quando ocorre uma interrupo no fornecimento de
energia.
Para utilizar o at, instale-o com o comando: apt-get install at. O prximo passo criar os arquivos /etc/at.allow
e at.deny. Estes arquivos so organizados no formato de um usurio por linha. Durante o agendamento,
verificado primeiro o arquivo at.allow (lista de quem pode executar comandos) e depois o at.deny (lista de quem
NO pode executar comandos). Caso eles no existam, o agendamento de comandos permitido a todos os
usurios.
Abaixo seguem exemplos do agendamento atravs do comando at:
echo ls | at 10am today Executa as 10 da manha de hoje
echo ls | at 10:05 today Executa as 10:05 da manha de hoje
echo ls | at 10:05pm today Executa as 10:05 da noite de hoje
echo ls | at 22:05 today Executa as 22:05 da noite de hoje
echo ls | at 14:50 tomorrow Executa o comando amanha as 14:50 da tarde
echo ls | at midnight Executa o comando a meia noite de hoje
echo ls | at midnight tomorrow Executa o comando a meia noite de amanha
echo ls | at noon Executa o comando de tarde (meio dia).
at -f comandos.txt teatime Executa os comandos especificados no arquivo "comandos.txt"
no horrio do caf da tarde (as 16:00 horas).
at -f comandos.txt +3 minutes Executa os comandos especificados no arquivo "comandos.txt"
daqui a 3 minutos. Tambm pode ser especificado "hours" ou
"days".
at -f comandos.txt tomorrow +3 hours Executa os comandos especificados no arquivo "comandos.txt"
daqui a 3 horas no dia de amanha. (se agora so 10:00, ela ser
executada amanha as 13:00 da tarde).
Todas as tarefas agendadas so armazenadas em arquivos dentro do diretrio /var/spool/cron/atjobs. A sintaxe
de comandos para gerenciar as tarefas semelhante aos utilitrios do lpd:
Para remover uma tarefa, use o comando atrm seguido do nmero da tarefa obtida pelo atq.
189
190
eth0:0 mas tenha certeza que a interface real (eth0) inicializada antes.
A prxima palavra especifica a familia de endereos da interface; Escolha inet para a rede TCP/IP, ipx para
interfaces IPX e IPv6 para interfaces configuradas com o protocolo IPV6.
A palavra static especifica o mtodo que a interface ser configurada, neste caso uma interface com endereo
esttico (fixo).
Outros mtodos e seus parmetros so especificados abaixo (traduzido da pgina do arquivo interfaces):
O mtodo static - usado para configurar um endereo IPv4 fixo para a interface. As opes que
podem ser usadas com o mtodos static so as seguintes (opes marcadas com * no final so requeridas na
configurao):
address endereo * - Endereo IP da Interface de rede (por exemplo, 192.168.1.1).
netmask mscara * - Mscara de rede da Interface de rede (por exemplo, 255.255.255.0).
broadcast endereo - Endereo de Broadcast da interface (por exemplo, 192.168.1.255).
network endereo - Endereo da rede (por exemplo, 192.168.0.0).
gateway endereo - Endereo do gateway padro (por exemplo, 192.168.1.10). O gateway o endereo
do computador responsvel por conectar o seu computador a outra rede. Use somente se for necessrio em
sua rede.
O mtodo dhcp - Este mtodo usado para obter os parmetros de configurao atravs de um servidor
DHCP da rede atravs das ferramentas: dhclient, pump (somente Kernels 2.2.x) ou dpcpcp (somente Kernels
2.0.x e 2.2.x)
hostname nome - Nome da estao de trabalho que ser requisitado. (pump, dhcpcd)
leasehours leasttime - Lease time preferida em horas (pump)
leasetime leasetime - Lease time preferida em segundos (dhcpcd)
vendor vendedor - Identificador do vendedor (dhcpcd)
cliente identificao - Identificao do cliente (dhcpcd)
O mtodo bootp - Este mtodo pode ser usado para obter um endereo via bootp:
bootfile arquivo - Diz ao servidor para utilizar arquivo como arquivo de inicializao
server endereo - Especifica o endereo do servidor bootp.
hwaddr endereo - Usa endereo como endereo de hardware no lugar do endereo original.
Algumas opes se aplicam a todas as interfaces e so as seguintes:
191
192
<tipo>
soft
hard
hard
soft
hard
hard
-
<item>
core
rss
nproc
nproc
nproc
nproc
maxlogins
<valor>
0
10000
20
20
50
0
4
193
194
195
No primeiro menu, escolha a opo Create para criar uma nova conexo. As outras opes
disponveis so Change para modificar uma conexo a Internet criada anteriormente, Delete para apagar
uma conexo. A opo Quit sai do programa.
Agora o sistema perguntar qual ser o nome da conexo que ser criada. O nome provider o
padro, e ser usado caso digite pon para iniciar uma conexo internet sem nenhum argumento.
O prximo passo especificar como os servidores de nomes sero acessados. Escolha Static se no
tiver nenhum tipo de rede local ou None para usar os servidores especificados no arquivo /etc/resolv.conf.
Aperte a tecla TAB e tecle ENTER para seguir para o prximo passo.
Agora digite o endereo do servidor DNS especificado pelo seu provedor de acesso. Um servidor
DNS converte os nomes como www.blablabla.com.br para o endereo IP correspondente para que seu
computador possa fazer conexo.
Tecle ENTER para seguir para o prximo passo.
Voc pode digitar um endereo de um segundo computador que ser usado na resoluo de nomes
DNS. Siga as instrues anteriores caso tiver um segundo servidor de nomes ou ENTER para continuar.
Agora voc precisar especificar qual o mtodo de autenticao usado pelo seu provedor de
acesso. O Password Autentication Protocol usado pela maioria dos provedores de acesso. Desta forma
escolha a opo PAP
Agora entre com o seu login no provedor de acesso, ou seja, o nome para acesso ao sistema que
escolheu no momento que fez sua assinatura.
O prximo passo ser especificar a taxa de transmisso da porta serial do micro. O valor de 115200
deve funcionar com todas as configuraes mais recentes.
Uma configurao serial DTE detalhada pode ser feita com a ferramenta setserial.
Agora ser necessrio selecionar o modo de discagem usado pelo seu fax-modem. Escolha tone para
linha digital e pulse se possuir uma linha telefnica analgica.
Agora digite o nmero do telefone para fazer conexo com o seu provedor de acesso.
O prximo passo ser a identificao do seu fax-modem, escolha YES para que seja utilizada a
auto-deteco ou NO para especificar a localizao do seu fax-modem manualmente.
Se voc quiser especificar mais detalhes sobre sua configurao, como strings de discagem, tempo
de desconexo, auto-discagem, etc., faa isto atravs do menu Advanced.
Escolha a opo Finished para salvar a sua configurao e retornar ao menu principal. Escolha a opo Quit
para sair do programa.
Pronto! todos os passos para voc se conectar a Internet esto concludos, basta digitar pon para se conectar e
poff para se desconectar da Internet. Caso tenha criado uma conexo com o nome diferente de provider voc
ter que especifica-la no comando pon (por exemplo, pon provedor2).
A conexo pode ser monitorada atravs do comando plog e os pacotes enviados/recebidos atravs do pppconfig.
Para uma navegao mais segura, recomendvel que leia e compreenda alguns itens que podem aumentar
consideravelmente a segurana do seu sistema em Segurana da Rede e controle de Acesso, Seo 15.8,
/etc/hosts.allow, Seo 15.8.3.1, /etc/hosts.deny, Seo 15.8.3.2. A seo /etc/resolv.conf, Seo 15.6.2.1 pode
ser tambm til.
196
plug-ins, java, flash, etc. Voc tambm tem a escolha do Mozilla que inspirou a criao do Netscape.
O Arena e Opera so boas alternativas para aqueles que desejam um navegador em modo grfico, mas eles no
tem suporte a Java e Frames.
Os usurios e administradores de servidores que operam em modo texto podem optar pelo Lynx. Uma listagem
mais detalhada e recursos requeridos por cada navegador podem ser encontrados em Internet, Seo 29.1.3.
A palavra pool especifica o servidor de onde suas mensagens sero baixadas, o servidor especificado no
exemplo pop3.seuprovedor.com.bt. A palavra skip pode ser especificada, mas as mensagens no servidor
especificado por skip somente sero baixadas caso o nome do servidor de mensagens for especificado
atravs da linha de comando do fetchmail.
protocol o protocolo que ser usado para a transferncia de mensagens do servidor. O fetchmail
utilizar a autodeteco de protocolo caso este no seja especificado.
user define o nome do usurio no servidor pop3.seuprovedor.com.br, que no exemplo acima gleydson.
password define a senha do usurio gleydson (acima), especificada como sua_senha no exemplo.
keep opcional e serve para no apagar as mensagens do servidor aps baixa-las (til para testes e
acesso a uma nica conta de e-mail atravs de vrios locais, como na empresa e sua casa por exemplo).
197
PATH=/usr/bin:/bin:/usr/local/bin:
MAILDIR=$HOME/Mail
DEFAULT=$MAILDIR/mbox
LOGFILE=$MAILDIR/log
:0:
* ^Subject:.*Linux
mensagens-linux
A varivel de ambiente MAILDIR especifica o diretrio que sero armazenadas as mensagens e logs das
operaes do procmail. A varivel DEFAULT especifica a caixa de correio padro onde todas as mensagens que
no se encaixam nas descries do filtro do procmailrc sero enviadas. A varivel LOGFILE especifica o
arquivo que registrar todas as operaes realizadas durante o processamento de mensagens do procmail.
O arquivo mensagens-linux criado dentro do diretrio especificado por MAILDIR.
Para que o procmail entre em ao toda vez que as mensagens forem baixadas via fetchmail, preciso modificar
o arquivo .fechmailrc e incluir a linha mda /usr/bin/procmail -d %T no final do arquivo e retirar as linhas is
[usuriolocal] here para que o processamento das mensagens seja feita pelo MDA local (neste caso, o procmail).
Se quiser que o procmail seja executado pelo MDA local, basta criar um arquivo ~/.forward no diretrio do
usurio e incluir a linha exec /usr/bin/procmail (note que em algumas implementaes do exim, o procmail
executado automaticamente caso um arquivo ~/.procmailrc seja encontrado, caso contrrio ser necessrio
adicionar a linha "/usr/bin/procmail" ao arquivo ~/.forward (somente exim).
Para mais detalhes, veja a pgina de manual do procmail, procmailrc e HOWTOs relacionados com e-mails no
GNU/Linux.
198
28.3 Iniciando o X
O sistema grfico X pode ser iniciado de duas maneiras:
Automtica - Usando o programa xdm que um programa que roda no ambiente grfico X e apresenta
uma tela pedindo nome e senha para entrar no sistema (login). Aps entrar no sistema, o X executar um
dos gerenciadores de janelas configurados.
Manual - Atravs do comando startx, ou xstart (note que o startx e xstart so scripts que fazem uma
configurao completa do ambiente e as vezes tambm a segurana antes de executar o xinit) . Neste caso o
usurio deve entrar com seu nome e senha para entrar no modo texto e ento executar um dos comandos
acima. Aps executar um dos comandos acima, o servidor X ser iniciado e executar um dos gerenciadores
de janelas configurados no sistema.
28.4 Servidor X
Como dito acima, o servidor X controla o teclado, mouse e a exibio dos grficos em sua tela. Para ser
executado, precisa ser configurado atravs do arquivo /etc/X11/XF86Config ou usando o utilitrio xf86config
(modo texto).
A finalizao do servidor X feita atravs do pressionamento simultneo das teclas CTRL, ALT, BackSpace. O
servidor X imediatamente terminado e todos os gerenciadores de janelas e programas clientes so fechados.
CUIDADO: Sempre utilize a opo de sada de seu gerenciador de janelas para encerrar normalmente uma
seo X11 e salve os trabalhos que estiver fazendo antes de finalizar uma seo X11. A finalizao do servidor
X deve ser feita em caso de emergncia quando no se sabe o que fazer para sair de um gerenciador de janelas
ou de um programa mal comportado.
Recomendo fazer a leitura de Fechando um programa quando no se sabe como sair, Seo 7.15 caso estiver em
dvidas de como finalizar um programa mal comportado ou que no sabe como sair.
199
200
29.1.3 Internet
Netscape 4.73 -
Modo Grfico - Verso do Netscape Communicator para GNU/Linux, com criptografia forte,
programa de e-mail, news, editor interativo de pginas HTML, catlogo de endereos.
Tambm possui suporte a rede proxy e conexo via firewall.
Equipamento mnimo recomendvel: 486 com 32 MB de RAM e 40 MB de espao em disco
livre.
Mozilla - Modo Grfico - Navegador que inspirou a construo do Netscape, foi o primeiro navegador
201
flexibilidade muito boa para quem conhece os comandos dos clientes IRC. Tambm permite o log das
conversas pblicas e privadas. Tambm funciona via proxy tradicional ou Firewall.
Equipamento mnimo recomendado: 386 com 8 MB de RAM e 3 MB de disco.
licq - Modo grfico - Programa de ICQ grfico para GNU/Linux. Apesar de ter muitos recursos, sua interface
muito organizada e possui suporte a seleo de sua aparncia (Skins). Emite avisos sonoros e levanta-se
sobre as outras janelas durante o recebimento de mensagens. Tambm funciona via proxy tradicional ou
Firewall.
Equipamento mnimo recomendado: 386 com 8 MB de RAM e 6 MB de disco.
zicq - Modo Texto - Programa de ICQ em modo Texto.
Equipamento mnimo recomendado: 386 com 2 MB de RAM e 1 MB de disco.
29.1.4 Emuladores
DosEmu - Emulador do DOS. Permite executar aplicativos e jogos de DOS no GNU/Linux
Equipamento mnimo recomendado: 486 com 8 MB de RAM e 4 MB de disco.
Wine - Emulador de Windows. Permite executar aplicativos desenvolvidos para Windows 3.1X, 9X, NT e 200x
no GNU/Linux.
Equipamento mnimo recomendado: 486 com 16 MB de RAM e 12 MB de disco.
29.1.5 Utilitrios
Midnight Commander -Gerenciador de Arquivos no estilo do Nortom Commander e Far. Opera tanto em modo
texto e grfico e possui todas as qualidades dos gerenciadores acima, mais o suporte ao
painel FTP, permisses de arquivos e dicas sobre o sistema. Simples, prtico e til.
Equipamento mnimo recomendado: 386 com 4 MB de RAM e 2 MB de disco.
wget - Modo Texto - Permite a cpia completa de sites remotos e tambm pode ser usado como mirror. Com o
simples comando wget http://www.metainfo.org/focalinux, todo o site do guia Foca Linux ser gravado
em seu disco. O wget tambm tem a caracterstica de resumir downloads interrompidos e copiar
somente arquivos mais novos.
Gostou da idia? Isto s o comeo! existem ferramentas mais poderosas no GNU/Linux :-)
Equipamento mnimo recomendado: 386 com 4 MB de RAM e disco dependendo do tamanho do site
que deseja copiar (um disco maior que 540 MB exige uma placa-me com suporte a LBA :-)
202
29.2.2 Internet
arena - um navegador WWW compatvel com HTML 3.0 para o X
bezerk - Cliente IRC baseado em GTK
bitchx - Cliente IRC Avanado
bitchx-gtk - Interface grfica GTK para o BitchX
cftp - Cliente ftp de tela cheia
chimera2 - Navegador Web para o X
dxftp - Cliente FTP Darxite baseado em linha de comando
epic4 - Cliente irc epic irc client, verso 4
epic - Cliente ircII modificado com funcionalidades adicionais
everybuddy - Cliente ICQ, AOL, Yahoo (tudo em 1)
express - Navegador web baseado em GTK para o GNOME
filerunner - Programa FTP e Gerenciador de Arquivos baseado em X
ftp - O cliente FTP padro
ftp-upload - Envia arquivos FTP atravs de um script
gaim - Um clone GTK do AOL Instant Messenger
gftp - Cliente FTP do X/GTK+
gnap - Cliente Gnome para o Napster
gnapster - Cliente Napster para Linux - localiza arquivos MP3 na Internet
gnomeicu - Clone pequeno, rpido e funcional do Mirabilis ICQ
gnome-napster - Cliente Napster para Linux - localiza arquivos MP3 na Internet
gpppon - Um applet do gnome que funciona como uma interface ao pon e poff
gzilla - Um navegador web baseado em GTK
irssi - Cliente IRC para Gnome
isdnbutton - Inicia e Interrompe conexes ISDN e mostra status
licq-data - Arquivos de daods para o Licq
licq-plugin-qt2 - Interface grfica para o Licq usando bibliotecas QT2
licq - Programa ICQ grfico para Linux
lynx - Navegador WWW em modo texto
micq - Cliente ICQ baseado em texto com muitas caractersticas
mosaic - Navegador WWW Grfico
mozilla - Um Navegador WWW de cdigo aberto para o X e GTK+
ncftp2 - Um cliente FTP com interface fcil e com muitas caractersticas
ncftp - Um cliente FTP com interface fcil e com muitas caractersticas
Netscape - Navegador grfico com programa de e-mail, news, livro de endereos, editor de pginas HTML.
Suporta Java, tabelas, frames, CSS, proxy, etc...
ppxp - Programa PPP
ppxp-tcltk - Console tk do ppxp
Guia Foca GNU/Linux
203
204
29.2.5 Multimdia
gxanim - Interface em GTK para o xanim
smpeg-gtv - Exibe arquivos MPEG de audio/vdeo com interface em GTK+
smpeg-plaympeg - Exibe arquivos MPEG de audio/vdeo atravs da linha de comando
Guia Foca GNU/Linux
205
29.2.6 Som
ascdc - CD changer ideal para ser usado no After Step junto com o mdulo wharf
ascd - CD Player e mixer para Window Maker e After Step (D)
aumix - Mixer em modo texto que permite modificar, salvar e restaurar a configurao de som na inicializao
do sistema
bplay - Player/Gravador wav que opera em modo texto (root)
cam - Mixer para modo texto com controle completo da placa de som. Tambm permite salvar e restaurar a
configurao de som, embora isto seja mais simples atravs do aumix.
cdda2wav - Extrai audio do CD para arquivos wav e mp3
cd-diskio - Obtem dados do CDDB sobre o CD de audio
cdparanoia - Extrai dados de CD para wav
cdtool - Utilitrios para manipulao de CD player em modo texto
dtmfdial - Gera tons de discagem para linhas tom
festival - L textos para a placa de som do sistema
freeamp - Player mp2/mp3
gramofile - Programa de gravao de msicas de disco de vinil para wav com filtros para retirada de rudos
graudio - Permite controlar placas de rdio FM
grip - CD-Ripper e CD-Player (do CD paranoia)
gtick - Gera rudos de batida em /dev e /dsp
id3 - Modifica cabealhos de identificao de arquivos mp3
maplay - Decoder mp3 que permite a decodificao para a sada padro
mctools - CDplayer e mixer
mixer.app - Mixer para Window Maker (D)
mp3blaster - Player mp3 para console
mp3info - Mostra cabealho de arquivos mp3
nas - Network Audio Server - Sistema de audio atravs da rede
playmidi - Toca musicas .mid
recite - L textos para a placa de som do sistema
rplay - Toca sons atravs da rede
s3mod - Player para arquivos de msica s3m e mod
saytime - Diz as horas na placa de som
snack - Adiciona suporte a som na linguagem TCL/TK
soundtracker - Mdulos para edio. suporta mdulos .xt e instrumentos .xi
sox - Tradutor universal de sons
splay - Toca arquivos mp1, mp2, mp3
synaesthesia - Osciloscpio musical
timitidy - Midi sequencer. Tambm faz a converso de arquivos .mid para .wav
tkmixer - Mixer em TCL/TK
transcriber - Permite gravar notas durante a descrio de programas
vkeybd - Teclado virtual (requer placa awe)
wav2cdr - Converte wav em arquivos cdr. Permite edio de msicas
wavtools - Ferramentas para arquivos wav (player, recorder, compactao)
wmcdplayer - Mdulo de Cd player para Window Maker
wmxmms-spectrum - Spectrum analizador para Window Maker (D)
workbone - CD player para modo texto operado atravs do teclado numrico
wosundprefs - Preferncias musicais para o Window Maker
wsoundserver - Servidor de som para Window Maker
xcolmix - Um mixer colorido RGB
xfreecd - Programa para tocar CDS
xmcd - CD player/changer muito completo com suporte ao CDDB
xmix - Mixer para o X
Guia Foca GNU/Linux
206
xmp - Player mod, s3m, 669, mtm, ptm, okt, far, wow, amd, rad, alm
29.2.7 Comunicao/Fax
adbbs - AD BBS, uma BBS baseada em perl ou menu de sistema fcil
efax - Programas para enviar e receber mensagens de fax
hylafax-client - Programa HylaFAX cliente
hylafax-server - Programa HylaFAX servidor
lrzsz - Ferramentas para a transferncia de arquivos atravs de zmodem/xmodem/ymodem
mgetty-fax - Ferramentas de Fax para o mgetty
mgetty - Substituio ao getty
mgetty-viewfax - Programa para mostrar arquivos de fax sob o X
mgetty-voice -Secretria Eletrnica para o mgetty
minicom - Clone do "Telix" - um programa de comunicao do DOS
mserver - Servidor de Modem para a Rede
seyon - Programa de comunicao nativo completo nativo do X11
smsclient - Um programa para enviar mensagens curtas para telefones mveis/Pagers (SM / SMS)
speaker - Aplicativo Viva Voz baseado em Tcl/Tk
tkhylafax - Uma interface td ao hylafax
xringd - Daemon de chamadas Extendida - Monitora toques do telefone e executa alguma ao
29.2.8 X Window
asclock - Relgio do After Step
dfm - Gerenciador de Arquivos/Desktop
dgs - Visualizador de arquivos do Ghost Script
dxpc - Compactador do protocolo X para linhas lentas
floatbg - Modifica lentamente a cor do fundo da janela do root
gdm - Gerenciador de seo do GNOME - Substituio ao xdm
gentoo - Um gerenciador de arquivos totalmente configurvel para o X usando o GTK+
gtkcookie - Editor de arquivos cookie
gtkfind - Localizador de arquivos completo
gtkfontsel - Visualizador de fontes
ical - Um aplicativo de calendrio baseado em X11/Tk
regexplorer - Explorer visual de expresses regulares
rt - Mostra arquivos de log selecionados na janela raz do X
sclient - Um cliente MUD baseado em gtk.
sfm - Um gerenciador de arquivos baseado em texto usando o GTK+
tkdesk - Um gerenciador de Desktop/Arquivos X11 baseado em TCL/TK
tkvnc - Mostra uma lista de mquinas definidas para iniciar o VNC
tkworld - Uma interface grfica para comandos do shell
tuxeyes - Uma verso do xeyes para o penguim
ude - Ambiente desktop do Unix
unclutter - Oculta o mouse no X aps um perodo de inatividade
uwm - Gerenciador de janelas ultimate para o UDE
vreng - Motor de realidade virtual
wdm - Substituio ao XDM com visual do Window Maker, animaes e suporte a seleo do gerenciador de
janelas
wmanager - Permite selecionar o gerenciador de janelas aps o login do xdm
wmapm - Mostra o status da bateria, gerenciamento de energia do sistema (D)
wmdate - Mostra a data/dia da semana (D)
wmifs - Monitor das interfaces de rede com indicador de atividade das interfaces (envio/recebimento) grfico de
atividade na rede e indicador de interface ativa (D)
wmitime - Relgio analgico+digital+data e hora da Internet. (D)
wmload - Mostra a carga da CPU na forma de barras (D)
wmmail - Monitor de E-mails (D)
wmmatrix - Mostra um dock do matrix (D)
wmmixer - Mixer para o Window maker (D)
wmmoonclock - Relgio da lua (D)
wmnet - Monitor de interfaces de rede (D)
wmnetselect - Dispara o netscape atravs de um cone (D)
Guia Foca GNU/Linux
207
208
209
29.2.12 Impresso
apsfilter - Um filtro de linha de impresso para sistemas com lpd/lpr
cupsys-bsd - Common UNIX Printing System(tm) - comandos BSD
cupsys - Common UNIX Printing System(tm) - bsico
djtools - Ferramentas para a impressora HP Deskjet
ifhp - Filtro para impressoras HP LaserJet
lprng - Sistema de spooling de impresso lpr/lpd
lpr - Sistema de spooling da linha de impresso estilo BSD
Guia Foca GNU/Linux
210
29.2.13 Texto
1a2ps - Conversor GNU de "tudo para PostScript" e impresso
abc2ps - Traduz arquivos de descrio de msica ABC para PostScript
acroread - Adobe Acrobat Reader: Visualizador de arquivos Portable Document Format
aspell - Uma substituio mais inteligente para o verificador ortogrfico ispell
brazilian-conjugate - Conjugador de verbos Portugues do Brasil
catdoc - Conversor de arquivos MS-Word para TeX ou texto plano
colortail - tail que colore os padres que conferem
cost - Ferramenta de ps processamento SGML de propsito geral
debiandoc-sgml -DTD DebianDoc SGML e ferramentas de formatao
docbook - DTD SGML para a documentao de software
dog - Substituio avanada para o cat
figlet - Cria palavras usando tabelas de caracteres ASCII
flip - Converte arquivos de texto entre os formatos DOS e Unix
ghostview - Um visualizador PostScript para o X11
gnuhtml2latex - Um Script Perl que converte arquivos html em latex
gs-aladdin - Interpretador PostScript com suporte a X11 e preview svgalib
gsfonts - Fontes para o interpretador ghostscript
gs - Interpretador PostScript com suporte a X11 e preview svgalib
gtkdiff - Ferramenta de comparao de texto grfica
help2man - Gerador automtico de pginas de manual
html2ps - Conversor HTML para PostScript
iamerican - Um dicionrio de Ingls Americano para o ispell
ibrazilian - Um dicionrio do Brasileiro para o ispell
ispell - International Ispell (um corretor ortogrfico interativo)
less - Programa de paginao de arquivos, parecido com o more
lincredits - Gera verses com melhor formatao do arquivo CREDITS do Linux
lookup - utilitrio para procurar arquivos de texto rapidamente e com muitos recursos
lout - Sistema de Digitao, uma alternativa ao (La)TeX
lv - Um poderoso visualizador de arquivos multi-lngua
lyx - Processador de textos de alto nvel
mgdiff - clone do xdiff
mswordview - Um conversor de arquivos MS Word 97/2000 para HTML
ndtpd - Servidor CD-ROM books
par - Reformatador de pargrafo
pbm2ppa - Conversor PBM para PPA
perlsgml - Ferramentas para construir e analizar DTDs SGML
perspic - Programa indexador de textos e localizador de palavras
poster - Faz grandes posters de pginas PostScript
ppd-gs - Arquivos de descrio de impressora PostScript para o Ghostscript
pstotext - Extrai textos de arquivos PostScript e PDF
recode - Utilitrio de converso do conjunto de caracteres
sgml-base - Utilitrio para manter o arquivo de catlogo SGML
sgml-data - Dados comuns entre DTDs SGML e entities
sgml-tools - Conversores SGML somente par ao DTD linuxdoc
spell - Spell GNU, um clone do "spell" para Unix
sufary - Ferramentas de procura em texto completo usando uma array de sufixos
sufary-tcltk - Interface Tcl/Tk para o SUFARY
tcs - Tradutor de conjunto de caracteres
tkdiff - Utilitrio "diff" grfico
trueprint - Imprime de forma organizada o cdigo fonte
Guia Foca GNU/Linux
211
29.2.14 Kernel
adjtimex - Mostra e configura variveis do Kernel
autofs - Montador automtico baseado no Kernel para Linux
Kernellab - Gerencia facilmente configuraes do Kernel em muitas mquinas
Kernel-package - Scripts de construo do pacote de Kernel para a Debian
knl - Obtm/ajusta parmetros de imagem do Kernel
ksymoops - Interpreta mensagens oops e de erro do Kernel
psmisc - Utilitrios que utilizam o sistema de arquivos /proc
systune - Ajuste fino do Kernel atravs do sistema de arquivos /proc
29.2.15 Notebooks
apmd - Utilitrio para gerenciamento avanado de energia (APM) em Notebooks
toshutils - Utilitrios para Note Books Toshiba
wmbattery - Mostra o status/carga da bateria (D)
29.2.19 Backup
afbackup-client - Sistema de backup cliente-servidor (lado Cliente)
afbackup - Sistema de backup cliente-servidor (lado Servidor)
amanda-client - Advanced Maryland Automatic Network Disk Archiver (Cliente)
amanda-common - Advanced Maryland Automatic Network Disk Archiver (Libs)
Guia Foca GNU/Linux
212
29.2.20 Utilitrios
afio - Programa de manipulao de arquivos
aish - Conversor ish/base64/uuencoded_file
alien - Instala pacotes da Red Hat, Stampede e Slackware com o dpkg
ascii - Mostra aliases e tabela para caracteres ASCII
autoconf - Script de configurao automtico
autogen - Gerador automtico de arquivos texto
automake - Gerador automtico de scripts Makefile
autoproject - Cria um esqueleto de pacote fonte para um novo programa
barcode - Cria cdigo de barras no formato .ps
binstats - Ferramenta de estatstica para programas instalados
birthday - Alerta sobre eventos pendentes no login
blinkd -Pisca LEDS do teclado para uma secretria eletrnica ou mquina de fax
bl - Pisca seqencialmente os LEDs do teclado
bsdmainutils - Mais utilitrios do 4.4BSD-Lite
btoa - Converte binrio para ascii e vice versa
cbb - Um clone do Quicken
chase - Segue um link simblico e mostra seu arquivo alvo
dgpsip - Corrige localizao GPS com o sinal DGPS da internet
diffstat - produz grficos das alteraes introduzidas por um arquivo diff
dotfile-bash - Gerador de arquivos dotfile, mdulo para o bash
dotfile -Configurao fcil de programas populares atravs da interface Tcl/Tk
dotfile-elm - Gerador de arquivos dotfile, mdulo para o elm
dotfile-fvwm1 - Gerador de arquivos dotfile, mdulo para o fvwm1
dotfile-fvwm2 - Gerador de arquivos dotfile, mdulo para o fvwm2
dotfile-ipfwadm - Gerador de arquivos dotfile, mdulo para o ipfwadm
dotfile-procmail - Gerador de arquivos dotfile, mdulo para o procmail
dotfile-rtin - Gerador de arquivos dotfile, mdulo para o rtin
dotfile-tcsh - Gerador de arquivos dotfile, mdulo para o tcsh
dump - 4.4bsd dump e restore para sistema de arquivos ext2
fastjar - Utilitrio de criao de arquivos Jar
fdupes - Identifica arquivos duplicados residindo nos diretrios especificados
fdutils - Utilitrios de disquete do Linux
file - Determina o tipo de arquivo usando nmeros "mgicos"
gcal - Mostra um calendrio
gettext - Utilitrios de internacionalizao da GNU
gfloppy - Interface grfica para a formatao de disquetes
git - Ferramentas interativas da GNU
glimpse - Ferramentas de indexao e localizao em tela cheia
gmc - Midnight Commander - Um poderoso gerenciador de arquivos - Verso gnome
gmemusage -Mostra um grfico detalhando a utilizao de memria por cada processo
gnotes - Applet de notas Yellow sticky para o GNOME
gnucash - Um programa de tratamento de finanas pessoais
gpm - Daemon de mouse para modo texto
grep-dctrl - Verso do gru para informaes de pacotes da Debian
gtktalog - Catlogo de Disco
guitar - Ferramenta de extrao/visualizao de arquivos em GTK+
gxset - Interface grfica baseada em GTK a ferramenta de linha de comando xset
hextype - Hexdump de acordo com o formato de sada do antido Debug do DOS
iraf - Reduo de Imagem e Facilidade de Anlise (astronomia/imagem)
jdresolve - Alternativa rpida ao logresolve do Apache
kbd - Utilitrios de fonte e mapas de teclado para o console do Linux
launcher - Seleciona que programa carregar de acordo com a extenso
lavaps - Uma lmpada de lava dos processos atualmente executados
Guia Foca GNU/Linux
213
leave - Te lembra quando deve deixar o sistema (muito til para quem gosta do Linux :-)
linuxlogo - Logotipo do Sistema Colorido em ANSI
loadwatch - Executa um programa usando somente ciclos ociosos da CPU
makepatch - gera/aplica arquivos de patch com mais funcionalidade que o diff plano
mc-common - Arquvios comuns par ao mc e gmc
mc - Midnight Commander - Um poderoso gerenciador de arquivos
mirrordir - Duplica um diretrio fazendo um mnimo de modificaes
ncdt - Mostra a rvore de diretrios
netplan - Servidor de rede para o "plan"
nwrite - Substituio avanada ao comando write
patch - Aplica um arquivo gerado pelo diff a um original
pcal - Cria calendrios imprimveis via PostScript sem o X
perforate - Utilitrios para salvar espao em disco
pgrep - utilitrio grep que usa expresses regulares compatveis com o Perl
plan - Planejamento dirio baseado em X/Motif (compilado dinmicamente com LessTif)
pointerize - Utilitrios de internacionalizao baseado no gettext
popularity-contest - Vote em seus pacotes favoritos automticamente
pydf - Clone df com sada em cores
rtlinux - Linux em Tempo Real
set6x86 -Ferramenta de configurao para CPUs Cyrix/IBM 5x86/6x86
splitvt - Executa dois programas em uma tela dividida
statserial - Mostra a linha de status da porta serial do modem
strace - Um traador de chamadas do sistema
sunclock - Mostra poro iluminada do planeta terra
symlinks - procura/modifica links simblicos
tleds - Pisca LEDs do teclado indicando Envio e Recebimento de pacotes da rede
tree - Mostra a rvore de diretrios em cores
units - conversor entre diferentes unidades de sistema
uptimed - Utilitrio para registrar seus maiores tempos de utilizao do sistema
urlview - Extrai URLs de textos
vold - Daemon de volume para unidades de CDROM
vrms - Virtual Richard M. Stallman (mostra mensalmente uma lista de pacotes no-livres instalados em seu
sistema)
wipe - Deleo segura de arquivos (sem possibilidade de recuperao)
xcal - Um calendrio grfico com alarmes de alerta
xplanet - Cria imagens do planeta Terra
xvmount - Pequeno utilitrio grfico para a montagem de dispositivos pelos usurios
29.2.21 Compactadores/Descompactadores/Arquivadores
bzip2 - Um timo compactador de arquivos texto - utilitrios
gzip - Compactador de arquivos de formato .gz
lha - Compactador de arquivos no formato .lha ou . lzh
lzop - Um compactador em tempo real
ncompress - Compress / Uncompress original para a transferncia de News, etc.
rar - Compactador/Descompactador de arquivos .rar
tar - Utilitrio de arquivamento de arquivos
unarj - Descompactador de arquivos .arj
unzip - Descompactador de arquivos .zip
zoo - Manipula arquivos compactados no formato .zoo
214
29.2.23 Outros
acs - Simulador de Circuito Al's
avra - Montador para microcontroladoras AVR Atmel
avrp - Programador para microcontroladoras AVR Atmel
chipmunk-log - Ferramenta de captura esquemtica e ambiente de simulao
cracklib2-dev - Uma biblioteca de checagem de senhas
cracklib2 - Uma biblioteca de checagem de senhas
cracklib-runtime - Uma biblioteca de checagem de senhas
display-dhammapada - Mostra versos do Dhammapada
fastdnaml - [Biologia] Uma ferramenta para construo de rvores da seqncia do DNA
geda - GNU EDA -- Software de design eletrnico
gwave - Um visualizador waveform para simuladores spice
megahal - Um simulador de conversao que pode aprender
mime-support - Arquivos MIME "mime.types" e "mailcap", e programas
nitpic - Simulador para o Microcontrolador Microchip PIC16C84
pcb - Programa de Design de Placas de Circuito Impresso
puzzle - [Biology] Reconstruction of phylogenetic trees by maximum likelihood
readseq - [Biologia] Converso entre formatos em seqncia
savant - Analizador VHDL 93 livre da University de Cincinnati's
screen - Um gerenciador de tela com a emulao de terminal VT100/ANSI
seaview - [Biologia] Um editor de alinhamento em mltiplas seqncias
simulpic - Simulador de dispositivo PIC Microchip
smtm - Show Me The Money is a configurable Perl/Tk stock ticker program
spim - Emulador MIPS R2000/R3000
xacc-smotif -Um programa de tratamento de finanas pessoais
xacc - Um programa de tratamento de finanas pessoais
xcircuit - Esquemas de circuitos de desenho de quase tudo
215
216
info [comando/programa]
Se o nome do comando/programa no for digitado, a info pages mostra a lista de todos os manuais de
comandos/programas disponveis. A navegao da info pages feita atravs de nomes marcados com um "*"
(hipertextos) que se pressionarmos <Enter>, nos levar at a seo correspondente. A info pages possui algumas
teclas de navegao teis:
q - Sai da info pages
? - Mostra a tela de ajuda (que contm a lista completa de teclas de navegao e muitos outras opes).
n - Avana para a prxima pgina
p - Volta uma pgina
u - Sobre um nvel do contedo (at checar ao ndice de documentos)
m - Permite usar a localizao para encontrar uma pgina do info. Pressione m, digite o comando e tecle
<Enter> que ser levado automaticamente a pgina correspondente.
d - Volta ao ndice de documentos.
Existem muitos outras teclas de navegao teis na info pages, mas estas so as mais usadas. Para mais detalhes,
entre no programa info e pressione ?.
Exemplo: info cvs.
30.4 help
Ajuda rpida, til para saber que opes podem ser usadas com os comandos internos do interpretador de
comandos. O comando help somente mostra a ajuda para comandos internos, para ter uma ajuda similar para
comandos externos, veja Help on line, Seo 30.3. Para usar o help digite:
help [comando]
Exemplo: help echo, help exit
30.5 apropos/whatis
Apropos procura por programas/comandos atravs da descrio. til quando precisamos fazer alguma coisa
mas no sabemos qual comando usar. Ele faz sua pesquisa nas pginas de manual existentes no sistema e lista os
comandos/programas que atendem a consulta. Para usar o comando apropos digite:
apropos [descrio]
Digitando apropos copy, ser mostrado todos os comandos que tem a palavra copy em sua descrio
(provavelmente os programas que copiam arquivos, mas podem ser mostrados outros tambm).
30.6 locate
Localiza uma palavra na estrutura de arquivos/diretrios do sistema. til quando queremos localizar onde um
comando ou programa se encontra (para copia-lo, curiosidade, etc). A pesquisa feita em um banco de dados
construdo com o comando updatedb sendo feita a partir do diretrio raz / e sub-diretrios. Para fazer uma
consulta com o locate usamos:
locate [expresso]
A expresso deve ser o nome de um arquivo diretrio ou ambos que sero procurados na estrutura de diretrios
do sistema. Como a consulta por um programa costuma localizar tambm sua pgina de manual,
recomendvel usar "pipes" para filtrar a sada do comando (para detalhes veja | (pipe), Seo 14.4 .
Por exemplo, para listar os diretrios que contm o nome "cp": locate cp. Agora mostrar somente arquivos
binrios, usamos: locate cp| grep bin/
217
30.7 which
Localiza um programa na estrutura de diretrios do path. muito semelhante ao locate, mas a busca feita no
path do sistema e somente so mostrados arquivos executveis .
which [programa/comando].
218
Reading-List-HOWTO - Lista os livros mais valiosos para uma pessoa que deseja aprender o sistema
operacional Unix (especialmente o GNU/Linux).
Software-Building-HOWTO - Guia compreensivo de como construir e instalar distribuies de softwares
"genricas" UNIX sob o GNU/Linux. Adicionamente existe alguma cobertura dos binrios pr-empacotados
"rpm" e "deb".
Tips-HOWTO - Este documento descreve algumas dicas difceis de encontrar e truques que fazem o
GNU/Linux um pouco melhor.
Unix-and-Internet-Fundamentals-HOWTO - Este documento descreve a base de funcionamento dos
computadores da classe PC, sistemas operacionais Unix e a Internet em linguagem no tcnica.
User-Authentication-HOWTO - Explica como as informaes de usurio e grupo so armazenadas e
como os usurios so autenticados no sistema GNU/Linux (PAM) e como melhorar a autenticao de seu
sistema.
Belgian-HOWTO - Este documento ensina a configurao do sistema GNU/Linux para o idioma Belgo.
Chinese-HOWTO - Este documento explica como configurar o idioma Chins no GNU/Linux.
Cyrillic-HOWTO - Explica como utilizar o GNU/Linux com o idioma Russo.
Danish-HOWTO - Descreve como configurar o GNU/Linux e vrios aplicativos GNU/Linux para este
idioma.
Esperanto-HOWTO - Configurao do GNU/Linux para o idioma Esperanto.
Finnish-HOWTO - Descreve como usar o sistema GNU/Linux no idioma Finlands.
Francophones-HOWTO - Descreve como usar o GNU/Linux no idioma Francs.
German-HOWTO - Descreve como usar o GNU/Linux com o idioma Alemo.
Hebrew-HOWTO - Descreve como configurar o GNU/Linux para exibir caracteres Hebreus no X-Window
e Console.
Hellenic-HOWTO - Guia para configurao do GNU/Linux.
Italian-HOWTO - Descreve como configurar o GNU/Linux no idioma Italiano.
Polish-HOWTO - Configurando seu sistema GNU/Linux para o idioma Polons.
Portuguese-HOWTO - Configurando seu sistema GNU/Linux para o idioma Portugus.
Serbian-HOWTO - Configurando seu sistema GNU/Linux para o idioma Servio.
Slovenian-HOWTO - Como configurar os parmetros do sistema GNU/Linux para este idioma.
Spanish-HOWTO - Configurando o sistema GNU/Linux para o idioma Espanhol.
Thai-HOWTO - Descreve como usar o idioma Tailands com o GNU/Linux.
Turkish-HOWTO - Configurando o GNU/Linux para o idioma Turco.
219
ferramentas raid 0.90 e acompanhadas do patch nos Kernels das sries 2.0.37, 2.2x e 2.3x.
SCSI-Programming-HOWTO - Este documento fala sobre a programao da interface SCSI genrica no
GNU/Linux.
UMSDOS-HOWTO - O UMSDOS um sistema de arquivos GNU/Linux. Ele oferece uma alternativa do
sistema de arquivos EXT2. Sua maior caracterstica a coexistncia com os dados DOS existentes,
compartilhando a mesma partio.
30.8.1.5 Hardware
3Dfx-HOWTO - Este documento descreve o suporte do GNU/Linux aos chips aceleradores 3Dfx. Tambm
lista alguns hardwares suportados, descreve como configurar os drivers e responde perguntas frequntes.
Busmouse-HOWTO - Descreve como instalar, configurar e usar um barramento de mouse sob o
GNU/Linux. Ele contm uma lista de barramentos suportados e tenta responder as questes mais frequntes
relacionadas ao assunto.
Ftape-HOWTO - Este howto discute o controlador de unidades tape para GNU/Linux.
HP-HOWTO - Este documento descreve o uso dos produtos disponveis no catlogo Hewlett-Packard
(HP) com o GNU/Linux e alguns programas free software. Ele explica o estado do suporte para hardwares,
softwares utilizados e respostas para alguns questes frequntes.
Hardware-HOWTO - Este documento lista a maioria dos hardware suportados pelo GNU/Linux e lhe
ajuda a localizar os controladores necessrios.
Jaz-Drive-HOWTO - Este HOWTO cobre a configurao e uso dos drivers Iomega 1Gb e 2Gb sob o
GNU/Linux.
Kodak-Digitalcam-HOWTO - Fazendo uma camera Kodak digital funcionar sob GNU/GNU/Linux.
Laptop-HOWTO - Os Notebooks so diferentes de computadores desktops/torres. Eles usam certos
hardwares como cartes PCMCIA, portas infravermelho, baterias, estaes de encaixe. Freqentemente
seus hardwares so mais limitados (i.e. espao em disco, velocidade da CPU) ento sua performance se
torna menor. Em algumas instncias, os notebooks podem se tornar uma substituio ao sistema desktop. O
suporte de hardware para o GNU/Linux (e outros sistemas operacionais) algumas vezes mais limitado (i.e.
chips grficos, modems internos). Os Notebooks freqentemente utilizam hardware especializado, no qual a
localizao de um controlador adequado pode se tornar uma dificuldade. Os Notebooks so utilizados em
ambientes mveis, assim existe a necessidade de mltiplas configuraes e estratgias adicionais de
segurana.
Modem-HOWTO - Ajuda com a seleo, conexo, configurao, resoluo de problemas e compreenso
de modems de um PC. Veja o Serial-HOWTO para detalhes sobre mltiplas placas seriais.
PCI-HOWTO - Informaes sobre o que funciona com o GNU/Linux e placas PCI e que o no funciona.
Plug-and-Play-HOWTO - Este documento ajuda a compreenso e operao do Plug-and-Play e como
incluir o suporte do seu sistema GNU/Linux ao Plug-and-Play.
Serial-HOWTO - Este documento descreve caractersticas da porta serial ao invs de outros detalhes que
devem ser cobertos pelos documentos Modem-HOWTO, PPP-HOWTO, Serial-Programming-HOWTO, ou
Guia Foca GNU/Linux
220
Text-Terminal-HOWTO. Ele lista detalhes sobre mltiplas placas seriais contendo informaes tcnicas
detalhadas sobre a prpria porta serial em mais detalhes do que os encontrados nos HOWTOs acima e deve
ser o suficiente para correo de problemas quando o problema a prpria porta serial. Se estiver
trabalhando com um Modem, PPP (usado para acesso a Internet atravs de uma Linha telefnica), ou um
Terminal baseado em modo texto, seus respectivos HOWTOs devem ser primeiramente consultados.
Serial-Programming-HOWTO - Explica como programar comunicaes com dispositivos atravs de uma
porta serial em um computador com o GNU/Linux.
UPS-HOWTO - Este documento te ajudar a conectar um uninterruptable power supply (No Break) em
seu computador GNU/Linux... se tiver a sorte de possuir um...
Wacom-Tablet-HOWTO - Instalao do (no somente) Wacom graphic tablets sob o GNU/Linux e / ou
xfree86.
Wearable-HOWTO - Computao mvel com GNU/Linux.
Winmodems-and-Linux-HOWTO - Este documento contm detalhes sobre a configurao de Winmodems
no GNU/Linux.
30.8.1.6 Software
AI-Alife-HOWTO - Este howto contm informaes primrias sobre, e links para, vrias bibliotecas
relacionadas com o AI, aplicativos, etc. que funcionam na plataforma GNU/Linux. Todos eles (pelo menos)
livres para uso pessoal.
Commercial-HOWTO - Este documento contm uma listagem de programas comerciais e aplicaes que
so oferecidas para o GNU/Linux
Glibc2-HOWTO - Este documento cobre a instalao e uso da Biblioteca GNU C verso 2 nos sistemas
GNU/Linux.
RPM-HOWTO - Explica como utilizar o sistema de gerenciamento de pacotes RPM.
Program-Library-HOWTO - Este documento para programadores discute como criar e usar bibliotecas no
GNU/Linux. Estas incluem bibliotecas estticas, bibliotecas compartilhadas e bibliotecas carregadas
dinamicamente.
Secure-Programs-HOWTO - Este documento oferece um conjunto de designs e regras de implementao
para escrever programas seguros para os sistemas Unix e Linux. Tais programas incluem programas
aplicativos usados para visualizadores de dados remotos, scripts CGI, servidores de rede, programas
setuid/setgid. Guias especficos sobre C, C++, Java, Perl, Python, e Ada95 esto includos.
Software-RAID-0.4x-HOWTO - RAID significa "Redundant Array of Inexpensive Disks", e significa ser
um mtodo de criar um rpido e confivel subsistema de unidades de disco ao invs de discos individuais. O
RAID pode se prevenir de falhas de disco e pode tambm aumentar a performance obtida atravs de uma
simples unidade de disco. Este documento um tutorial/HOWTO/FAQ para usurios do Kernel do Linux
com extenses MD, as ferramentas associadas, e seu uso. A extenso MD implementa o RAID-0 (striping),
RAID-1 (mirroring), RAID-4 e RAID-5 no sofware. O que significa que, com MD, nenhum hardware
especial ou controladoras de disco so requeridas para obter muitos dos benefcios do RAID.
Software-RAID-HOWTO - Este documento descreve como usar o software RAID sob o GNU/Linux. Ele
enderea uma verso especfica da camada de software do RAID, nomeada camada RAID 0.90, feita por
Ingo Molnar e outros. Esta a camada RAID que ser padronizada no Linux-2.4, e tambm a verso usada
por Kernels 2.2 do GNU/Linux vendidos por alguns vendedores. O suporte RAID 0.90 est disponvel com
patches para os Kernels do 2.0 e 2.2 do GNU/Linux e tambm considerado ser mais estvel que o antigo
suporte RAID j includo nestes Kernels.
Software-Release-Practice-HOWTO - Este documento descreve boas prticas de lanamento para o
projeto de cdigo-aberto GNU/Linux. Seguindo estas prticas, ser fcil e possvel para os usurios
construir seu cdigo e usa-lo, e para outros desenvolvedores entender seu cdigo e cooperar com voc para
melhora-lo. Este documento deve ser lido por desenvolvedores iniciantes. Desenvolvedores experientes
devem revisa-lo quando desejarem lanar um novo projeto. Este documento revisado periodicamente para
refletir a evoluo das boas prticas de lanamento.
221
comuns e suas solues, disponibilidade e mais. Ele tambm tenta ser um pouco til a outras pessoas que
desejam ler esta FAQ em uma tentativa de encontrar informaes que atualmente seriam cobertas em outro
lugar.
SRM-HOWTO - Este documento descreve como inicializar no Linux/Alpha usando o console SRM, que
a firmware de console tambm usada para inicializar o Unix Compaq Tru64 (tambm conhecido com
Digital Unix e OSF/1) e OpenVMS.
222
para criar interfaces grficas do usurio (GUI) sob o Sistema X Window. Suas capacidades incluem a
possibilidade de estender e incluir em outros aplicativos, desenvolvimento rpido e fcil de usar. Juntos o
Tcl e Tk oferecem muitos benefcios para o desenvolvedor e usurio. As interfaces baseadas no Tk tendem a
ser mais personalizveis e dinmicas que aquelas feitas de toolkits C ou C++. O Tk implementa o Visual e
Uso do Motif. Um grande nmero de aplicaes X interessantes so implementadas completamente em Tk,
com nenhum comandos especficos de aplicativo.
223
224
Printing-Usage-HOWTO - Descreve como usar o sistema de spooling oferecido pelo sistema operacional
GNU/Linux. Este HOWTO um documento suplementar ao Linux Printing Setup, que discute a instalao
e configurao do sistema de impresso do GNU/Linux.
Psion-HOWTO - Este documento descreve como usar Palmtops Psion com o GNU/Linux, mas no cobre
a execuo do Linux no Palmtop Psion. Veja o projeto Linux 7k em http://www.calcaria.net.
Quake-HOWTO - Este documento explica como instalar, executar e corrigir problemas no Quake,
QuakeWorld e Quake II em um sistema GNU/Linux Intel.
RedHat-CD-HOWTO - Descreve como fazer seus prprios CDs da distribuio Red Hat, a estrutura da
distribuio e tambm como incluir RPMs atualizados na distribuio.
Sound-HOWTO - Este documento descreve o suporte ao som no GNU/Linux, arquiteturas de som
suportadas e como incluir o suporte ao som no Kernel. Este documento tambm responde algumas questes
frequntes sobre o suporte ao som no GNU/Linux.
Sound-Playing-HOWTO - Este documento lista aplicativos que podem tocar vrios formatos de sons no
GNU/Linux.
VME-HOWTO - Este documento mostra como executar o GNU/Linux em seu Pentium VMEbus e outros
barramentos PCI baseados no design de processador VMEbus.
utilizando o Spanning Tree Protocol (STP). Este um mtodo de manter os dispositivos Ethernet
conectados e funcionando em mltiplos caminhos. Os participantes negociam a troca atravs do
caminho mais curto atravs do STP.
Chroot-BIND-HOWTO - Este documento descreve a instalao do servidor de nomes BIND 8 para ser
executado em uma jaula chroot e como um usurio no-root, para oferecer segurana adicional e minimizar
efeitos potenciais que podem comprometer a segurana.
DNS-HOWTO - Como configurar seu servidor DNS em pouco tempo.
Diald-HOWTO - Este documento mostra alguns cenrios tpicos para iniciar o uso do Diald facilmente.
Este cenrios incluem uma conexo de um computador local a um provedor usando o PPP atravs de um
modem sem usar o pon/poff ou ppp-pon/ppp-off para um servidor proxy/firewall com diferentes conexes
Internet atravs de vrios provedores.
Diskless-root-NFS-HOWTO - Explica como configurar um servidor e clientes para operao sem disco
atravs de uma rede.
Ethernet-HOWTO - Este documento uma coleo de dados sobre dispositivos Ethernet que podem ser
usados no GNU/Linux e como configura-los. Note que este HOWTO est focalizado no hardware e
aspectos de baixo nvel de controladores das placas ethernet e no cobre assuntos de software como os
programas ifconfig e route (veja o Network-HOWTO se procura por estes materiais).
Firewall-HOWTO - Descreve os sistemas bsicos de firewall e alguns detalhes de como ajustar firewalls
proxy e de filtragem de pacotes em sistemas baseados no GNU/Linux.
IP-Masquerade-HOWTO - Este documento descreve como ativar a caracterstica IP Masquerade no
GNU/Linux. O IP Masquerade uma forma do Network Address Translation ou NAT que permite que
computadores conectados internamente que no tem um ou mais endereos Internet registrados ter a
habilidade de se comunicar com a Internet via uma nica mquina GNU/Linux com um nico endereo IP.
IPCHAINS-HOWTO - Descreve como obter, instalar e configurar o programa avanado de firewall para o
GNU/Linux e algumas idia de como usa-lo.
IPX-HOWTO - Descreve como obter, instalar e configurar as vrias ferramentas disponveis para o
sistema operacional GNU/Linux para utilizar o suporte do protocolo IPX no Kernel do GNU/Linux.
IR-HOWTO - Uma introduo ao GNU/Linux e dispositivos infra-vermelho e como usar programas
oferecidos pelo projeto Linux/IrDA.
ISP-Hookup-HOWTO - Descreve como usar o GNU/Linux para conectar a um Provedor Internet via
modem dial-up via conexo TCP/IP. Tambm como o procedimento de discagem inicial e estabelecimento
de IP, recebimento de email e news.
Intranet-Server-HOWTO - Este documento descreve como configurar uma Intranet usando o GNU/Linux
Guia Foca GNU/Linux
225
226
VPN sem perder a segurana e flexibilidade de sua conexo Internet com o firewall GNU/Linux e
permitindo fazer um servidor VPN disponvel que no possui um endereo IP registrado na Internet.
Tambm esto incluidos detalhes de como configurar um cliente e servidor VPN.
Virtual-Services-HOWTO - Este documento fala sobre tudo que precisa saber para virtualizar um servio.
WWW-HOWTO - Explica como configurar servios WWW sob o GNU/Linux (ambos cliente e servidor).
Ele no tenta ser um manual detalhada mas uma viso e um bom ponto de referncia.
WWW-mSQL-HOWTO - Descreve como construir um banco de dados cliente/servidor usando a WWW e
HTML para a interface com o usurio.
phhttpd-HOWTO - O phttpd um acelerador HTTP. Ele serve uma rpida requisio esttica HTTP
atravs de um sistema de arquivos locai e passa as requisies menos dinmicas para um servidor de espera.
Suas caractersticas so uma compreenso do I/O e um cache de contedo agressivo que o ajuda a fazer um
trabalho eficiente.
30.8.1.16 Outros
Benchmarking-HOWTO - Este documento discute assuntos relacionados ao desempenho dos sistemas
Linux e recomenda algumas ferramentas para medida do desempenho do sistema.
DOSEMU-HOWTO - Ensina como utilizar, configurar o emulador do ambiente DOS para Linux.
Ecology-HOWTO - Este documento discute mtodos de como os computadores com o GNU/Linux podem
ser usados para proteger nosso ambiente, usando caractersticas como economia de energia ou papel. Como
ele no requer grandes requerimentos de hardware, o GNU/Linux pode ser usado com computadores antigos
e tornar seu ciclo de vida longo. Os jogos podem ser usados em ambientes educativos e esto disponveis
programas para simular os processos ecolgicos.
Process-Monitor-HOWTO - Este documento descreve como monitorar os processos (programas) no
Linux/Unix e como reinicia-los automaticamnete se eles so destrudos sem interveno manual. Este
document tambm tem URLs para FAQs sobre "Processos no Unix".
VAR-HOWTO - Contm uma lista de empresas de servio que no fabricam hardwares ou criam pacotes
de softwares, mas incluem valores ao produtos existentes.
227
Automount - Descreve a montagem automtica de sistemas de arquivos autofs, como configura-lo e alguns
problemas que devem ser evitados.
Ext2fs-Undeletion - Imagina isto: Voc passou os ltimos trs dias sem dormir, sem comer. Sua
compulso hacker foi paga: voc finalizou aquele programa que lhe dar fama e reconhecimento. Todo o
que voc precisa fazer coloca-lo no Metalab. Oh, e apagar aqueles arquivos de backup do Emacs. Assim
voc fadigado digita rm * ~.. E bem mais tarde voc notou o espao extra naquele comando. Voc
simplesmente apagou todo o seu trabalho! Mas a ajuda est na mo. Este documento oferece uma discusso
de como recuperar arquivos apagados atravs do Second Extend File System (EXT2). Talvez, voc ser
capaz de lanar aquele programa depois disso...
Hard-Disk-Upgrade - Como copiar um sistema GNU/Linux de um disco para outro.
Loopback-Root-FS - Este documento explica como usar o dispositivo de loopback do Linux para criar um
formato nativo de sistema de arquivos atravs de uma partio DOS sem reparticionamento.
Partition-Rescue-mini-HOWTO - Como recuperar uma partio pelo GNU/Linux.
Quota - Descreve como ativar a quota nos sistemas de arquivos para usurios e grupos de uma mquina
GNU/Linux.
Swap-Space - Descreve como compartilhar sua partio swap do GNU/Linux com o Windows.
Ultra-DMA - Explica como usar Ultra-DMA como discos rgidos e interfaces Ultra ATA, Ultra 33 e
Ultra66 com o GNU/Linux.
ZIP-Drive - Este documente oferece uma referncia rpida para a configurao e uso da unidade de ZIP
drive Iomega com o GNU/Linux.
30.8.2.4 Hardware
3-Button-Mouse - Como ter um mouse serial de 3 botes funcionando no GNU/Linux.
BTTV-Mini-HOWTO-0.3 - Este documento descreve o hardware, software e procedimentos necessrios
para se usar um chipset baseado no bt8x8 frame grabber ou placa sintonizadora de TV sob o GNU/Linux.
Boca - Instalando uma placa serial Boca 16-portas (Boca 2016) no GNU/Linux.
GTEK-BBS-550 - Ensina como configurar a placa serial de 8 portas GTEK's BBS-550 com 16C550
UARTS. Somente uma IRQ pode ser usada para todas 8 portas. Ele no requer qualquer controlador no
GNU/Linux no entanto o Kernel precisa ter o suporte a portas seriais.
Handspring-Visor - Usando o Visor com o GNU/Linux e sua porta USB.
IO-Port-Programming - Este documento descreve a programao de portas I/O de hardware.
30.8.2.5 Software
ADSM-Backup - Descreve como instalar e usar um cliente para o sistema de backup comercial ADSM
para Linux Intel.
Bzip2 - Explica como usar o programa de compactao bzip2.
GIS-GRASS - Este documento descreve como adquirir, instalar e configurar o poderoso sistema de
informaes cientficas e geogrficas de domnio pblico (GIS): o Geographic Resources Analysis Support
System (GRASS).
LILO - O LILO o gerenciador de inicializao mais usado na plataforma Intel do Linux. Este documento
descreve alguns tipos de instalaes do LILO.
228
229
mltiplos usurios somente com uma conta de e-mail, e sem estar 24-24 horas online na Internet. Se voc
no pode pagar uma linha para estar conectado por 24-24 horas e ainda deseja que seus usurios recebem
emails em sua mquina Linux; tambm no pague por uma conta multi-drop em seu provedor, voc pode
usar este sistema usando somente um endereo de e-mail para dividir seus endereos de e-mails dos
usurios.
Process-Accounting - Descreve como ativar a conta de processos em uma mquina GNU/Linux, o uso de
vrios comandos de contabilizao de processos.
RCS - Este documento cobre a instalao e uso bsicos do RCS, o GNU Revision Control System sob o
GNU/Linux.
Saving-Space - Este documento mostra maneiras de diminuir sua instalao GNU/Linux consumindo o
mnimo possvel de espao.
Secure-POP+SSH - Este documento explica como usar conexes POP seguras via ssh.
Small-Memory - O propsito deste documento descrever como executar o GNU/Linux em um sistema
com pequena quantidade de memria. Assumindo que a compra de memria esta fora de questo aqui.
Soundblaster-AWE - Descreve como instalar e configurar a placa de som Sound Blaster 32 (SB AWE 32,
SB AWE 64) da Creative Labs em um Sistema Linux usando a extenso do driver de som AWE escrito por
Takashi Iwai.
StarOffice - Instalando o StarOffice 3.1 da StarDivision no GNU/Linux.
TT-Debian - Descreve como configurar o suporte das fontes True Type na Debian.
TkRat - Este documento foi escrito para qualquer um que tem interesse em usar seu computador
GNU/Linux para enviar e receber E-mails pela Internet.
Visual-Bell - Explica como usar o termcap para configurar um aviso visual no sistema ao invs do beep e
como desativar o sinal de audio.
Wacom-USB-mini-HOWTO - Descreve como configurar um Wacom Graphire USB tablet para uso no
GNU/Linux (console e X), iniciando com a configurao do Kernel para o nvel da aplicao.
WordPerfect - Discute a execuo do WordPerfect no GNU/Linux incluindo uma breve discusso sobre o
WordPerfect 7.0.
ZIP-Install - Este documento somente til para aqueles que possuem a verso em porta paralela de um
ZIP drive e que deseja fazer o backup do sistema GNU/Linux em um disco ZIP.
call-back-mini-HOWTO - Descreve como configurar um call-back usando um sistema GNU/Linux e um
modem.
230
30.8.2.13 Outros
Advocacy - Este documento oferece sugestes de como a comunidade Linux pode defender efetivamente o
uso do Linux.
BogoMips - Detalhes sobre BogoMips. Este texto foi criado a partir de vrios arquivos GNU/Linux no
arquivo HOWTO/mini/BogoMips.
Commercial-Port-Advocacy - Este documento discute mtodos que podem ser usados como aproximao
Guia Foca GNU/Linux
231
30.10 FAQ
FAQ um arquivo de perguntas e respostas mais frequntes sobre o programa. Os arquivos de FAQ esto
localizados em:
/usr/doc/FAQ/[programa].
Programa o nome do programa ou comando procurado.
30.11 RFC's
So textos que contm normas para a padronizao dos servios e protocolos da Internet (como a porta padro
de operao, comandos que devem ser utilizados, respostas) e outros detalhes usados para padronizar o uso de
servios Internet entre as mais diversas plataformas de computadores, com o objetivo de garantir a perfeita
comunicao entre ambos.
O arquivo de uma RFC segue o formato RFC+Nmero, onde RFC descreve que o documento uma RFC e
Nmero o seu nmero de identificao, como o documento RFC1939 que documenta o funcionamento e
comandos do protocolo POP3. Os arquivos de RFC's podem ser encontrados no pacote doc-rfc da distribuio
Debian e baseadas .
Segue abaixo o ndice principal do diretrio de RFC's que poder ser usado para localizar RFC's especficas de
um determinado servio/assunto:
0001 - PADRES OFICIAIS DO PROTOCOLO INTERNET. J. Reynolds, R. Braden. Maro 2000.
(Formato: TXT=86139 bytes) (Deixa obsoleto RFC2500, RFC2400, RFC2300, RFC2200, RFC2000,
RFC1920, RFC1880, RFC1800, RFC1780, RFC1720, RFC1610, RFC1600, RFC1540, RFC1500,
RFC1410, RFC1360, RFC1280, RFC1250, RFC1200, RFC1140, RFC1130, RFC1100, RFC1083) (Tambm
RFC2600)
0002 - Nmeros designados. J. Reynolds, J. Postel. Outubro 1994. (Formato: TXT=458860 bytes)
(Tambm RFC1700)
0003 - Requerimentos do sistema. R. Braden. Outubro 1989. (Formato: TXT=528939 bytes) (Tambm
RFC1122, RFC1123)
0004 - Requerimentos do Gateway. R. Braden, J. Postel. Junho 1987. (Formato: TXT=125039 bytes)
(Tambm RFC1009)
0005 - Protocolo Internet. J. Postel. Setembro 1981. (Formato: TXT=241903 bytes) (Tambm RFC0791,
RFC0950, RFC0919, RFC0922, RFC792, RFC1112)
0006 - User Datagram Protocol. J. Postel. Agosto 1980. (Formato: TXT=5896 bytes) (Tambm RFC0768)
0007 - Transmission Control Protocol. J. Postel. September 1981. (Formato: TXT=172710 bytes)
(Tambm RFC0793)
0008 - Protocolo Telnet. J. Postel, J. Reynolds. Maio 1983. (Formato: TXT=44639 bytes) (Tambm
RFC0854, RFC0855)
0009 - File Transfer Protocol. J. Postel, J. Reynolds. Outubro 1985. (Formato: TXT=148316 bytes)
(Tambm RFC0959)
0010 - SMTP Service Extensions. J. Klensin, N. Freed, M. Rose, E. Stefferud & D. Crocker. Novembro
1995. (Formato: TXT=23299 bytes) (Deixa obsoleto RFC1651) (Tambm RFC821, RFC1869)
0011 - Standard for the format of ARPA Internet text messages. D. Crocker. 13-Ago-1982. (Formato:
TXT=109200 bytes) (Deixa obsoleto RFC1653) (Tambm RFC0822)
0012 - Network Time Protocol. D. Mills. Setembro 1989. (Formato: TXT=193 bytes) (Tambm RFC1119)
0013 - Domain Name System. P. Mockapetris. Novembro 1987. (Formato: TXT=248726 bytes) (Tambm
RFC1034, RFC1035)
0014 - Mail Routing and the Domain System. C. Partridge. Janeiro 1986. (Formato: TXT=18182 bytes)
(Tambm RFC0974)
0015 - Simple Network Management Protocol. J. Case, M. Fedor, M. Schoffstall, J. Davin. Maio 1990.
(Formato: TXT=72876 bytes) (Tambm RFC1157)
Guia Foca GNU/Linux
232
233
0047 - Nonstandard for transmission of IP datagrams over serial lines: SLIP. J.L. Romkey. Agosto 1993.
(Formato: TXT=12578 bytes) (Tambm RFC1055)
0048 - Standard for the transmission of IP datagrams over NetBIOS networks. L.J. McLaughlin. Agosto
1993. (Formato: TXT=5579 bytes) (Tambm RFC1088)
0049 - Standard for the transmission of 802.2 packets over IPX networks. L.J. McLaughlin. Agosto 1993.
(Formato: TXT=7902 bytes) (Tambm RFC1132)
0050 - Definitions of Managed Objects for the Ethernet-like Interface Types. F. Kastenholz. Julho 1994.
(Formato: TXT=39008, bytes) (Deixa obsoleto RFC1623, RFC1398) (Tambm RFC1643)
0051 - The Point-to-Point Protocol (PPP). W. Simpson, Editor. Julho 1994. (Formato: TXT=151158 bytes)
(Deixa obsoleto: RFC1549) (Tambm RFC1661, RFC1662)
0052 - The Transmission of IP Datagrams over the SMDS Service. D. Piscitello, J. Lawrence. Maro 1991.
(Formato: TXT=24662 bytes) (Tambm RFC1209)
0053 - Post Office Protocol - Version 3. J. Myers & M. Rose. Maio 1996. (Formato: TXT=47018 bytes)
(Deixa Obsoleto: RFC1725) (Tambm RFC1939)
0054 - OSPF Version 2. J. Moy. Abril 1998. (Formato: TXT=447367 bytes) (Tambm RFC2328)
0055 - Multiprotocol Interconnect over Frame Relay. C. Brown, A. Malis. Setembro 1998. (Formato:
TXT=74671 bytes) (Deixa Obsoleto: RFC1490, RFC1294) (Tambm RFC2427)
0056 - RIP Version 2. G. Malkin. Novembro 1998. (Formato: TXT=98462 bytes) (Atualiza RFC1723,
RFC1388) (Tambm RFC2453)
0057 - RIP Version 2 Protocol Applicability Statement. G. Malkin. Novembro 1994. (Formato:
TXT=10236 bytes) (Tambm RFC1722)
0058 - Structure of Management Informatoion Version 2 (SMIv2. K. McCloghrie, D. Perkins, J.
Schoenwaelder. Abril 1999. (Formato: TXT=89712 bytes) (Deixa Obsoleto RFC1902) (Tambm RFC2578,
RFC2579)
0059 - Remote Network Monitoring Management Information Base. S. Waldbusser. Maio 2000. (Formato:
TXT=198676 bytes) (Deixa Obsoleto RFC1757) (Tambm RFC2819)
30.12 Internet
Certamente o melhor suporte ao GNU/Linux via Internet, veja abaixo alguns locais teis de onde pode obter
ajuda ou se atualizar.
234
235
http://www.themes.org - Neste site voc encontra milhares de temas divididos em categorias para os mais
diversos gerenciadores de janelas no GNU/Linux. O site muito pesado, por causa das fotos, recomendvel
um bom fax-modem ou muita pacincia.
Responsvel pela pgina: webmaster@themes.org endereo: http://www.themes.org.
Caso conhecer uma pgina de Internet que contenha materiais teis a comunidade GNU/Linux ou desejar
incluir a sua, entre em contato para sua incluso na prxima verso do guia junto com uma descrio da
pgina.
linux-br@unicamp.br - Lista de discusso que cobre assuntos diversos. Esta lista voltada para usurios
com bons conhecimentos no GNU/Linux, so abordados assuntos como redes, configuraes, etc. Esta uma
lista moderada, o que significa que a mensagem que envia passam por uma pessoa que verifica (modera) e a
libera caso estejam dentro das normas adotada na lista. uma lista de alto nvel e recomendada para quem
deseja fugir de mensagens como no consigo instalar o Linux, no sei compilar o Kernel, o que eu fao
quando vejo uma tela com o nome login:?, etc.
Para se inscrever nesta lista, envie uma mensagem para: linux-br-request@unicamp.br contendo a palavra
subscribe no assunto da mensagem e aguarde o recebimento da confirmao da inscrio. Apenas responda a
mensagem de confirmao para se inscrever. Para se descadastrar envie uma mensagem para o mesmo
endereo mas use a palavra unsubscribe.
dicas-l@unicamp.br - Esta lista envia diariamente uma dica de Unix, sistemas da Microsoft ou novidades
Guia Foca GNU/Linux
236
da Internet.
Para se inscrever nesta lista de discusso, envie uma mensagem para: dicas-l-request@unicamp.br contendo a
palavra subscribe no corpo da mensagem e aguarde o recebimento da confirmao da inscrio. Apenas
responda a mensagem de confirmao para confirmar sua inscrio na lista. Para se descadastrar envie uma
mensagem para o mesmo endereo mas use a palavra unsubscribe.
237
31.1 Introduo
O Firewall um programa que como objetivo proteger a mquina contra acessos indesejados, trfego
indesejado, proteger servios que estejam rodando na mquina e bloquear a passagem de coisas que voc no
deseja receber (como conexes vindas da Internet para sua segura rede local, evitando acesso aos dados
corporativos de uma empresa ou a seus dados pessoais). No Kernel do Linux 2.4, foi introduzido o firewall
iptables (tambm chamado de netfilter) que substitui o ipchains dos Kernels da srie 2.2. Este novo firewall tem
como vantagem ser muito estvel (assim como o ipchains e ipfwadm), confivel, permitir muita flexibilidade na
programao de regras pelo administrador do sistema, mais opes disponveis ao administrador para controle
de trfego, controle independente do trfego da rede local/entre redes/interfaces devido a nova organizao das
etapas de roteamento de pacotes. O iptables um firewall a nvel de pacotes e funciona baseado no
endereo/porta de origem/destino do pacote, prioridade, etc. Ele funciona atravs da comparao de regras para
saber se um pacote tem ou no permisso para passar. Em firewalls mais restritivos, o pacote bloqueado e
registrado para que o administrador do sistema tenha conhecimento sobre o que est acontecendo em seu
sistema. Ele tambm pode ser usado para modificar e monitorar o trfego da rede, fazer NAT (masquerading,
source nat, destination nat), redirecionamento de pacotes, marcao de pacotes, modificar a prioridade de
pacotes que chegam/saem do seu sistema, contagem de bytes, dividir trfego entre mquinas, criar protees
anti-spoofing, contra syn flood, DoS, etc. O trfego vindo de mquinas desconhecidas da rede pode tambm ser
bloqueado/registrado atravs do uso de simples regras. As possibilidades oferecidas pelos recursos de filtragem
iptables como todas as ferramentas UNIX maduras dependem de sua imaginao, pois ele garante uma grande
flexibilidade na manipulao das regras de acesso ao sistema, precisando apenas conhecer quais interfaces o
sistema possui, o que deseja bloquear, o que tem acesso garantido, quais servios devem estar acessveis para
cada rede, e iniciar a construo de seu firewall.
O iptables ainda tem a vantagem de ser modularizvel, funes podem ser adicionadas ao firewall ampliando as
possibilidades oferecidas. Usei por 2 anos o ipchains e afirmo que este um firewall que tem possibilidades de
gerenciar tanto a segurana em mquinas isoladas como roteamento em grandes organizaes, onde a passagem
de trfego entre redes deve ser minuciosamento controlada.
Um firewall no funciona de forma automtica (instalando e esperar que ele faa as coisas por voc),
necessrio pelo menos conhecimentos bsicos de rede TCP/IP, roteamento e portas para criar as regras que faro
a segurana de seu sistema. A segurana do sistema depende do controle das regras que sero criadas por voc,
as falhas humanas so garantia de mais de 95% de sucesso nas invases.
Enfim o iptables um firewall que agradar tanto a pessoas que desejam uma segurana bsica em seu sistema,
quando administradores de grandes redes que querem ter um controle minucioso sobre o trfego que passam
entre suas interfaces de rede (controlando tudo o que pode passar de uma rede a outra), controlar o uso de
trfego, monitorao, etc.
31.1.1 Verso
assumido que esteja usando a verso 1.2.3 do iptables e baseadas nas opes do Kernel 2.4.16 (sem o uso de
mdulos experimentais). As explicaes contidas aqui podem funcionar para verses posteriores, mas
recomendavel que leia a documentao sobre modificaes no programa (changelog) em busca de mudanas
que alterem o sentido das explicaes fornecidas aqui.
238
iptables-save - Salva as regras atuais em um arquivo especificado como argumento. Este utilitrio pode
ser dispensado por um shell script contendo as regras executado na inicializao da mquina.
31.1.5 Requerimentos
necessrio que o seu Kernel tenha sido compilado com suporte ao iptables (veja Habilitando o suporte ao
iptables no Kernel, Seo 31.1.15. O requerimento mnimo de memria necessria para a execuo do iptables
o mesmo do Kernel 2.4 (4MB). Dependendo do trfego que ser manipulado pela(s) interface(s) do firewall ele
poder ser executado com folga em uma mquina 386 SX com 4MB de RAM.
Como as configuraes residem no Kernel no necessrio espao extra em disco rgido para a execuo deste
utilitrio.
31.1.7 Instalao
apt-get install iptables
O pacote iptables contm o utilitrio iptables (e ip6tables para redes ipv6) necessrios para inserir suas regras no
Kernel. Se voc no sabe o que ipv6, no precisar se preocupar com o utilitrio ip6tables por enquanto.
239
(mesmo o suporte sendo removido aps este perodo, acredito que criaro patches "externos" para futuros
Kernels que no traro mais este suporte). Se precisa do suporte a estes firewalls antes de passar em definitivo
para o iptables leia Habilitando o suporte ao iptables no Kernel, Seo 31.1.15.
Se voc um administrador que gosta de explorar todos os recursos de um firewall, usa todos os recursos que
ele oferece ou mantm uma complexa rede corporativa, tenho certeza que gostar do iptables.
nvel de aplicao - Este tipo de firewall analisam o contedo do pacote para tomar suas decises de
filtragem. Firewalls deste tipo so mais intrusivos (pois analisam o contedo de tudo que passa por ele) e
permitem um controle relacionado com o contedo do trfego. Alguns firewalls a nvel de aplicao
combinam recursos bsicos existentes em firewalls a nvel de pacotes combinando as funcionalidade de
controle de trfego/controle de acesso em uma s ferramenta. Servidores proxy, como o squid, so um
exemplo deste tipo de firewall.
nvel de pacotes - Este tipo de firewall toma as decises baseadas nos parmetros do pacote, como
porta/endereo de origem/destino, estado da conexo, e outros parmetros do pacote. O firewall ento pode
negar o pacote (DROP) ou deixar o pacote passar (ACCEPT). O iptables um excelente firewall que se
encaixa nesta categoria.
Firewall a nvel de pacotes o assunto explicado nesta seo do guia.
Os dois tipos de firewalls podem ser usados em conjunto para fornecer uma camada dupla de segurana no
acesso as suas mquinas/mquinas clientes.
Quais servios precisa proteger. Servios que devem ter acesso garantido a usurios externos e quais
sero bloqueados a todas/determinadas mquinas. recomendvel bloquear o acesso a todas portas menores
que 1024 por executarem servios que rodam com privilgio de usurio root, e autorizar somente o acesso
as portas que realmente deseja (configurao restritiva nesta faixa de portas).
Que tipo de conexes eu posso deixar passar e quais bloquear. Servios com autenticao em texto
plano e potencialmente inseguros como rlogin, telnet, ftp, NFS, DNS, LDAP, SMTP RCP, X-Window so
servios que devem ser ter acesso garantido somente para mquinas/redes que voc confia. Estes servios
podem no ser s usados para tentativa de acesso ao seu sistema, mas tambm como forma de atacar outras
pessoas aproveitando-se de problemas de configurao.
A configurao do firewall ajuda a prevenir isso, mesmo se um servio estiver mal configurado e tentando
enviar seus pacotes para fora, ser impedido. Da mesma forma se uma mquina Windows de sua rede for
infectada por um trojan no haver pnico: o firewall poder estar configurado para bloquear qualquer
tentativa de conexo vinda da internet (cracker) para as mquinas de sua rede.
Para cpia de arquivos via rede insegura (como atravs da Internet), recomendado o uso de servios que
utilizam criptografia para login e cpia de arquivos (veja Servidor ssh, Captulo 36).
O volume de trfego que o servidor manipular. Atravs disso voc pode ter que balancear o trfego
entre outras mquinas, configurar protees contra DoS, syn flood, etc.
O que tem permisso de passar de uma rede para outra (em mquinas que atuam como
roteadores/gateways de uma rede interna).
Etc.
A anlise destes pontos pode determinar a complexidade do firewall, custos de implementao, prazo de
desenvolvimento e tempo de maturidade do cdigo para implementao. Existem muitos outros pontos que
podem entrar na questo de desenvolvimento de um sistema de firewall, eles dependem do tipo de firewall que
est desenvolvendo e das polticas de segurana de sua rede.
240
ser perdido. Por este motivo elas devero ser gravadas em um arquivo para serem carregadas a cada
inicializao.
Um exemplo de regra: iptables -A INPUT -s 123.123.123.1 -j DROP.
nat - Usada para dados que gera outra conexo (masquerading, source nat, destination nat, port
forwarding, proxy transparente so alguns exemplos). Possui 3 chains padres:
PREROUTING - Consultado quando os pacotes precisam ser modificados logo que chegam. o chain
ideal para realizao de DNAT e redirecionamento de portas (Fazendo DNAT, Seo 31.4.4).
OUTPUT - Consultado quando os pacotes gerados localmente precisam ser modificados antes de serem
roteados. Este chain somente consultado para conexes que se originam de IPs de interfaces locais.
POSTROUTING - Consultado quando os pacotes precisam ser modificados aps o tratamento de
roteamento. o chain ideal para realizao de SNAT e IP Masquerading (Fazendo SNAT, Seo 31.4.3).
mangle - Utilizada para alteraes especiais de pacotes (como modificar o tipo de servio (TOS) ou
outros detalhes que sero explicados no decorrer do captulo. Possui 2 chains padres:
PREROUTING - Consultado quando os pacotes precisam ser modificados logo que chegam.
OUTPUT - Consultado quando pacotes gerados localmente precisam ser modificados antes de serem
roteados.
Veja A tabela mangle, Seo 31.5 para mais detalhes sobre a tabela mangle.
241
242
--- 127.0.0.1 ping statistics --2 packets transmitted, 0 packets received, 100% packet loss
Desta vez a mquina 127.0.0.1 no respondeu, pois todos os pacotes com o destino 127.0.0.1 (-d 127.0.0.1) so
rejeitados (-j DROP). A opo -A usada para adicionar novas regras no final do chain. Alm de -j DROP que
serve para rejeitar os pacotes, podemos tambm usar -j ACCEPT para aceitar pacotes. A opo -j chamada de
alvo da regra ou somente alvo pois define o destino do pacote que atravessa a regra (veja Especificando um
alvo, Seo 31.3.6). Bem vindo a base de um sistema de firewall.
OBS1: - O acesso a interface loopback no deve ser de forma alguma bloqueado, pois muitos aplicativos
utilizam soquetes tcp para realizarem conexes, mesmo que voc no possua uma rede interna.
OBS2: - A tabela filter ser usada como padro caso nenhuma tabela seja especificada atravs da opo -t.
-n - Exibe endereos de mquinas/portas como nmeros ao invs de tentar a resoluo DNS e consulta
ao /etc/services. A resoluo de nomes pode tomar muito tempo dependendo da quantidade de regras que
suas tabelas possuem e velocidade de sua conexo.
-x - Exibe nmeros exatos ao invs de nmeros redondos. Tambm mostra a faixa de portas de uma
regra de firewall.
(policy ACCEPT 78 packets, 5820 bytes) - Policiamento padro do chain (veja Especificando o
policiamento padro de um chain - P, Seo 31.2.11).
pkts - Quantidade de pacotes que atravessaram a regra (veja Zerando contador de bytes dos chains - Z,
Seo 31.2.10).
bytes - Quantidade de bytes que atravessaram a regra. Pode ser referenciado com K (Kilobytes), M
(Megabytes), G (Gigabytes).
target - O alvo da regra, o destino do pacote. Pode ser ACCEPT, DROP ou outro chain. Veja
Especificando um alvo, Seo 31.3.6 para detalhes sobre a especificao de um alvo.
Guia Foca GNU/Linux
243
prot - Protocolo especificado pela regra. Pode ser udp, tcp, icmp ou all. Veja Especificando um
protocolo, Seo 31.3.3 para detalhes.
opt - Opes extras passadas a regra. Normalmente "!" (veja Especificando uma excesso, Seo 31.3.5)
ou "f" (veja Especificando fragmentos, Seo 31.3.4).
in - Interface de entrada (de onde os dados chegam). Veja Especificando a interface de origem/destino,
Seo 31.3.2.
out - Interface de sada (para onde os dados vo). Veja Especificando a interface de origem/destino,
Seo 31.3.2.
source - Endereo de origem. Veja Especificando um endereo de origem/destino, Seo 31.3.1.
destination - Endereo de destino. Veja Especificando um endereo de origem/destino, Seo 31.3.1.
outras opes
Estas opes normalmente aparecem quando so usadas a opo -x:
dpt ou dpts - Especifica a porta ou faixa de portas de destino.
reject-with icmp-port-unreachable - Significa que foi usado o alvo REJECT naquela regra (veja Alvo
REJECT, Seo 31.3.6.1).
Quando sabemos qual o nmero da regra no chain (listado com a opo -L) podemos referenciar o
nmero diretamente. Por exemplo, para apagar a regra criada acima:
iptables -t filter -D INPUT 1
Esta opo no boa quando temos um firewall complexo com um grande nmero de regras por chains, neste
caso a segunda opo a mais apropriada.
Usamos a mesma sintaxe para criar a regra no chain, mas trocamos -A por -D:
iptables -t filter -D INPUT -d 127.0.0.1 -j DROP
Ento a regra correspondentes no chain INPUT ser automaticamente apagada (confira listando o chain com a
opo "-L"). Caso o chain possua vrias regras semelhantes, somente a primeira ser apagada.
244
______________________________
v
/
v
|- \ / /----------------------------------------------|-\
| | /
| Regra1: -s 200.200.200.200 -j DROP \_____\
|- | /
|---------------------------------------------- |
/
| |/
| Regra2: -d 200.200.200.202 -j DROP |
|- |/
\--------------------------------------------- /
|/
|
No chain internet, a primeira regra confere
|
com o endereo de origem 200.200.200.200 e
/
o pacote bloqueado.
Se uma mquina com o endereo de origem 200.200.200.201 tentar acessar a mquina, ento as regra
consultadas sero as seguintes:
O pacote tem o endereo de origem
200.200.200.201, ele passa pela
primeira e segunda regras do chain
INPUT, a terceira regra direciona
para o chain internet
_______________________________
v
/
v
/------------------------------ |- \ / /----------------------------------------------|-\
| Regra1: -s 192.168.1.15 | | /
| Regra1: -s 200.200.200.200 -j DROP |-|
|------------------------------ |- | /
|---------------------------------------------- |-|
| Regra2: -s 192.168.1.1 | | /
| Regra2: -s 200.200.200.202 -j DROP |-|
|------------------------------ |- |/
\--------------------------------------------- |-/
| Regra3: -j internet
|/
v
|------------------------------ |
/
| Regra4: -j DROP
+------------------------------------------------------\----------------------------/-/
O pacote passa pelas regras 1 e 2 do chain
|
internet, como ele no confere com nenhuma
v
das 2 regras ele retorna ao chain INPUT e
Esta regra a nmero 4
analisado pela regra seguinte.
que diz para rejeitar o
pacote.
245
Se por algum motivo precisar renomear um chain criado por voc na tabela filter, nat ou mangle, isto poder ser
feito usando a opo -E do iptables:
iptables -t filter -E chain-antigo novo-chain
Note que no possvel renomear os chains defaults do iptables.
246
247
tabela acima). O chain FORWARD da tabela filter o nico que aceita a especificao de ambas as interfaces,
este um timo chain para controlar o trfego que passa entre interfaces do firewall.
Por exemplo para bloquear o acesso do trfego de qualquer mquina com o endereo 200.123.123.10 vinda da
interface ppp0 (uma placa de fax-modem):
iptables -A INPUT -s 200.123.123.10 -i ppp0 -j DROP
A mesma regra pode ser especificada como
iptables -A INPUT -s 200.123.123.10 -i ppp+ -j DROP
O sinal de "+" funciona como um coringa, assim a regra ter efeito em qualquer interface de ppp0 a ppp9. As
interfaces ativas no momento podem ser listadas com o comando ifconfig, mas permitido especificar uma
regra que faz referncia a uma interface que ainda no existe, isto interessante para conexes intermitentes
como o PPP. Para bloquear qualquer trfego local para a Internet:
iptables -A OUTPUT -o ppp+ -j DROP
Para bloquear a passagem de trfego da interface ppp0 para a interface eth1 (de uma de nossas redes internas):
iptables -A FORWARD -i ppp0 -o eth1 -j DROP
248
TOS-network-unreachable
TOS-host-unreachable
communication-prohibited
host-precedence-violation
precedence-cutoff
source-quench
redirect
network-redirect
host-redirect
TOS-network-redirect
TOS-host-redirect
echo-request (ping)
router-advertisement
router-solicitation
time-exceeded (ttl-exceeded)
ttl-zero-during-transit
ttl-zero-during-reassembly
parameter-problem
ip-header-bad
required-option-missing
timestamp-request
timestamp-reply
address-mask-request
address-mask-reply
OBS1: No bloqueie mensagens do tipo "host-unreachable" seno ter srios problemas no controle de suas
conexes.
249
ACCEPT - O pacote ACEITO e o processamento das regras daquele chains concludo. Pode ser
usado como alvo em todos os chains de todas as tabelas do iptables e tambm pode ser especificado no
policiamento padro das regras do firewall (veja Especificando o policiamento padro de um chain - P,
Seo 31.2.11).
DROP - Rejeita o pacote e o processamento das regras daquele chain concludo. Pode ser usado como
alvo em todos os chains de todas as tabelas do iptables e tambm pode ser especificado no policiamento
padro das regras do firewall (veja Especificando o policiamento padro de um chain - P, Seo 31.2.11).
REJECT - Este um mdulo opcional que faz a mesma funo do alvo DROP com a diferena de que
uma mensagem ICMP do tipo "icmp-port-unreachable" retornada para a mquina de origem. Pode ser
usado como alvo somente nos chains da tabela filter.
LOG - Este mdulo envia uma mensagem ao syslog caso a regra confira, o processamento continua
normalmente para a prxima regra (o pacote no nem considerado ACEITO ou REJEITADO).
RETURN - Retorna o processamento do chain anterior sem processar o resto do chain atual.
250
Este alvo usado para registrar a passagem de pacotes no syslog do sistema. um alvo muito interessante para
ser usado para regras que bloqueiam determinados trfegos no sistema (para que o administrador tome
conhecimento sobre tais tentativas), para regras de fim de chain (quando voc tem um grande conjunto de regras
em um firewall restritivo e no sabe onde suas regras esto sendo bloqueadas), para satisfazer sua curiosidade,
etc.
# Para registrar o bloqueio de pacotes vindos de 200.200.200.1 pela interface ppp0
iptables -A INPUT -s 200.200.200.1 -i ppp+ -j LOG
# Para efetuar o bloqueio
iptables -A INPUT -s 200.200.200.1 -i ppp+ -j REJECT
Note que a regra que registra o pacote (-j LOG) deve aparecer antes da regra que REJEITA (-j REJECT), caso
contrrio a regra de LOG nunca funcionar. A nica coisa que muda nas regras de log o alvo da regra, isto
facilita a implementao de grandes conjuntos de regras de firewall.
A regra acima mostrar a seguinte sada no syslog do sistema:
Aug 25 10:08:01 debian Kernel: IN=ppp0 OUT= MAC=10:20:30:40:50:60:70:80:90:00:00:00:08:00
SRC=200.200.200.1 DST=200.210.10.10 LEN=61 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF
PROTO=UDP SPT=1031 DPT=53 LEN=41
Os campos possuem o seguinte significado:
Kernel: - Daemon que registrou a mensagem, no caso o iptables faz parte do prprio Kernel.
TOS=0x00 - Prioridade do cabealho TOS (prioridade normal neste caso). Veja a seo Especificando o
tipo de servio, Seo 31.5.1 para mais detalhes.
--log-tcp-sequence - Registra os nmeros de seqencia TCP. Evite ao mximo o uso desta opo, pois a
seqencia de nmeros TCP pode ser a chave para um seqestro de seo ou IP spoofing em seu sistema caso
algum usurio tenha acesso a estes logs.
Lembre-se que estas opes so referentes ao alvo LOG, e devem ser usadas aps este, caso contrrio voc ter
um pouco de trabalho para analisar e consertar erros em suas regras do firewall.
# Complementando o exemplo anterior:
# Para registrar o bloqueio de pacotes vindos de 200.200.200.1 pela interface ppp0
iptables -A INPUT -s 200.200.200.1 -i ppp+ -j LOG --log-prefix "FIREWALL: Derrubado "
# Para efetuar o bloqueio
iptables -A INPUT -s 200.200.200.1 -i ppp+ -j REJECT
Retornar a seguinte mensagem no syslog:
Aug
25
10:08:01
debian
Kernel:
FIREWALL:
Derrubado
IN=ppp0
OUT=
MAC=10:20:30:40:50:60:70:80:90:00:00:00:08:00
SRC=200.200.200.1
DST=200.210.10.10
Guia Foca GNU/Linux
251
Voc possui uma conexo que lhe oferece um endereo IP dinmico (a cada conexo dado um
endereo IP - como uma conexo PPP) ento o IP masquerading o que precisa (veja Fazendo IP
masquerading (para os apressados), Seo 31.4.2 ou Fazendo IP Masquerading, Seo 31.4.3.1).
Voc tem uma conexo que lhe oferece um endereo IP permanente (ADSL, por exemplo) ento o
SNAT o que precisa (veja Fazendo SNAT, Seo 31.4.3).
252
253
OBS2: Como notou acima, o SNAT usado quando temos uma conexo externa com um ou mais IP's fixos. O
Masquerading uma forma especial de SNAT usada para funcionar em conexes que recebem endereos IP
aleatrios (PPP).
OBS3: No se esquea de habilitar o redirecionamento de pacotes aps fazer suas regra de NAT com o
comando: echo "1" >/proc/sys/net/ipv4/ip_forward, caso contrrio o redirecionamento de pacotes no
funcionar.
254
Nesta tabela existem dois chains: PREROUTING e OUTPUT (veja O que so tabelas?, Seo 31.1.14 para
maiores detalhes).
Opes com o Tipo de Servio (TOS) especificada nesta tabela para classificar e aumentar consideravelmente a
velocidade de trfego considerados em tempo real.
255
interpretao da sada do mdulo ip_conntrack. O parmetro --state OPES deve acompanhar este mdulo.
As opes permitidas so as seguintes:
RELATED - Confere com pacotes relacionados indiretamente a uma conexo, como mensagens de erro
icmp, etc.
INVALID - Confere com pacotes que no puderam ser identificados por algum motivo. Como respostas
de conexes desconhecidas.
Caso seja necessrio especificar mais de uma opes estas devem ser separadas por vrgulas.
iptables -A INPUT -m state --state NEW -i ppp0 -j DROP
Bloqueia qualquer tentativa de nova conexo vindo da interface ppp0.
iptables -A INPUT -m state --state NEW,INVALID -i ppp0 -j LOG
Permite registrar novas conexes e pacotes invlidos vindos da interface ppp0.
--limit num/tempo - Permite especificar a taxa de conferncias do limit. O parmetro num especifica um
nmero e tempo pode ser:
s - Segundo
m - Minuto
h - Hora
d - Dia
Assim uma regra como iptables -A INPUT -m limit --limit 5/m -j ACCEPT permitir que a regra acima
confira apenas 5 vezes por minuto (--limit 2/s). Este limite pode ser facilmente adaptado para uma regra de
log que confere constantemente no causar uma avalanche em seus logs. O valor padro 3/h.
--limit-burst num - Especifica o nmero inicial mximo de pacotes que iro conferir, este nmero
aumentado por 1 a cada vez que o parmetro --limit acima no for atingido. O valor padro 5.
256
--source-port [porta1, porta2...] - Faz a regra conferir se a porta de origem estiver presente entre as
portas especificadas.
--destination-port [porta1, porta2...] - Faz a regra conferir se a porta de destino estiver presente entre as
portas especificadas.
--port [porta1, porta2...] - Faz a regra conferir caso a porta de origem ou destino esteja presente no
parmetro.
Este mdulo pode eliminar muitas regras de firewall que fazem o mesmo tratamento de pacotes para diversas
portas diferentes.
iptables -A INPUT -p tcp -i ppp0 -m multiport --destination-port 21,23,25,80,110,113,6667 -j DROP
Bloqueia todos os pacotes vindo de ppp0 para as portas 21 (ftp), 23 (telnet), 25 (smtp), 80 (www), 110 (pop3),
113 (ident), 6667 (irc).
--uid-owner UID - Confere se o pacote foi criado por um processo com o UID especificado. At o
momento somente UID numricos so aceitos.
--gid-owner GID - Confere se o pacote foi criado por um usurio pertencente ao grupo GID. At o
momento somente GID numricos so aceitos.
--pid-owner PID - Confere se o pacote foi criado por um processo com o PID especificado.
--sid-owner ID - Confere se o pacote foi criado por um processo no grupo de seo especificado.
OBS: - Lembre-se que pacotes que no possuem detalhes suficientes de cabealho nunca conferiro!
iptables -A OUTPUT -m owner --gid-owner 100 -p udp -j DROP
Rejeita um conexes indo para portas UDP de pacotes criados pelo usurios pertencentes ao grupo 100.
257
A mquina do firewall com iptables possui o endereo IP 192.168.1.1 e conecta a rede interna ligada via
interface eth0 a internet via a interface ppp0.
Rede interna com a faixa de endereos 192.168.1.0 conectada ao firewall via interface eth0
A conexo das mquinas da rede interna (eth0) com a rede externa (ppp0) feita via Masquerading.
Tambm utilizarei a sintaxe CHAIN-tabela para fazer referncia aos chains e tabelas dos blocos ASCII: INPUTfilter - chain INPUT da tabela filter.
ATENO: A ordem de processamento das regras do iptables, diferente do ipchains devido a incluso do
novo sistema de nat e da tabela mangle.
258
259
260
261
Protocolo: TCP
Descrio: Conexo ao servio ftp do firewall
ENTRADA DOS PACOTES (envio da requisio vindas de 200.198.129.162):
------------------------------------------------------------------------| PREROUTING-mangle | => | PREROUTING-nat | => | INPUT-filter |
------------------------------------------------------------------------SADA DE PACOTES (respostas da requisio de 200.198.129.162):
-------------------------------------------| OUTPUT-mangle | => | OUTPUT-filter |
-------------------------------------------A requisio ftp passa atravs dos chains especificados em ENTRADA DOS PACOTES com o destino
200.217.29.67 (nossa interface ppp0 local) porta 21 e retorna por SADA DE PACOTES para 200.198.129.162
porta 3716 (tambm via ppp0). Aps a conexo ser estabelecida, o caminho de entrada de pacotes :
-----------------------------------------------| PREROUTING-mangle | => | INPUT-filter |
-----------------------------------------------Isto acontece porque aps feita a anlise do chain PREROUTING (para necessidade de DNAT), a mquina j
saber tomar a deciso apropriada para gerenciar aquela conexo.
262
Mquina do firewall com 2 interfaces de rede, uma eth0 com o IP 192.168.1.1 que serve de ligao a
sua rede Interna, a outra ppp0 que a interface Internet.
Qualquer acesso externo a mquina do firewall bloqueado, exceto conexes para o servio Apache
(httpd). Outras tentativas de conexes devem ser explicitamente registradas nos logs do sistema para
conhecimento do administrador.
Todos os usurios possuem acesso livre a Internet via Masquerading, exceto que o acesso para o servio
www deve ser obrigatoriamente feito via squid, e o servidor smtp a ser usado dever ser o do firewall
Linux.
263
264
265
266
32.1 Introduo
A criao de uma conta em uma mquina Linux pode expor seu sistema (ou todas suas redes) a crackers
simplesmente com a falta de treinamento e polticas de segurana. Uma invasor com um simples acesso a uma
conta de usurio pode conseguir acesso a reas que contm dados importantes expondo seu sistema a ataques ou
roubo de dados.
Um firewall no pode fazer muito em uma situao dessas, um acesso atravs de uma conta de sistema vlida
difcil de ser auditado e descoberto, a no ser que o usurio monitore seus acesso via lastlog e o administrador
conhea os hbitos de seus usurios para notar o uso estranho de contas em determinados dias/horrios. Evitar
situaes como esta depende mais de conscientizao e treinamento tanto do administrador como dos usurios
das contas para no expor o sistema a um ataque direto. Este captulo do guia explicar as situaes mais
comuns e alguns exemplos de como tais ataques acontecem.
ATENO: - Os dados aqui disponibilizados so puramente para fins didticos e compreenso de como tais
situaes funcionam para se criar mecanismos de defesa personalizados de acordo com o que deseja proteger.
267
trocar a senha. Preste ateno neste exemplo para entender bem a situao e prazos.
passwd -x 90 -n 60 -w 15 -i 0 teste
A senha do usurio teste expirar aps 90 dias (-x 90), ele ser avisado para trocar sua senha com 15 dias antes
do prazo final (-w 15) e a conta ser imediatamente desativada caso o prazo mximo para troca da senha expire
(-i 0). O usurio tambm no poder trocar sua senha durante os primeiros 60 dias desde a ltima troca de senha
(-n 60).
Em sistemas onde precisa adicionar restries a muitos usurios na criao da conta, recomendvel seguir os
mtodos descritos em Definindo valores padres de restrio, Seo 32.2.1.
OBS1: Em sistemas com senhas ocultas ativadas (veja Shadow Passwords, Seo 32.4.1) as restries acima
sero especificadas no arquivo /etc/shadow, isto garante que s o usurio root tenha acesso aos detalhes
fornecidos neste arquivo.
OBS2: A -d do passwd serve para remover a senha do usurio especificado ou seja somente ser necessrio
fornecer o nome de usurio para ter acesso ao sistema.
OBS3: Leve em considerao que o uso do recursos de senhas de grupo um risco de segurana, pois a mesma
senha ser compartilhada entre diversas pessoas.
OBS4: O programa useradd combina as funes do adduser e passwd para garantir que a conta seja criada com
as restries apropriadas. O nico inconveniente que o useradd quebra o Debian Policy e precisa de todos
todos os parmetros para a criao correta da conta (como o diretrio home, senha criptografada, e UID
numrico). Seu uso indicado em shell scripts que cuidam automaticamente da tarefa de adicionar usurios ao
sistema.
268
269
270
tentadas como senha. Este trabalho feito automaticamente por ferramentas dedicadas a este tipo de tarefa e
pode levar dias dependendo da lista de senhas do cracker e quantidades de usurios existentes no arquivo de
senha.
Note que o uso de criptografia md5 e senhas ocultas dificultam bastante ao arquivo de senhas e o sucesso de um
ataque bem sucedido (veja Shadow Passwords, Seo 32.4.1 e Senhas MD5, Seo 32.4.2).
271
Captulo 33 Apache
Esta captulo documenta a configurao, personalizao, introduo aos mecanismos de autenticao e controle
de acesso do Apache, sistema proxy, virtual hosting, e exemplos de configurao do servidor httpd. Ele no tem
como objetivo ser uma referncia completa de configurao, mas sim abordar didaticamente o assunto.
33.1 Introduo
O servidor web um programa responsvel por disponibilizar pginas, fotos, ou qualquer outro tipo de objeto
ao navegador do cliente. Ele tambm pode operar recebendo dados do cliente, processando e enviando o
resultado para que o cliente possa tomar a ao desejada (como em aplicaes CGI's, banco de dados web,
preenchimento de formulrios, etc).
O Apache um servidor Web extremamente configurvel, robusto e de alta performance desenvolvido por uma
equipe de voluntrios (conhecida como Apache Group) buscando criar um servidor web com muitas
caractersticas e com cdigo fonte disponvel gratuitamente via Internet. Segundo a Netcraft
(http://www.netcraft.com/survey/), o Apache mais usado que todos os outros servidores web do mundo juntos.
Este captulo no tenta ser um guia completo ao Apache, mas tentar mostrar como sua estrutura organizada,
as diretivas principais de configurao, diretivas de segurana, virtual hosting, proxy, o uso de utilitrios de
gerenciamento do servidor, como personalizar algumas partes do servidor e programas teis de terceiros para
anlise e diagnstico do servidor web. No deixe tambm de ver Exemplo comentado de um arquivo de
configurao do Apache, Seo 33.14 pois contm muitas explicaes interessante e faz parte do aprendizado.
33.1.1 Verso
assumido que esteja usando a verso 1.3.22 do apache. As explicaes contidas aqui podem funcionar para
verses posteriores, mas recomendavel que leia a documentao sobre modificaes no programa (changelog)
em busca de mudanas que alterem o sentido das explicaes fornecidas aqui.
272
33.1.6 Requerimentos
A mquina mnima para se rodar um servidor Apache para atender a uma rede padro 10MB/s um Pentium 90,
24MB de RAM, um HD com um bom desempenho e espao em disco considervel de acordo com o tamanho
projetado de seu servidor web (considerando seu crescimento).
Uma configurao mais rpida para redes 100MB/s teria como processador um Cyrix MX ou Intel Pentium
MMX como plataforma mnima (Cyrix o recomendado pelo alto desempenho no processamento de strings),
barramento de HD SCSI com uma boa placa controladora (Adaptec 19160 ou superior) com 64MB de RAM no
mnimo.
273
33.1.8 Instalao
apt-get install apache apache-doc
(o pacote apache-doc contm a documentao de referencia do Apache, recomendvel instala-lo se estiver
curioso e deseja entender melhor seu funcionamento ou consultar diretivas).
274
275
BindAddress 192.168.1.1 - Especifica que os usurios da faixa de rede 192.168.1.* tero acesso ao
servidor httpd. Isto assume que a mquina possui o endereo 192.168.1.1 em sua interface de rede interna.
BindAddress * - Atender requisies vindas de qualquer interface de rede.
276
Order allow,deny
</Location>
Bloqueia o acesso de todos os usurios ao diretrio /security da URL (a explicao porque o acesso
bloqueado neste caso ser explicado em Autorizao, Seo 33.7.1).
LocationMatch - Idntico a diretiva <Location> mas trabalha com expresses regulares. Por exemplo:
<LocationMatch "/(extra|special)/data">
Order deny,allow
deny from all
</LocationMatch>
Bloquear URLs que contm a substring "/extra/data" ou "/special/data".
O uso das diretivas <Directory> e <Files> apropriada quando voc deseja trabalhar com permisses a nvel de
diretrios/arquivos no disco local (o controle do proxy tambm feito via <Directory>), o uso da diretiva
<Location> adequado para trabalhar com permisses a nvel de URL. A ordem de processamento das diretivas
de acesso so processadas a seguinte:
1.
A diretiva <Directory> (com exceo de <DirectoryMatch>) e os arquivos .htaccess so processados
simultaneamente. As definies dos arquivos .htaccess substituem as de <Directory>)
2.
Expresses regulares de <DirectoryMatch>, <Directory>.
3.
<Files> e <FilesMatch> so processados simultaneamente.
4.
<Location> e <LocationMatch> so processados simultaneamente.
Normalmente encontrado a opo Options dentro de uma das diretivas acima, a funo desta diretiva
controlar os seguintes aspectos da listagem de diretrios:
All - Todas as opes so usadas exceto a MultiViews. a padro caso a opo Options no
seja especificada.
277
uma opo individual definidas por diretivas anteriores, podem ser usado os sinais "+" ou "-", por exemplo:
<Directory /var/www>
Options Indexes FollowSymLinks
</Directory>
<Directory /var/www/focalinux>
Options +Includes -Indexes
</Directory>
As opes Indexes e FollowSymLinks so definidas para o diretrio /var/www, ento as permisses do diretrio
/var/www/focalinux sero FollowSymLinks (do diretrio /web/docs) e Includes (adicionada) e o parmetro
Indexes no ter efeito neste diretrio.
permitido fazer um aninhamento das diretivas <Directory> e <Files>:
<Directory /var/www>
Order allow,deny
allow from all
<Files LEIAME-DONO.txt>
Order deny,allow
deny from all
</Files>
</Directory>
Neste caso, somente os arquivos LEIAME-DONO.txt existentes no diretrio /var/www e seus sub-diretrios
sero bloqueados.
Se a diretiva <Files> for usada fora de uma estrutura <Directory>, ela ter efeito em todos os arquivos
disponibilizados pelo servidor. Este excelente mtodo para proteger os arquivos de acesso, senhas e grupos,
conforme ser explicado mais adiante.
Qualquer outro tipo de aninhamento de diretivas resultar em um erro de configurao ao se tentar
carregar/recarregar o Apache. Um exemplo de diretiva incorreta:
<Directory /var/www>
Options Indexes FollowSymLinks
<Directory /var/www/focalinux>
Options +Includes -Indexes
</Directory>
</Directory>
O correto :
<Directory /var/www>
Options Indexes FollowSymLinks
</Directory>
<Directory /var/www/focalinux>
Options +Includes -Indexes
</Directory>
Espero que tenha observado o erro no exemplo acima.
OBS1: Voc pode verificar se a configurao do apache est correta digitando apache -t como usurio root, se
tudo estiver correto com suas configuraes ele retornar a mensagem: "Syntax OK".
OBS2: Se Options no for especificado, o padro ser permitir tudo exceto MultiViews.
OBS3: Qualquer restrio afetar o diretrio atual e todos os seus sub-diretrios! Defina permisses de subdiretrios especficos separadamente caso precise de um nvel de acesso diferente. Veja tambm a seo sobre
arquivos OverRide (.htaccess) para detalhes sobre este tipo de arquivo.
OBS4: A diretiva de acesso "<Directory />" no afetar outros sistemas de arquivos montados dentro de seus
subdiretrios. Caso uma diretiva de acesso padro no seja especificada para outros sistemas de arquivos, o
acesso ser automaticamente negado.
278
33.7.1 Autorizao
A restrio de acesso por autorizao (controlado pelo mdulo mod_access), permite ou no o acesso ao cliente
de acordo com o endereo/rede especificada. As restries afetam tambm os sub-diretrios do diretrio alvo.
Abaixo um exemplo de restrio de acesso que bloqueia o acesso de qualquer host que faz parte do domnio
.spammers.com.br a URL http://servidor/teste:
<Location /teste>
Option Indexes
Order allow,deny
allow from all
deny from .spammers.com.br
</Location>
A opo Option foi explicada acima, seguem as explicaes das outras diretivas:
Order - Especifica em que ordem as opes de acesso allow/deny sero pesquisadas. Caso no seja
especificada, o padro ser deny/allow. Note que a ordem de pesquisa de allow e deny a inversa da
especificada. A diretiva Order aceita os seguintes valores:
deny,allow - Esta a padro, significa um servidor mais restritivo; a diretiva allow processada primeiro e
somente depois a diretiva deny. Caso nenhuma diretiva allow e deny forem especificadas ou no
conferirem, PERMITE TUDO como padro.
allow,deny - Significa um servidor mais permissivo, a opo deny processada primeiro e somente depois
a opo allow. Caso nenhuma diretiva allow e deny for especificadas ou no conferirem, BLOQUEIA
TUDO como padro.
mutual-failure - Somente permite o acesso se o usurio receber autorizao atravs da opo allow e NO
ser bloqueado pela opo deny, caso uma das checagens falhe, o acesso imediatamente negado. uma
opo interessante quando voc quer somente pessoas de um determinado endereo/rede acessando o seu
sistema e no estejam em sua lista negra.
ATENO: importante saber se a pgina ser permissiva ou restritiva para escolher a ordem mais
adequada ao seu caso, tambm leve em considerao a possibilidade do processamento cair na diretiva de
acesso padro, caso nem a diretiva allow e deny conferiram e estiver usando a ordem de acesso
"allow,deny" ou "deny,allow". Um sistema mal configurado neste aspecto poder trazer srias
conseqncias.
comum em pginas permissivas se definir a seguinte configurao:
Order allow,deny
allow from all
O motivo que em um grande site, se forem adicionadas mais restries nesta pgina (devido a alguns
domnios que tem usurios mal comportados, bloqueio de acesso a rede do concorrente, potenciais
atacantes, etc...), estas devero ser lidas antes da diretiva "allow from all" e podem passar desapercebidas ao
administrador e podem simplesmente no funcionar caso a opo Order no esteja ajustada corretamente
(lembre-se, voc o administrador e a integridade do site depende de sua ateno na escolha da ordem
correta das diretivas de acesso).
allow from - Especifica o endereo que ter acesso ao recurso especificado. A diretiva allow from aceita os
seguintes valores:
all - O acesso permitido a todos.
um endereo de domnio completo (FQDN). Por exemplo www.debian.org.br.
um endereo de domnio parcial. Qualquer computador que confira com o incio ou fim ter o acesso
permitido. Por exemplo, .spammers.com.br, .debian.org.
um endereo IP completo, como 192.168.1.1
um endereo IP parcial como 192.168.1.
um par rede/mscara como 10.1.0.0/255.255.0.0 ou 10.1.0.0/16, uma faixa de acesso a mquinas de uma
mesma rede pode ser definida facilmente atravs deste mtodo.
OBS1: necessrio reiniciar o Apache depois de qualquer modificao em seu arquivo de configurao
(executando apachectl restart), ou recarregar os arquivos de configurao (apachectl graceful).
OBS2: Mais de um host pode ser especificado separando com um espao:
allow from 192.168. .debian.org.br
Permitir o acesso de qualquer mquina que o endereo IP confira com 192.168.*.* e qualquer computador do
domnio debian.org.br
OBS3: Regras baseadas em nomes simples de hosts (como www) no conferiro! Dever ser usado o FQDN
ou IP: www.dominio.com.br
OBS4: Caso Order no seja especificado, deny,allow ser usado como padro (ou seja, permitir tudo como
Guia Foca GNU/Linux
279
padro).
deny from - Expecifica os endereos que NO tero acesso ao recurso especificado. As explicaes
referentes a esta diretiva de acesso so idntica as de allow from.
recomendvel o uso de endereos IP ao invs de endereos DNS e um mecanismo anti-spoofing no firewall
ou cdigo de roteamento, pois ficar mais difcil um ataque baseado em DNS spoofing, aumentando
consideravelmente a segurana de seu servidor web.
ATENO: Caso receba erros 403 (acesso negado) sem bloquear a URL nas diretivas de acesso, significa que
o servidor Web no tem permisses para acessar/abrir o diretrio da pgina. Certifique-se que o dono e grupo do
processo Apache (especificado pela diretiva User e Group) possuem permisses de acesso quele diretrio.
Abaixo alguns exemplos de permisses de acesso:
<Directory /var/www>
Options SymLinksIfOwnerMatch Indexes MultiViews
Order allow,deny
allow from all
</Directory>
Permite o acesso a de qualquer usurio de qualquer lugar (allow from all), permite tambm a visualizao da
listagem formatada de arquivos caso nenhum arquivo especificado na diretiva DirectoryIndex seja encontrado
(Indexes), permite negociao de contedo (MultiViews) e seguir links caso o dono do arquivo confira com o
nome do link (SymLinksIfOwnerMatch).
<Directory /var/www>
Options SymLinksIfOwnerMatch Indexes MultiViews
</Directory>
Tem o mesmo significado da diretiva acima por mtodos diferentes; quando nenhuma opo Order
especificada, deny,allow definido como padro, e como nenhuma opo de acesso allow/deny foi especificada,
o padro "Order deny,allow" usado e permite TUDO como padro.
<Directory /var/www>
Options Indexes
Order deny,allow
deny from all
</Directory>
Esta regra acima no tem muita lgica pois restringe o acesso de todos os usurios ao diretrio /var/www, ao
menos se esta for sua inteno...
<Location /focalinux>
Options All
Order allow,deny
allow from all
</Location>
A regra acima permite o acesso a URL http://www.servidor.org/focalinux de qualquer host na Internet
<Files .htaccess>
Order deny,allow
deny from all
</Files>
Bloqueia o acesso a qualquer arquivo .htaccess do sistema
<Files ~ "leiame-(arm|alpha|m68k|sparc|powerpc)\.txt">
Order deny,allow
deny from all
</Files>
Bloqueia o acesso a qualquer arquivo leiame-arm.txt, leiame-alpha.txt, leiame-m68k.txt, leiame-sparc.txt e
leiame-powerpc.txt fazendo uso de expresses regulares.
<Directory /var/www>
Options Indexes
Order mutual-failure
allow from .dominio.com.br
deny from lammer.dominio.com.br
</Directory>
A diretiva acima somente permite acesso ao diretrio /var/www de mquinas pertencentes ao domnio
.dominio.com.br desde que no seja lammer.dominio.com.br.
<Directory /var/www>
Options Indexes MultiViews
Order allow,deny
Guia Foca GNU/Linux
280
33.7.2 Autenticao
Atravs da autenticao (controlado pelo mdulo mod_auth) possvel especificar um nome e senha para
acesso ao recurso solicitado. As senhas so gravadas em formato criptografado usando Crypto ou MD5
(conforme desejado). O arquivo de senhas pode ser centralizado ou especificado individualmente por usurio,
diretrio ou at mesmo por arquivo acessado.
33.7.2.1.1 htpasswd
Este usado para criar o arquivo de senhas. Para criar um banco de dados com o nome senhas para o usurio
convidado, usada a seguinte sintaxe:
htpasswd -c -m senhas convidado
Voc ser perguntado por uma senha para o usurio convidado e para redigita-la. A opo "-c" indica que dever
ser criado um arquivo, a opo "-m" indica a utilizao de senhas criptografadas usando o algoritmo MD5, que
garante maior segurana que o mtodo Crypto. A senha pode ser especificada diretamente na linha de comando
atravs da opo "-b" (isto um timo recurso para utilizao em shell scripts ou programas CGI de integrao
com o navegador).
htpasswd -b -d senhas chefe abcdef
No exemplo acima, uma senha de alta segurana ser introduzida no banco de dados senhas tornando impossvel
o acesso a pgina do usurio.
Note que esta senha foi cadastrada usando o algoritmo de criptografia Crypto (opo -d). O algoritmo SHA
tambm pode ser usado como alternativa, atravs da opo "-s". Para modificar a senha do usurio convidado,
basta usar a mesma sintaxe (sem a opo "-c" que usada para criar um novo arquivo):
htpasswd -m senhas convidado
ou
htpasswd -b -m senhas convidado nova_senha
Opcionalmente voc pode especificar a opo "-d" para atualizar tambm o formato da senha para Crypto.
Podem existir senhas de criptografias mistas (SHA, Crypto, MD5) no mesmo arquivo sem nenhum problema.
A mudana do formato de senhas til quando se deseja aumentar o nvel de segurana oferecido por um
melhor sistema ou para manter a compatibilidade com alguns scripts/programas que compartilhem o arquivo de
senhas.
Guia Foca GNU/Linux
281
282
As explicaes so idnticas a anterior, mas somente permite o acesso do usurio gleydson a URL
http://servidor.org/teste, bloqueando o acesso de outros usurios contidos no arquivo AuthUserFile.
<Location /teste>
AuthName "Acesso a pgina do Foca Linux"
AuthType basic
AuthUserFile /home/gleydson/SenhaUsuario
Require user gleydson usuario1 usuario2
</Location>
<Location /teste>
AuthName "Acesso a pgina do Foca Linux"
AuthType basic
AuthUserFile /home/gleydson/SenhaUsuario
Require user gleydson
Require user usuario1
Require user usuario2
</Location>
As 2 especificaes acima so equivalentes e permite o acesso aos usurios gleydson, usuario1 e usuario2 a
pgina http://servidor.org/teste.
283
Options Indexes
Order deny,allow
allow from .dominiolocal.com.br
deny from all
AuthName "Acesso ao diretrio do servidor Web"
AuthType basic
AuthUserFile /var/cache/apache/senhas
Require valid-user
</Directory>
Para ter acesso ao diretrio /var/www, primeiro o computador deve fazer parte do domnio
.dominiolocal.com.br, assim ela passa pelo teste de autorizao, depois disso ser necessrio fornecer o login e
senha para acesso a pgina, digitando o login e senha corretos, o teste de autenticao ser completado com
sucesso e o acesso ao diretrio /var/www autorizado.
<Directory /var/www>
Options Indexes
Order mutual-failure
allow from .dominiolocal.com.br
deny from lammer.dominiolocal.com.br
AuthName "Acesso ao diretrio do servidor Web"
AuthType basic
AuthUserFile /var/cache/apache/senhas
AuthGroupFile /var/cache/apache/grupos
Require group admins
</Directory>
No exemplo acima, usado o mtodo de autorizao com a opo Order mutual-failure e o mtodo de
autenticao atravs de grupos. Primeiro verificado se o usurio pertence ao domnio .dominiolocal.com.br e
se ele no est acessando da mquina lammer.dominiolocal.com.br, neste caso ele passa pelo teste de
autorizao. Depois disso ele precisar fornecer o nome e senha vlidos, com o login pertencente ao
AuthGroupFile, passando pelo processo de autenticao e obtendo acesso ao diretrio /var/www.
284
Tenha cuidado com o uso da opo Satisfy em diretivas que especificam somente o mtodo de autenticao:
<Directory /var/www>
Options Indexes
AuthName "Acesso ao diretrio do servidor Web"
AuthType basic
AuthUserFile /var/cache/apache/senhas
AuthGroupFile /var/cache/apache/grupos
Require group admins
Satisfy any
</Directory>
ATENO PARA O DESCUIDO ACIMA!: Como o mtodo de autorizao NO especificado, assumido
deny,allow como padro, que permite o acesso a TODOS os usurios. O bloco acima NUNCA executar o
mtodo de autenticao por este motivo. A melhor coisa NO usar a opo Satisfy em casos que s requerem
autenticao ou usar Satisfy all (que ter o mesmo efeito de no usa-la, hehehe).
A falta de ateno nisto pode comprometer silenciosamente a segurana de seu sistema.
285
286
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
Order deny,allow
Deny from all
</Limit>
</Directory>
287
dever carregar o mdulo correspondente (em caso de dvidas, leia a documentao sobre o mdulo). Veja a
httpd.conf, Seo 33.14.1 para exemplos do uso da diretiva LoadModule.
Por exemplo, se voc quiser utilizar as diretivas de autorizao (allow, deny, order) dever ter o mdulo
mod_access carregado, para usar as diretivas de autorizao (authname, authuserfile, authtype, etc) dever ter o
mdulo mod_auth carregado. Mais detalhes podem ser encontrados em Autorizao, Seo 33.7.1. OBS: O
suporte a DSO atualmente s est disponvel para plataforma UNIX e seus derivados, como o Linux.
Tambm possvel ativar certas diretivas verificando se o mdulo correspondente estiver ou no carregado
atravs da diretiva IfModule:
<IfModule mod_userdir.c>
UserDir disabled root
UserDir public_html
</IfModule>
Nas linhas acima, as diretivas UserDir somente sero executadas se o mdulo mod_userdir.c estiver carregado
atravs da diretiva LoadModule.
Segue abaixo uma lista de mdulos padres que acompanham do Apache, os mdulos marcados com "*" so
ativados por padro:
Criao de Ambiente
* mod_env - Ajusta variveis de ambiente para scripts CGI/SSI
* mod_setenvif - Ajusta variveis de ambiente de acordo com cabealhos http
mod_unique_id - Gera identificadores nicos para requisies
Deciso de tipo de contedo de arquivos
* mod_mime - Determinao de tipo/encodificao do contedo (configurado)
mod_mime_magic - Determinao de tipo/encodificao do contedo (automtico)
* mod_negotiation - Seleo de contedo baseado nos cabealhos "HTTP Accept*"
Mapeamento de URL
* mod_alias - Traduo e redirecionamento de URL simples
mod_rewrite - Traduo e redirecionamento de URL avanado
* mod_userdir - Seleo de diretrios de recursos por nome de usurio
mod_speling - Correo de URLs digitadas incorretamente
mod_vhost_alias - Suporte para virtual hosts dinmicamente configurados em massa.
Manipulao de Diretrios
* mod_dir - Manipulao de Diretrio e arquivo padro de diretrio
* mod_autoindex - Gerao de ndice automtico de diretrio
Controle de Acesso
* mod_access - Controle de acesso por autorizao (usurio, endereo, rede)
* mod_auth - Autenticao HTTP bsica (usurio, senha)
mod_auth_dbm - Autenticao HTTP bsica (atravs de arquivos NDBM do Unix)
mod_auth_db - Autenticao HTTP bsica (atravs de arquivos Berkeley-DB)
mod_auth_anon - Autenticao HTTP bsica para usurios no estilo annimo
mod_auth_digest - Autenticao MD5
mod_digest - Autenticao HTTP Digest
Respostas HTTP
mod_headers - Cabealhos de respostas HTTP (configurado)
mod_cern_meta - Cabealhos de respostas HTTP (arquivos no estilo CERN)
mod_expires - Respostas de expirao HTTP
* mod_asis - Respostas HTTP em formato simples (raw)
Scripts
* mod_include - Suporte a Includes no lado do servidor (SSI - Server Sides Includes)
* mod_cgi - Suporte a CGI (Common Gateway Interface)
* mod_actions - Mapeia scripts CGI para funcionarem como 'handlers' internos.
Manipuladores de contedo Interno
* mod_status - Visualiza status do servidor em tempo de execuo.
mod_info - Visualiza sumrio de configurao do servidor.
Registros de Requisies
* mod_log_config - Registro de requisies personalizveis
mod_log_agent - Registro especializado do User-Agent HTTP (depreciado)
Guia Foca GNU/Linux
288
33.10.1 AgentLog
AgentLog arquivo/pipe: Indica o nome do arquivo que registrar o nome do navegador que est acessando a
pgina (contedo do cabealho User-Agent). possvel usar o pipe "|" para direcionar os erros para um
programa de formatao ou processamento. ATENO: Se um programa for usado como pipe, ele ser
executado sob o usurio que inciou o apache. Revise o cdigo fonte do programa para ter certeza que no
contm falhas que possam comprometer a segurana de seu sistema.
Exemplo: AgentLog /var/log/apache/agent.log
33.10.2 ErrorLog
ErrorLog arquivo/pipe - Especifica o arquivo que registrar as mensagens de erro do servidor Apache.
possvel usar o pipe "|" para direcionar os erros para um programa de formatao ou processamento.
Exemplo: ErrorLog /var/log/apache/errors.log
33.10.3 CustomLog
Permite especificar onde os logs sero gravados para os arquivos de logs personalizados. Esta diretiva tambm
aceita apelidos definidos pela diretiva LogFormat.
CustomLog [arquivo/pipe] [formato/nome]
Onde:
arquivo/pipe - Arquivo de log personalizado ou pipe.
formato/nome - Especifica o formato do arquivo de log (da mesma forma que o especificado na opo
LogFormat). Dever ser especificado entre "aspas" caso tiver espaos. Veja LogFormat, Seo 33.10.11
para detalhes.
Ao invs de especificar o formato, tambm possvel usar um apelido definido pela opo LogFormat
(LogFormat, Seo 33.10.11), neste caso os parmetros definidos pelo LogFormat para "nome" sero atribudos
a diretiva CustomLog.
Exemplos:
CustomLog /var/log/apache/common.log "%h %l %u %t \"%r\" %>s %b"
CustomLog /var/log/apache/common.log common
33.10.4 RefererLog
RefererLog [arquivo/pipe]: Indica que arquivo/pipe registrar os campos Referer do cabealho HTTP. Esta
diretiva mantida por compatibilidade com o servidor web NCSA 1.4.
A configurao padro do Apache usa uma diretiva alternativa para a especificao do referer que a seguinte:
LogFormat "%{Referer}i -> %U" referer
CustomLog /var/log/apache/referer.log referer
Exemplo: RefererLog /var/log/apache/referer.log
33.10.5 RewriteLog
Guia Foca GNU/Linux
289
RewriteLog: [arquivo/pipe]: Indica o arquivo/pipe que registrar qualquer regravao de URL feita pelo
Apache.
OBS: No recomendvel direcionar o nome de arquivo para /dev/null como forma de desativar este log,
porque o mdulo de regravao no cria a sada para um arquivo de log, ele cria a sada de log internamente.
Isto somente deixar o servidor lento. Para desativar este registro, simplesmente remova/comente a diretiva
RewriteLog ou use a opo RewriteLogLevel 0.
Exemplo: RewriteLog "/usr/local/var/apache/logs/rewrite.log
33.10.6 RewriteLogLevel
RewriteLogLevel [num]: Especifica os detalhes que sero includos no registro da opo RewriteLog, os valores
permitidos esto entre 0 e 9. Se for usado 0, o registro do RewriteLog totalmente desativado (esta a padro).
OBS: Qualquer valor acima de 2 deixa o servidor Web cada vez mais lento devido ao processamento e a
quantidade de detalhes registrados no arquivo especificado por RewriteLog.
33.10.7 ScriptLog
ScriptLog [arquivo]: Especifica o nome do arquivo de log que receber as mensagens de erros gerados por
scripts CGI executados no servidor. Esta opo controlada pelo mdulos mod_cgi.
Os arquivos de log sero abertos por um sub-processo rodando com as permisses do usurio especificado na
diretiva "user".
OBS: Esta opo somente recomendada como depuradora de scripts CGI, no para uso contnuo em
servidores ativos.
Exemplo: ScriptLog /var/log/apache/cgiscripts.log
33.10.8 ScriptLogBuffer
ScriptLogBuffer: Especifica o tamanho do cabealho PUT ou POST gravado no arquivo especificado por
ScriptLog. O valor padro 1024 bytes. Esta opo controlada pelo mdulos mod_cgi
Exemplo: ScriptLogBuffer 512
33.10.9 ScriptLogLength
ScriptLogLength: [tamanho]: Especifica o tamanho mximo do arquivo de log gerado pela opo ScriptLog. O
valor padro 10385760 bytes (10.3MB). Esta opo controlada pelo mdulos mod_cgi
Exemplo: ScriptLogLength 1024480
33.10.10 TransferLog
TransferLog [arquivo/pipe]: Indica o arquivo que armazenar as transferncias entre o servidor http e o cliente.
Ela cria o arquivo de log com o formato definido pela opo LogFormat mais recente ou o formato padro do
arquivo de log do Apache.
Se omitido, o arquivo no ser gerado
Exemplo: TransferLog /var/log/apache/transferncias.log
33.10.11 LogFormat
LogFormat: Define os campos padres do arquivo gerado pela opo TransferLog. O seu formato o seguinte:
LogFormat [formato] [nome]
Quando o formato no especificado, assume o valor padro %h %l %u %t \"%r\" %s %b. A especificao do
[nome] permite que voc utilize o formato especificado em uma opo CustomLog ou outra diretiva LogFormat,
facilitando a especificao do formato do log.
Os seguintes formatos so vlidos:
%b - Bytes enviados, excluindo cabealhos HTTP.
%f - Nome do arquivo.
%{FOOBAR}e - O contedo da varivel de ambiente FOOBAR.
%h - Mquina cliente.
%a - Endereo IP da mquina cliente.
%A - Endereo IP local. Muito til em virtual hostings.
%{Foobar}i - O contedo de Foobar: linhas de cabealho na requisio enviada ao servidor.
%l - O nome de login remoto enviado pelo identd (se fornecido).
%{Foobar}n - O contedo de "FooBar" de outro mdulo.
Guia Foca GNU/Linux
290
33.10.12 LogLevel
Define o nvel de alerta das mensagens que sero gravadas no arquivo especificado pela diretiva ErrorLog.
Quando no especificado, assume o nvel "error" como padro. Abaixo os parmetros aceitos em sua
respectiva ordem de importncia:
emerg - O sistema est inutilizvel.
alert - A ao deve ser tomada imediatamente.
crit - Condies crticas.
error - Condies de erro.
warn - Condies de alerta.
notice - Condio normal mas significante.
info - Mensagens informativas.
debug - Mensagens do nvel de depurao.
Note que os nveis so os mesmos usados pelo syslog. Quando um nvel particular especificado, as mensagens
de todos os nveis de maior importncia tambm sero registrados. Por exemplo, se o nvel "info" for
especificado, as mensagens com os nveis de "notice" e "warn" tambm sero registradas. recomendado o uso
de um nvel de no mnimo crit.
33.10.13 Anonymous_LogEmail
Se estiver como "on" a senha digitada ser registrada no arquivo especificado por ErrorLog. Esta diretiva
ativada por padro.
Exemplo: Anonymous_LogEmail off
33.10.14 CookieLog
Especifica o arquivo que ser usado para registrar os cookies
OBS1: Caso o caminho do arquivo no for especificado nas diretivas, ser assumido DocumentRoot como
diretrio padro.
OBS2: Caso esteja usando o pipe, o dono do processo ser o mesmo que inciou o servidor WEB Apache. Tenha
certeza do funcionamento do programa para no comprometer o seu sistema, e cuide para que ele no possa ser
modificado indevidamente por outros usurios.
Exemplo: CookieLog /var/log/apache/cookies.log
291
http (veja Cdigos HTTP, Seo 33.15), onde possvel saber a quantidade de links quebrados existentes em
nosso servidor (estes podero ser detectados usando o pacote de anlise de sites linbot). O webalizer tambm
compatvel com os formatos de log do squid e proftpd. Na distribuio Debian ele pode ser instalado a partir do
pacote webalizer e gera um relatrio geral quando executado sem opes.
292
CacheGcInterval 3
CacheDefaultExpire 5
CacheMaxExpire 300
NoCache 192.168.1.0/24 a_domain.com outrodomnio.com.br outro.dominio.net
Cada diretiva acima possui o seguinte significado:
CacheRoot - Diretrio base onde sero criados os outros diretrios de cache. O cache s ser ativado se
esta diretiva for definida.
CacheForceCompletion [num] - Se uma transferncia for cancelada e passar de num%, o Apache
continuar a transferncia e armazenar o arquivo no cache. O valor padro 90.
CacheSize [num] - Define o tamanho mximo do diretrio de cache do Apache, em KB. No especifique
um valor que tome mais de 70% do espao em disco. O valor padro 5.
CacheGcInterval [num] - Define o tempo que o cache ser checado em busca de arquivos maiores que o
total do cache. Arquivos que ultrapassem o tamanho do cache so automaticamente eliminados.
CacheDefaultExpire [num] - Define o tempo que os documentos ficaro no cache, se foram transferidos
atravs de protocolos que no suportam horas de expirao. O valor padro 1 hora.
CacheMaxExpire [num] - Define o tempo que os documentos permanecero armazenados no cache (em
horas). Esta opo ignora a hora de expirao do documento (caso fornecida). O valor padro 24 horas.
NoCache [endereos] - Permite especificar lista de palavras, mquinas, domnios, IP's que no sero
armazenados no cache do Apache. Caso seja usado NoCache * o cache ser desativado completamente.
Note que o cache tambm pode ser desativado comentando a diretiva CacheRoot.
Se voc desejar um servidor cache mais flexvel, rpido, dinmico, configurvel (com possibilidade de uso de
restries baseadas em URL, tempo de acesso, autenticao), instale o squid e configure o apache para fazer
forward de conexes para ele (Redirecionamento de conexes no Apache, Seo 33.11.2).
293
Virtual Hosts baseados em IP - Requer um endereo IP diferente para cada site. Este poder ser um IP
real (da interface de rede) ou um apelido (veja Definindo diversos endereos IP para a mesma interface de
rede, Seo 15.10), o que interessa que deve haver um endereo IP diferente para cada site. O nmero de
sites servidos estar limitado a quantidade de endereos IP disponveis em sua classe de rede. Veja Virtual
hosts baseados em IP, Seo 33.12.1 para detalhes de como construir um virtual host deste tipo.
O apache foi um dos primeiros a incluir suporte a virtual hosts baseados em IP.
Virtual Hosts baseados em nome - Este utiliza nomes para identificar os sites servidos e requerem
somente um endereo IP. Desta maneira possvel servir um nmero ilimitado de sites virtuais. O
navegador do cliente deve suportar os cabealhos necessrios para garantir o funcionamento deste recurso
(praticamente todos os navegadores atuais possuem este suporte). Veja Virtual hosts baseados em nome,
Seo 33.12.2 para detalhes de como construir um virtual host deste tipo.
As explicaes desta seo so baseadas na documentao do Apache.
294
diretiva User) tenham acesso de gravao aos logs gerados pelo servidor, pois os dados podem ser apagados ou
criados links simblicos para binrios do sistema que sero destrudos quando o Apache gravar dados. Alguns
binrios e bibliotecas so essenciais para o funcionamento do sistema.
295
ServerAdmin gleydson@escelsanet.com.br
DocumentRoot /var/www/www_gms_com_br
</VirtualHost>
Outra situao, que impede o funcionamento do servidor Web, quando o servidor DNS est em manuteno ou
por algum outro motivo no pode resolver o endereo IP de um nome especificado (como www.site1.com.br). O
apache precisa saber qual o seu endereo IP para ser executado. Veja a prxima modificao:
<VirtualHost 192.168.1.1>
ServerName www.gms.com.br
ServerAdmin gleydson@escelsanet.com.br
DocumentRoot /var/www/www_gms_com_br
</VirtualHost>
Na configurao acima usamos o IP do servidor para especificar o virtual host. O apache tentar fazer o DNS
reverso para determinar qual nome servido por aquele endereo IP (www.site1.com.br). Se ele falhar, somente
a seo <VirtualHost> correspondente ser desativada. Isto j uma melhoria sobre a primeira configurao. O
nome do servidor na diretiva ServerName garante que o servidor responda com o nome correto.
Para evitar ataques baseados em DNS siga os seguintes procedimentos de segurana:
1.
Preferencialmente utilize o arquivo /etc/hosts para a resoluo de nomes em mquinas locais
(principalmente quando existe somente um administrador). um mtodo que evita diversas consultas ao
servidor DNS (que pode deixar o acesso lento) e este arquivo gerenciado pelo usurio root, isto evita o
acesso de qualquer usurio para a falsificao de endereos.
2.
Este arquivo tambm til caso a pesquisa DNS falhe (quando a ordem de pesquisa for do servidor
DNS para o arquivo hosts no arquivo /etc/host.conf), pois de qualquer forma o nome ser resolvido e o
servidor Apache ser executado.
3.
Evite dar poderes a outros administradores manipularem seu prprio domnio DNS, no h nada que
possa impedi-lo de modificar o endereo "X" para ser servido pelo IP "Y" desviando o trfego para seu
prprio servidor web. Se isto no for possvel, siga as dicas abaixo para diminuir possveis problemas.
4.
Utilize endereos IP na diretiva <VirtualHost>.
5.
Use endereos IP na diretiva Listen.
6.
Use um endereo IP na diretiva BindAddress.
7.
Sempre utilize o parmetro ServerName em todas as diretivas <VirtualHost>, isto evita o retorno
incorreto de nomes (que pode evitar/revelar fraudes).
8.
Quando utilizar virtual hosts, crie uma diretiva <VirtualHost _default_L:*> usando uma diretiva
DocumentRoot que no aponte para lugar algum. Esta diretiva ser acessada quando nenhuma diretiva
VirtualHost servir a requisio, conferindo com o endereo/ip.
296
Instale o pacote libapache-mod-ssl. Aps instala-lo, edite o arquivo /etc/apache/httpd.conf adicionando a linha
LoadModule ssl_module /usr/lib/apache/1.3/mod_ssl.so.
Depois, gere um certificado digital ssl com o programa mod-ssl-makecert. Ele ser armazenado por padro nos
diretrios em /etc/apache/ssl.??? e seu uso explicado no resto desta seo.
297
298
33.14.1 httpd.conf
##
## httpd.conf -- Arquivo de configurao do servidor httpd Apache
##
#
# Baseado nos arquivos de configurao originais do servidor NCSA por Rob McCool.
# Modificado para distribuio junto ao guia Foca GNU/Linux Avanado
# http://www.metainfo.org/focalinux <gleydson@escelsanet.com.br>
#
# Este o arquivo de configurao principal do servidor Apache. Ele contm as
# diretivas de configurao que do ao servidor suas instrues.
# Veja <http://www.apache.org/docs/> para informaes detalhadas sobre as
# diretivas.
#
# NO leia simplesmente as instrues deste arquivo sem entender o que significam
# e o que fazem, se no tiver certeza do que est fazendo consulte a documentao
# on-line ou leia as sees apropriadas do guia. Voc foi avisado.
#
# Aps este arquivo ser processado, o servidor procurar e processar o arquivo
# /etc/apache/srm.conf e ento /etc/apache/access.conf
# a no ser que voc tenha modificado o nome dos arquivos acima atravs das
# diretivas ResourceConfig e/ou AccessConfig neste arquivo.
#
# Configurao e nomes de arquivos de log: Se os nomes de arquivos que
# especificar para os arquivos de controle do servidor iniciam com uma
# "/", o servidor usar aquele caminho explicitamente. Se os nomes *no*
# iniciarem com uma "/", o valor de ServerRoot adicionado -- assim
# "logs/foo.log" com ServerRoot ajustado para "/usr/local/apache" ser
# interpretado pelo servidor como "/usr/local/apache/logs/foo.log".
#
# Originalmente por Rob McCool
# modificado por Gleydson Mazioli da Silva para o guia Foca GNU/Linux
# Carga dos Mdulos de Objetos Compartilhados:
# Para voc ser capaz de usar a funcionalidade de um mdulo que foi construdo como
# um mdulo compartilhado, ser necessrio adicionar as linhas 'LoadModule'
# correspondente a sua localizao, assim as diretivas que os mdulos contm
# estaro disponveis antes de serem usadas.
# Exemplo:
#
# ServerType pode ser inetd, ou standalone. O modo Inetd somente suportado nas
# plataformas Unix. O modo standalone inicia o servidor como um daemon.
#
ServerType standalone
Guia Foca GNU/Linux
299
300
301
302
303
MaxClients 150
#
# MaxRequestsPerChild: O nmero de requisies que cada processo tem permisso
# de processar antes do processo filho ser finalizado. O filho ser finalizado
# para evitar problemas aps uso prolongado quando o Apache (e talvez as
# bibliotecas que utiliza) tomar memria e outros recursos. Na maioria dos
# sistemas, isto realmente no necessrio, exceto para alguns (como o
# Solaris) que possuem ponteiros notveis em suas bibliotecas. Para estas
# plataformas, ajuste para algo em torno de 10000 ou algo assim; uma
# configurao de 0 significa ilimitado.
#
# NOTA: Este valor no inclui requisies keepalive aps a requisio
#
inicial por conexo. Por exemplo, se um processo filho manipula
#
uma requisio inicial e 10 requisies "keptalive" subseqentes,
#
ele somente contar 1 requisio neste limite.
#
MaxRequestsPerChild 30
# Listen: Permite fazer o Apache escutar um IP determinado e/ou porta, em
# adio a padro. Veja tambm o comando VirtualHost
#Listen 3000
#Listen 12.34.56.78:80
# VirtualHost: Permite o daemon responder a requisies para mais que um
# endereo IP do servidor, se sua mquina estiver configurada para aceitar pacotes
# para mltiplos endereos de rede. Isto pode ser feito com a opo de aliasing
# do ifconfig ou atravs de patches do Kernel como o de VIF.
# Qualquer diretiva httpd.conf ou srm.conf pode ir no comando VirtualHost.
# Veja tambm a entrada BindAddress.
#<VirtualHost host.some_domain.com>
#ServerAdmin webmaster@host.some_domain.com
#DocumentRoot /var/www/host.some_domain.com
#ServerName host.some_domain.com
#ErrorLog /var/log/apache/host.some_domain.com-error.log
#TransferLog /var/log/apache/host.some_domain.com-access.log
#</VirtualHost>
# VirtualHost: Se voc quiser manter mltiplos domnios/nomes de mquinas em sua
# mquina voc pode ajustar o contedo de VirtualHost para eles.
# Por favor veja a documentao em <http://www.apache.org/docs/vhosts/>
# para mais detalhes antes de tentar configurar seus hosts virtuais.
# Voc pode usar a opo de linha de comando '-S' para verificar sua configurao
# de hosts virtuais.
#
# Se desejar usar hosts virtuais baseados em nome, ser necessrio definir no
# mnimo um endereo IP (e nmero de porta) para eles.
#
#NameVirtualHost 12.34.56.78:80
#NameVirtualHost 12.34.56.78
#
# Exemplo de um Host Virtual:
# Praticamente qualquer diretiva do Apache pode entrar na condicional
# VirtualHost.
#
#<VirtualHost ip.address.of.host.some_domain.com>
# ServerAdmin webmaster@host.some_domain.com
# DocumentRoot /www/docs/host.some_domain.com
# ServerName host.some_domain.com
# ErrorLog logs/host.some_domain.com-error.log
# CustomLog logs/host.some_domain.com-access.log common
#</VirtualHost>
#<VirtualHost _default_:*>
#</VirtualHost>
Guia Foca GNU/Linux
304
33.14.2 srm.conf
# Neste arquivo so definidos o espao de nomes que os usurios visualizaro no
# seu servidor http. Este arquivo tambm define configuraes do servidor que
# afetam como as requisies so servidas e como os resultados devero ser
# formatados.
# Veja os tutoriais em http://www.apache.org/ para mais detalhes
# DocumentRoot: O diretrio principal onde voc servira seus documentos.
# Por padro, todas as requisies so tomadas atravs deste diretrio,
# exceto links simblicos e aliases que podem ser usados para apontar para
# outras localizaes no sistema de arquivos.
DocumentRoot /var/www
#
# UserDir: O nome do diretrio que ser adicionado ao diretrio home do usurio
# caso uma requisio ~usurio for recebida.
#
<IfModule mod_userdir.c>
# Linha abaixo por recomendao de segurana do manual do Apache
UserDir disabled root
UserDir public_html
</IfModule>
#
# DirectoryIndex: Nome do arquivo ou arquivos que sero usados como ndice do
# diretrio. Especifique mais de um arquivos separados por espaos ao invs
# de um s um nome (como "index") para aumentar a performance do servidor.
#
<IfModule mod_dir.c>
DirectoryIndex index.html index.htm index.shtml index.cgi
</IfModule>
#
# Diretivas que controlam a exibio de listagem de diretrios geradas pelo servidor.
#
<IfModule mod_autoindex.c>
#
# FancyIndexing: se voc deseja o padro fancy index ou padro para a indexao
#
de arquivos no diretrio. Usando FancyIndexing o servidor
#
apache gerar uma listagem de arquivos que poder ser
#
ordenada, usar tipos de cones e encoding, etc. Veja as
#
prximas opes
IndexOptions FancyIndexing
#
# As diretivas AddIcon* dizem ao servidor que cone mostrar para um determinado
# arquivo ou extenso de arquivos. Estes somente so mostrados para os
# diretrios classificados atravs da opo FancyIndexing.
#
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
Guia Foca GNU/Linux
305
306
307
AddLanguage cz .cz
# LanguagePriority: permite definir a prioridade para a exibio de
# documentos caso nenhum documento confira durante a negociao de
# contedo.
#
# Para fazer isto, especifique os idiomas em ordem de preferncia de exibio
# de idiomas.
#
<IfModule mod_negotiation.c>
LanguagePriority pt-br pt es en da nl et fr de el it ja pl ltz ca sv
</IfModule>
#
# AddType permite modificar o mime.types sem editar o arquivo, ou fazer
# a associao de arquivos a certos tipos de contedo.
#
# Por exemplo, o mdulo PHP 3.x (que no faz parte da distribuio do
# Apache - veja http://www.php.net) tipicamente utiliza isto:
#
#AddType application/x-httpd-php3 .php3
#AddType application/x-httpd-php3-source .phps
#
# E para arquivos PHP 4.x use:
#
#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps
AddType application/x-tar .tgz
AddType image/bmp .bmp
# hdml
AddType text/x-hdml .hdml
#
# AddHandler permite mapear certas extenses de arquivos a programas
# "manipuladores" adequados a seu contedo. Estes podem ser construdos
# no servidor ou adicionados com o comando Action (veja abaixo).
#
# Se desejar usar includes no lado do servidor, ou servir diretrios
# com scripts CGI para fora, descomente as seguintes linhas.
#
# Para usar scripts CGI:
#
#AddHandler cgi-script .cgi .sh .pl
#
# Para usar arquivos html gerados atravs do servidor
#
#AddType text/html .shtml
#AddHandler server-parsed .shtml
#
# Descomente as seguintes linhas para ativar a caractersticas de arquivos
# send-asis HTTP do servidor Apache
#
#AddHandler send-as-is asis
#
# Se desejar usar arquivos de mapas de imagens processadas no servidor, use
#
#AddHandler imap-file map
#
# Para ativar tipo de mapas, voc poder usar
#
#AddHandler type-map var
</IfModule>
# Fim dos tipos de documentos
Guia Foca GNU/Linux
308
309
33.14.3 access.conf
# access.conf: Configurao de acesso Global
# Documentos on-line em http://www.apache.org/
# Este arquivo define as configuraes do servidor que afetam que tipos de
# servios so permitidos e em quais circunstncias.
# Cada diretrio que o Apache possui acesso, pode ser configurado respectivamente
# com quais servios e caractersticas que podem ser permitidas e/ou bloqueadas
# no diretrio (e seus subdiretrios).
#
# Primeiro a configurao restringe uma srie de permisses
<Directory />
Options SymLinksIfOwnerMatch
AllowOverride None
# Order deny,allow
# Deny from all
</Directory>
# Desse ponto em diante, necessrio especificar o que ser permitido
# caso contrrio ser bloqueado pelo bloco acima
# Esta parte deve ser modificada para a localizao do documento raz do servidor.
<Directory /var/www>
Guia Foca GNU/Linux
310
311
312
2xx - Sucesso
200 - OK
201 - Criado
202 -Aceito
3xx - Redirecionamento
304 - No modificada
313
501 - No implementado
314
34.1 Introduo
O ident (identidade) um servidor que permite identificar qual o usurio efetuou determinada conexo e o
sistema operacional usado. Ele opera na porta 113 por padro e retorna nomes de usurios localmente vlidos, e
consultado por servios conhecidos como IRC, alguns servidores ftp, smtp e outros. Outro benefcio a
utilizao de mecanismos de restries de acesso baseadas em usurios/endereoIP (o tcpd um exemplo de
servio que permite esta caracterstica). A sintaxe usada para fazer tal restrio universal:
usurio@endereoIP onde normalmente aparece o endereoIP que usado para bloquear/permitir o acesso.
No momento da conexo, o endereo IP checado pra ver se confere, e o servidor Ident da mquina que est
efetuando a conexo consultado para checar se o usurio que tem acesso o mesmo especificado no controle
de acesso. Isso aumenta um pouco a segurana do sistema, mas existem algumas implicaes e pontos frgeis
do identd que sero explicados no decorrer deste captulo.
34.1.1 Verso
assumido que esteja usando a verso 1.7 do oidentd. As explicaes contidas aqui podem funcionar para
verses posteriores, mas recomendavel que leia a documentao sobre modificaes no programa (changelog)
em busca de mudanas que alterem o sentido das explicaes fornecidas aqui.
34.1.2 Contribuindo
A Homepage do projeto oidentd http://ojnk.sourceforge.net Sugestes, crticas, comentrios, etc., podem ser
enviados para odin@numb.org.
34.1.3 Caractersticas
Caractersticas do oidentd:
Pode ser executado tanto como daemon quanto via inetd (este ltimo indicado para sistemas com pouca
memria onde o servio pouco solicitado).
Pode mapear identificaes de usurio via IP Masquerading, tornando este servidor muito verstil podendo
ser usado tanto em mquina individuais como em servidores proxy/roteadores.
Pode fazer forwarding de conexes para outras mquinas da rede local, quando no executado no
proxy/roteador.
Spoofing de nomes: possvel mapear um nome de usurio para outra identificao; por exemplo, o
usurio root poder ser mapeado para outra conta de usurio antes da identificao ser enviada.
315
oidentd.users - Mapeamento de nomes de usurios efetuando conexes via Masquerading. O formato deste
arquivo o seguinte:
#EndereoIP/mscara
Usurio
Sistema
192.168.1.1
john
WINDOWS
192.168.1.2
usuario1
WINDOWS
192.168.1.1/32
usuario2
UNIX
192.168.1.0/24
usuario3
UNIX
192.168.1.0/16
usuario4
UNIX
As conexes vindas dos endereos da primeira coluna so mapeados para o nome/sistema da segunda/terceira
coluna e enviados a mquina que requisitou a identificao. Para o suporta a mapeamento de usurios via
Masquerading funcionar, o daemon oidentd dever ser iniciado com a opo -m.
34.1.7 Instalao
Para instalar o daemon do oidentd digite:
apt-get install oidentd
Por padro o servio instalado para ser executado como daemon, para executa-lo atravs do inetd siga os
passos em Instalao via Inetd, Seo 34.1.8. O servio ser executado sob o usurio nobody e grupo nogroup
por motivos de segurana, alteraes de nome/grupo que executar o oidentd podem ser feitas no arquivo
/etc/defaults/oidentd ou /etc/init.d/oidentd.
316
34.1.12 Exemplos
No faz muito sentido exemplos de arquivo de configurao do oidentd por estes serem muito simples e estarem
bem explicados em Ficha tcnica, Seo 34.1.4. No entanto acho interessante mostrar alguns exemplos de
configuraes do hosts.allow e hosts.deny fazendo uso dos recursos de restries baseadas em
usurio@endereo :
# Arquivo hosts.allow
#
# Permite requisies talk de qualquer lugar
in.ntalkd: ALL
in.talkd: ALL
#
# Permite que o usurio john acesse os servios de ftp de qualquer mquina da
# rede 191.168.1.*
in.ftpd: john@192.168.1.
Guia Foca GNU/Linux
317
#
# O servio telnet est permitido somente para john conectando de 192.168.1.1
in.telnetd: john@192.168.1.1
# Todos podem acessar os servios samba (nomes e compartilhamentos) exceto
# o usurio evil conectando de qualquer host com o endereo cracker.com.*
smbd, nmbd: ALL EXCEPT evil@cracker.com.
# Arquivo hosts.deny
# Qualquer finger bloqueado exceto vindos do usurio admin feitos em qualquer
# mquina da rede 192.168.1.*
in.fingerd: ALL EXCEPT admin@192.168.1.
# Qualquer outra coisa bloqueada
ALL: ALL
318
35.1 Introduo
O servio telnet oferece o login remoto em seu computador, que lhe permite trabalhar conectado a distncia
como se estivesse em frente a ela. Ele substitui o rlogin e possui muitas melhorias em relao a ele, como o
controle de acesso, personalizao de seo e controle de terminal.
35.1.1 Verso
assumido que esteja usando a verso 0.17.16 do telnet. As explicaes contidas aqui podem funcionar para
verses posteriores, mas recomendavel que leia a documentao sobre modificaes no programa (changelog)
em busca de mudanas que alterem o sentido das explicaes fornecidas aqui.
35.1.2 Caractersticas
Conexo rpida (no utiliza transmisso de dados criptografada), recomendado para ambientes seguros.
Possui uma verso com suporte a criptografia via ssl.
Possui controle de acesso tcpd (usando /etc/hosts.allow e /etc/hosts.deny).
A maioria dos sistemas operacionais trazem este utilitrio por padro como sistema de acesso remoto a
mquinas UNIX.
Suporte a terminais ANSI (cores e cdigos de escape especiais para o console) e uma grande variedade de
outros terminais.
35.1.6 Instalao
apt-get install telnet telnetd ou apt-get install telnet-ssl telnetd-ssl.
Os pacotes com o -ssl no final possuem suporte a criptografia ssl. Por padro a porta usada para executar o
servio telnet a 23 (ou outro nmero de porta definido no /etc/services). A instalao do servidor telnet feita
via inetd (no arquivo /etc/inetd.conf) e o controle de acesso ao servio feito atravs dos arquivos
/etc/hosts.allow e /etc/hosts.deny (veja Servios iniciados atravs do inetd, Seo 15.7.2 e O mecanismo de
Guia Foca GNU/Linux
319
35.3 Recomendaes
O servio telnet utiliza texto plano para seo (exceto nas verses cliente/servidor "-ssl"). Os dados transmitidos
por servios que utilizam texto plano podem ser capturados por sniffers e trazer perigo ao seu sistema (veja
Sniffer, Seo 39.2).
recomendvel somente executar o servidor telnet padro em ambientes seguros (como em uma rede interna) e
a verso com suporte a ssl para fazer conexes via redes inseguras (como a Internet). O servio ssh (Servidor
ssh, Captulo 36) uma excelente alternativa ao telnet, alm de possuir outras caractersticas adicionais que
justifiquem seu uso, alm de programas cliente para Linux e Windows.
320
36.1 Introduo
O servio de ssh permite fazer o acesso remoto ao console de sua mquina, em outras palavras, voc poder
acessar sua mquina como se estivesse conectado localmente ao seu console (substituindo o rlogin e rsh). A
principal diferena com relao ao servio telnet padro, rlogin e rsh que toda a comunicao entre
cliente/servidor feita de forma encriptada usando chaves pblicas/privadas RSA para criptografia garantindo
uma transferncia segura de dados.
A velocidade do console remoto conectado via Internet excelente (melhor que a obtida pelo telnet e servios
r*) dando a impresso de uma conexo em tempo real (mesmo em links discados de 9.600 KB/s), a
compactao dos dados tambm pode ser ativada para elevar ainda mais a velocidade entre cliente-servidor ssh.
Alm do servio de acesso remoto, o scp possibilita a transferncia/recepo segura de arquivos (substituindo o
rcp).
Em conexes sem criptografia (rsh, rlogin) os dados trafegam de forma desprotegida e caso exista algum sniffer
instalado em sua rota com a mquina destino, todo o que fizer poder ser capturado (incluindo senhas).
36.1.1 Verso
assumido que esteja usando a verso 2.0 do ssh. As explicaes contidas aqui podem funcionar para verses
posteriores, mas recomendavel que leia a documentao sobre modificaes no programa (changelog) em
busca de mudanas que alterem o sentido das explicaes fornecidas aqui.
36.1.2 Histria
O openSSH (explicado neste captulo) baseado na ltima verso livre do implementao de Tatu Ylonen com
todos os algoritmos patenteados (para bibliotecas externas) removidos, todos as falhas de segurana corrigidas,
novas caractersticas e muitas outras melhorias. O openSSH foi criado por Aaron Campbell, Bob Beck, Markus
Friedl, Niels Provos, Theo de Raadt e Dug Song.
36.1.3 Contribuindo
A Homepage principal http://www.unixuser.org/~haruyama/security/openssh/index.html. Falhas, correes e
sugestes podem ser enviadas para a lista de discusso openssh-unix-dev@mindrot.org (aberta a postagens de
usurios no inscritos).
36.1.4 Caractersticas
Abaixo as principais caractersticas do servio ssh (Openssh).
Conexo de dados criptografada entre cliente/servidor.
Cpia de arquivos usando conexo criptografada.
Suporte a ftp criptografado (sftp).
Suporte a compactao de dados entre cliente/servidor.
Controle de acesso das interfaces servidas pelo servidor ssh.
Suporte a controle de acesso tcp wrappers.
Autenticao usando um par de chaves pblica/privada RSA ou DSA.
Algoritmo de criptografia livre de patentes.
Suporte a PAM.
Suporte a caracteres ANSI (cores e cdigos de escape especiais no console).
321
322
arquivo de configurao.
-g segundos - Especifica o tempo mximo para a digitao de senha de acesso. Aps o tempo especificado
o servidor encerra a conexo. O valor padro 600 segundos e 0 desativa este recurso.
-h arquivo_chave - Diz qual arquivo contm a chave privada local. O padro /etc/ssh/ssh_host_key e
somente o usurio root deve ter permisses de leitura neste arquivo. Ser necessrio especificar esta opo
caso o sshd no esteja sendo executado como usurio root.
possvel ter mltiplos arquivos de chaves para os protocolos 1 e 2 do ssh.
-i - Indica que o servidor sshd ser executado pelo inetd. Isto no aconselhvel porque o servidor gerar a
chave aleatria de seo toda vez que for iniciado e isto pode levar alguns segundos. Esta opo pode se
tornar vivel com o uso do protocolo 2 ou criando chaves pequenas como 512 bytes (no ssh 1), mas a
segurana criptogrfica tambm ser diminuda. Veja as diferenas entre os dois protocolos em Diferenas
nas verses do protocolo, Seo 36.3.4.
-k segundos - Especifica a frequencia da gerao de novas chaves do daemon sshd. O valor padro 3600
segundos e 0 desativa este recurso.
ATENO: NO desative este recurso!!! Esta opo traz a segurana que uma nova chave gerada de
servidor ser gerada constantemente (esta chave enviada junto com a chave pblica quando o cliente
conecta e fica residente na memria voltil), assim mesmo que um cracker consiga obt-la interceptando as
conexes, ser praticamente impossvel tentar qualquer coisa. Valores menores tendem a aumentar ainda
mais a segurana.
-p porta - Especifica a porta que o daemon sshd atender as requisies. Por padro usada a porta 22.
-q - Nenhuma mensagem ser enviada ao syslog do sistema.
-u tam - Especifica o tamanho do campo de nome do computador que ser armazenado no arquivo utmp. A
opo u0 faz somente endereos IP serem gravados.
-D - Quando usada no faz o sshd iniciar em segundo plano.
-V verso_cliente - Assume que o cliente possui a verso ssh especificada (1 ou 2) e no faz os testes de
identificao de protocolo.
-4 - Fora o uso do protocolo IP tradicional (IPv4).
-6 - Fora o uso da nova gerao do protocolo IP (IPv6).
A maioria das opes so realmente teis para modificar o comportamento do servidor ssh sem mexer em seu
arquivo de configurao (para fins de testes) ou para executar um servidor ssh pessoal, que dever ter arquivos
de configurao especficos.
36.2.1 ssh
Esta a ferramenta usada para sees de console remotos. O arquivo de configurao de usurios
~/.ssh/config e o arquivo global /etc/ssh/ssh_config. Para conectar a um servidor ssh remoto:
ssh ip/nome_do_servidor_ssh
O uso da opo -C recomendado para ativar o modo de compactao dos dados (til em conexes lentas). A
opo -l usurio pode ser usada para alterar a identificao de usurio (quando no usada, o login local
usado como nome de usurio remoto). Uma porta alternativa pode ser especificada usando a opo -p porta (a
22 usada por padro).
Na primeira conexo, a chave pblica do servidor remoto ser gravada em ~/.ssh/know_hosts ou
~/.ssh/know_hosts2 (dependendo da verso do servidor ssh remoto, veja Diferenas nas verses do protocolo,
Seo 36.3.4), e verificada a cada conexo como checagem de segurana para se certificar que o servidor no
foi alvo de qualquer ataque ou modificao no autorizada das chaves. Por padro, o cliente utilizar o
protocolo ssh verso 1, a opo -2 permite usar o protocolo verso 2.
Variveis de ambiente personalizadas para o ssh podero ser definidas no arquivo ~/.ssh/environment.
Comandos que sero executados somente na conexo ssh em ~/.ssh/rc e /etc/ssh/sshrc caso contrrio ser
executado o xauth por padro.
OBS: Para utilizar autenticao Rhosts/Rhosts+RSA (arquivos ~/.rhosts/~/.shosts) o programa ssh dever ter
permisses SUID root e conectar usando portas baixas (menores que 1024).
Exemplos:
# Conecta-se ao servidor remoto usando o login do usurio atual
ssh ftp.sshserver.org
# Conecta-se ao servidor remoto usando o login john (via ssh verso 2)
ssh -2 ftp.sshserver.org -l john
Guia Foca GNU/Linux
323
324
de funcionar tambm como cliente telnet. Seu tamanho pequeno, apenas um executvel e requer 220KB de
espao em disco. Ele pode ser baixado de http://www.chiark.greenend.org.uk/~sgtatham/putty/.
Outra alternativa o MindTerm, este baseado em Java e pode inclusive ser executado como um applet em uma
pgina web. Este programa encontrado em http://www.mindbright.se/mindterm.
36.2.2 scp
Permite a cpia de arquivos entre o cliente/servidor ssh. A sintaxe usada por este comando a seguinte:
scp [origem] [destino]
Os parmetros de origem e destino so semelhantes ao do comando cp mas possui um formato especial quando
especificado uma mquina remota:
Um caminho padro - Quando for especificado um arquivo local. Por exemplo: /usr/src/arquivo.tar.gz.
usuario@host_remoto:/diretrio/arquivo - Quando desejar copiar o arquivo de/para um servidor remoto
usando sua conta de usurio. Por exemplo: gleydson@ftp.debian.org:~/arqs.
A opo -C recomendvel para aumentar a taxa de transferncia de dados usando compactao. Caso a porta
remota do servidor sshd seja diferente de 22, a opo -P porta dever ser especificada ( "P" maiscula mesmo,
pois a -p usada para preservar permisses/data/horas dos arquivos transferidos).
Exemplos:
# Para copiar um arquivo local chamado /pub/teste/script.sh para
# meu diretrio pessoal em ftp.sshserver.org
scp -C /pub/teste/script.sh gleydson@ftp.sshserver.org:~/
# Para fazer a operao inversa a acima (copiando do servidor remoto para o local)
# s inverter os parmetros origem/destino:
scp -C gleydson@ftp.sshserver.org:~/script.sh /pub/teste
# Para copiar o arquivo local chamado /pub/teste/script.sh para
# o diretrio /scripts dentro do meu diretrio pessoal em ftp.sshserver.org
# com o nome teste.sh
scp -C /pub/teste/script.sh gleydson@ftp.sshserver.org:~/scripts/teste.sh
# O exemplo abaixo faz a transferncia de arquivos entre 2 computadores remotos:
# O arquivo teste.sh lido do servidor server1.ssh.org e copiado para
# server2.ssh.org (ambos usando o login gleydson)
scp -C gleydson@server1.ssh.org:~/teste.sh gleydson@server2.ssh.org:~/
no
windows,
pode
ser
baixado
de
36.2.3 sftp
Permite realizar transferncia de arquivos seguras atravs do protocolo ssh. A conexo e transferncias so
realizadas atravs da porta 22 (ainda no possvel modificar a porta padro). A sintaxe para uso deste comando
a seguinte:
sftp usuario@host_remoto
Compactao pode ser especificada atravs da opo -C. Um arquivo contendo os comandos usados na seo
sftp poder se especificado atravs da opo -b arquivo para automatizar tarefas.
OBS1: Para desativar o servidor sftp, remova a linha SubSystem sftp /usr/lib/sftp-server (que inicializa o subsistema ftp) do arquivo /etc/ssh/sshd_config e reinicie o servidor sshd.
OBS2: O suporte ao programa sftp somente est disponvel ao protocolo ssh verso 2 e superiores.
OBS3: Algumas opes comuns do cliente ftp padro (como mget) ainda no esto disponveis ao sftp. Veja a
pgina de manual para detalhe sobre as opes disponveis.
325
326
3.
Agora utilize o ssh para entrar no sistema remoto usando o mtodo de chave pblica/privada. Entre com
a senha que usou para gerar o par de chaves pblico/privado (ele entrar diretamente caso no tenha
digitado uma senha).
O tipo de chave criada por padro a rsa1 (compatvel com as verses 1 e 2 do ssh). A opo -t [chave] poder
ser usada (ao gerar a chave) para selecionar o mtodo de criptografia:
rsa1 - Cria uma chave rsa compatvel com a verso 1 e 2 do ssh (esta a padro).
rsa - Cria uma chave rsa compatvel somente com a verso 2 do ssh.
dsa - Cria uma chave dsa compatvel somente com a verso 2 do ssh.
Para trocar a senha utilize o comando: ssh-keygen -p -t rsa -f ~/.ssh/identity - ser pedida sua senha antiga e a
nova senha (no mesmo estilo do passwd). Opcionalmente voc pode utilizar a sintaxe: ssh-keygen -p -f
~/.ssh/identity -P senha_antiga -N senha_nova, que troca a senha em um nico comando (til para ser usado em
scripts junto com a opo -q para evitar a exibio de mensagens de sada do ssh-keygen).
327
Port 22
# Especifica o endereo IP das interfaces de rede que o servidor sshd
# servir requisies. Mltiplos endereos podem ser especificados
# separados por espaos. A opo Port deve vir antes desta opo
ListenAddress 0.0.0.0
# Protocolos aceitos pelo servidor, primeiro ser verificado se o cliente
# compatvel com a verso 2 e depois a verso 1. Caso seja especificado
# somente a verso 2 e o cliente seja verso 1, a conexo ser descartada.
# Quando no especificada, o protocolo ssh 1 usado como padro.
Protocol 2,1
# As 4 opes abaixo controlam o acesso de usurios/grupos no sistema.
# Por padro o acesso a todos garantido (exceto o acesso root se
# PermitRootLogin for "no"). AllowUsers e AllowGroups definem uma lista
# de usurios/grupos que podero ter acesso ao sistema. Os coringas
# "*" e "?" podem ser especificados. Note que somente NOMES so vlidos,
# UID e GID no podem ser especificados.
#
# As diretivas Allow so processadas primeiro e depois Deny. O mtodo que
# estas diretivas so processadas idntico a diretiva
# "Order mutual-failure" do controle de acesso do Apache:
# O usurio dever TER acesso via AllowUsers e AllowGroups e NO ser bloqueado
# por DenyUsers e DenyGroups para ter acesso ao sistema. Se uma das diretivas
# no for especificada, "*" assumido como padro.
# Estas permisses so checadas aps a autenticao do usurio, porque
# dados a ele pelo /etc/passwd e PAM so obtidos aps o processo de
# autenticao.
#AllowUsers gleydson teste?
#DenyUsers root adm
#AllowGroups users
#DenyGroups root adm bin
# Permite (yes) ou no (no) o login do usurio root
PermitRootLogin no
# Chaves privadas do servidor (as chaves pblicas possuem um ".pub" adicionado
# no final do arquivo.
HostKey /etc/ssh/ssh_host_key
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
# Tamanho da chave. 768 bits o padro
ServerKeyBits 768
# Tempo mximo para login no sistema antes da conexo ser fechada
LoginGraceTime 600
# Tempo para gerao de nova chave do servidor (segundos). O padro
# 3600 segundos (1 hora).
KeyRegenerationInterval 3600
# Ignora os arquivos ~/.rhosts e ~/.shosts
IgnoreRhosts yes
# Ignora (yes) ou no (no) os arquivos ~/.ssh/known_hosts quando for usado
# para a opo RhostsRSAAuthentication. Se voc no confia neste mecanismo
# ajuste esta opo para yes.
IgnoreUserKnownHosts no
# Checa por permisses de dono dos arquivos e diretrio de usurio antes de
# fazer o login. muito recomendvel para evitar riscos de segurana
# com arquivos lidos por todos os usurios.
StrictModes yes
# Permite (yes) ou no (no) o redirecionamento de conexes X11. A segurana
# do sistema no aumentada com a desativao desta opo, outros mtodos
# de redirecionamento podem ser usados
X11Forwarding yes
# Especifica o nmero do primeiro display que ser usado para o redirecionamento
# X11 do ssh. Por padro usado o display 10 como inicial para evitar conflito
Guia Foca GNU/Linux
328
329
Subsystem sftp
/usr/lib/sftp-server
330
37.1 Introduo
o servidor para recebimento de mensagens eletrnicas (e-mails) para o cliente de e-mails. O servidor pop3
documentado o qpopper (da Qualcomm), um dos mais usados em ambiente Linux, simples de configurar e
distribudo livremente. O que este programa faz ler os e-mails de usurios em /var/mail e os envia via porta
110 ao programa cliente (Netscape, sylpheed, mutt, balsa, Pegasus, Outlook, ou qualquer outro que suporte o
protocolo pop3).
37.1.1 Verso
assumido que esteja usando a verso 4.0.3 do qpopper. As explicaes contidas aqui podem funcionar para
verses posteriores, mas recomendavel que leia a documentao sobre modificaes no programa (changelog)
em busca de mudanas que alterem o sentido das explicaes fornecidas aqui.
37.1.2 Contribuindo
O site do qpopper http://www.eudora.com/qpopper/, anncios de novas verses, bugs e correes so enviados
para qpopper-announce@rohan.qualcomm.com (inscreva-se enviando uma mensagem com o assunto
"subscribe" para o nome da lista acrescentando "-request"). A lista de suporte aos usurios
qpopper@lists.pensive.org (o mtodo de inscrio idntico a lista announce).
37.1.3 Caractersticas
Simples de configurar.
Possui um timeout padro de 30 segundos ao invs de 10 minutos do protocolo pop3 padro.
O protocolo pop3 mais simples e consome menos recursos no servidor que o IMAP.
Suporte a envio de boletins aos usurios do sistema.
Inclui suporte a TLS/SSL.
Suporte a senhas ocultas (shadow passwords).
Suporta PAM.
Suporte a autenticao via APOP.
Alta performance.
331
37.1.7 Instalao
apt-get install qpopper
Por padro o servidor qpopper instalado via inetd:
pop-3
stream tcp
nowait.60
root
/usr/sbin/tcpd /usr/sbin/in.qpopper -s
Se estiver configurando um servidor pop3 com um grande nmero de conexes, recomendvel aumentar o
nmero de execues do servio pop3 por minuto (no inetd.conf) ou rodar o servidor qpopper como daemon
(preferido). Para fazer isto, remova a linha que inicia o qpopper no inetd.conf e construa um script que inicie o
servio como daemon usando a opo -S (veja outras opes em Opes de linha de comando, Seo 37.1.10).
332
TLS ou SSL.
-R - Desativa a resoluo reversa de endereos IP de clientes.
-s - Registra dados de incio da seo, nome de usurio, nmero de bytes/mensagens apagadas, nmero de
mensagens deixadas no servidor e fim da seo. Estes detalhes so registrados pelo syslogd. Seu uso
recomendvel para ter controle sobre o que est acontecendo em seu servidor.
-S - Ativa o modo daemon. til para servidores pop3 com grande nmero de acessos.
-T [num] - Tempo mximo em segundos para finalizao da seo quando o cliente no envia nenhuma
resposta ou comando. Valores pequenos (como 20) podem ser especificados para servidores que possuem
poucos usurios e um link rpido. Para grande quantidade de usurios ou conexo feita via links lentos
(como ppp, slip, plip, etc.) use valores como 600 (10 minutos) ou mais. O valor padro 120 segundos (2
minutos).
-u - L o arquivo ~/.qpopper.options no diretrio do usurio em busca de opes adicionais para o servidor.
Este arquivo lido aps o processo de autenticao e deve ter permisses leitura/gravao para o dono. Isto
no recomendvel em servidores seguros, a criptografia ou mtodo de autenticao podem ser desativados
sem o conhecimento do administrador comprometendo a segurana dos dados.
-U - Idntica a opo acima, mas o arquivo deve residir no diretrio de spool (/var/spool/pop) e ter o
formato:
.usuario.qpopper-options
Este arquivo deve ter como dono o administrador ou dono do servidor pop3. Esta alternativa mais segura
que a anterior porque o usurio no ter acesso ou desativar opes especficas.
-y [facilidade] - Permite modificar o nvel facilidade que as mensagens so registradas no syslogd (veja
Arquivo de configurao syslog.conf, Seo 17.2.1.1).
333
Se a mquina servidora pop3 no for utilizada para acesso remoto, recomendvel desativar os servios de
login (veja Desabilitando servios de shell para usurios, Seo 38.1.6).
334
335
336
337
338
339
@faculty
hard nproc
50
ftp
hard nproc
0
@student
maxlogins
4
gleydson
maxlogins
2
OBS: Estas permisses passam a ter efeito no momento que o usurio se conecta ao sistema, e no quando elas
so modificadas no arquivo /etc/security/limits.conf.
340
Por exemplo, para o usurio "john" usar o comando shutdown para desligar o computador: sudo shutdown -h
now.
O sudo um programa muito completo, tomaria muitos Kilobytes neste guia. Recomendo dar uma lida na
pgina de manual para entender como as variveis do arquivo de configurao funcionam. Mesmo assim aqui
vai um exemplo simples deste arquivo para iniciar rapidamente o uso do sudo:
# arquivo sudoers.
#
# Edite este arquivo com o comando 'visudo' como root
#
#
# Especificao de mquinas. O primeiro campo (Host_Alias) diz que a varivel
# LOCALSERVER ser um nome/endereo de mquina
Host_Alias LOCALSERVER=192.168.0.1
# Especificao de usurios. O primeiro campo (User_Alias) diz que a varivel
# NETMASTERS armazenar nomes de usurios
User_Alias NETMASTERS=gleydson, goodboy
# Comandos. O primeiro campo (Cmnd_Alias) diz que a varivel
# C_REDE contm comandos do sistema. Mais de um parmetro
# deve ser separado por vrgulas
Cmnd_Alias C_REDE=/sbin/ipchains, /sbin/iptables
# Padres que se aplicam aos usurios da varivel NETMASTERS. O parmetro
# mail_always sempre envia um e-mail ao root avisando sobre o uso do
# sudo
Defaults:NETMASTERS
mail_always
# As linha que comeam com o nome de usurio ou varivel "User_Alias"
# definem o acesso aos recursos. O primeiro campo o usurio, o segundo
# o endereo de acesso (opcionalmente seguido de um sinal "=" para
# especificar opes adicionais) o terceiro o comando ou lista de comandos
#
# O usurio root no tem restries
root ALL=(ALL) ALL
# Permite que os usurios especificados na varivel NETMASTERS
# acessando dos locais em LOCALSERVER utilizem os comandos
# em C_REDE (sem fornecer senha).
NETMASTERS
LOCALSERVER=NOPASSWD: C_REDE
Edite este arquivo com o comando visudo, ele faz algumas checagens para detectar problemas de configurao.
341
342
343
344
/etc/init.d/quotarpc.
Em sistemas que utilizam NFS e possuem sistemas de arquivos exportados em /etc/exports, o daemon
rpc.rquotad dever ser carregado. Sua funo fornecer os detalhes de quota dos sistemas de arquivos locais
exportados para as mquinas clientes.
345
Inode grade period - Tempo mximo de tolerncia para usurios/grupos que ultrapassaram sua quota soft
de nmero de arquivos gravados antes de passar a valer como hard. No exemplo, o usurio tem 7 dias para
excluir possveis arquivos ou contactar o administrador para analisar seu tamanho de quota. O valor padro
7 dias.
OBS1: - O comando quotacheck dever ser executado na partio sempre que novas restries/limites forem
editados com o edquota. Isto atualiza os arquivos quota.user e quota.group. Lembre-se de desativar o sistema de
quotas (quotaoff -ugv /partio) antes de executar este comando (para liberar totalmente a partio, quotacheck
remonta a partio somente para leitura quando executado). Por este motivo recomendvel fazer isso em
modo monousurio.
OBS2: Quando o limite soft (suave) excedido, o sistema comear a lhe mostrar mensagens alertando a
passagem do limite (para lhe dar tempo de eliminar arquivos ou no ser pego desprevenido com o bloqueio de
gravao) porque o limite hard (rgido) nunca poder ser ultrapassado.
OBS3: - O tempo de tolerncia restante ao usurio/grupo quando a quota ultrapassada poder ser visualizada
com o comando quota (veja Verificando a quota disponvel ao usurio, Seo 38.11.3).
OBS4: - Quando o usurio exclui seus arquivos e volta a ficar abaixo dos limites soft da quota, o tempo de
tolerncia resetado aos valores padres (especificados por edquota -t.
OBS5: - As quotas de espao em disco podem ser definidas automaticamente para os novos usurios
adicionados ao sistema colocando o espao em disco na varivel QUOTAUSER=numero do arquivo
/etc/adduser.conf. Isto ser equivalente a digitar o comando edquota -q QUOTA novo_usurio.
346
files - Nmero mximo de arquivos que usurio/grupo possui atualmente na partio. Um "*' indica que o
limite foi ultrapassado. Atualmente em 10868.
quota - Limite suave (soft) de nmero de arquivos na partio que o usurio/grupo possui. Atualmente
ilimitado.
limit - Limite mximo (hard) de nmero de arquivos na partio que o usurio/grupo possui. Atualmente
ilimitado.
grace - Tolerncia antes que o limite soft passe a valer como hard para o nmero de arquivos
ultrapassados. Como no existe quota para nmero de arquivos, no existe tolerncia. A tolerncia
resetada aos valores padres quando o valor soft volta a ficar abaixo da quota.
A quota de outros usurios/grupos podem ser visualizadas especificando as opes -u (padro) e -g na linha de
comando respectivamente. A opo -v permite visualizar quotas em sistemas de arquivos no alocados e -q
mostra somente uma mensagem dizendo se o usurio est ou no dentro de sua quota:
quota -u usuario
quota -uq usuario
quota -g users
Por motivos de segurana, voc no poder visualizar as quotas de outros usurios e grupos que no pertence
(exceto para o usurio root).
347
Um sinal de "+-" no segundo campo indica quota ultrapassada ou no espao em disco, "-+' em nmero de
arquivos e "++" em ambos. Como vimos acima, o este comando tambm lista o nmero de arquivos e bytes
pertencentes a cada usurio na partio (mesmo no sendo monitorado pelas restries de quota), isto ajuda a
monitorar aes suspeitas com a excedncia de espao em disco de determinados usurios/grupos do sistema.
Um exemplo algum que esteja fora da quota e abusando de seu usurio/grupo para uso excessivo de espao
em disco sem seu conhecimento.
OBS: Este utilitrio pode ser executado por qualquer usurio no sistema e mostrar o uso de quotas de
usurios/grupos que no deveria ter acesso. recomendado deve ter permisses de leitura/gravao somente
para o usurio root e sem permisses para grupo/outros usurios.
348
349
gabinete do servidor, se voc gosta de eletrnica poder montar um destes facilmente para chamar a ateno
alimentado por fonte/baterias em um circuito de emergncia, e poder acomodar sua caixa em uma segunda
"carcaa de fonte" apenas para desviar suspeitas. Um circuito interno de cmeras tambm uma boa alternativa
para monitorar a movimentao.
Esquemas de segurana dependendo do porte da organizao e dos dados que se desejam proteger devero ser
elaborados e postos em prtica. Todos os mtodos imaginveis devero ser considerados de acordo com as
possibilidades do ambiente.
350
Captulo 39
Este captulo explica como dados transmitidos em uma rede pode ser capturados, isto ajudar a entender a
vulnerabilidade de servios comuns que no utilizam criptografia para a transmisso de dados e
alternativas/programas equivalentes que fazem transmisso de dados usando mtodos criptogrficos para deixar
a mensagem somente legvel para origem e destino.
39.1 Introduo
Quando enviamos um trfego de nossa mquina para outra (e-mails, mensagens de ICQ, navegao, ftp, etc) os
dados passam por vrias mquinas at atingir o seu destino (isto se chama roteamento). Se algum cracker
instalou algum capturador de pacotes (sniffer) em alguma das mquinas de nossa rota os dados podero
facilmente visualizados.
Crackers normalmente configuram estes programas a procura de campos como "passwd" e outras expresses
que sejam teis para acesso ao seu sistema ou espionagem. Quem gosta de ter sua privacidade violada? A
internet definitivamente uma rede insegura e nem todos os administradores de servidores so responsveis o
suficiente para fazer uma configurao restrita para evitar acesso de pessoas mal intencionadas.
Este captulo mostra (na prtica) como um sniffer funciona para captura de pacotes, isto ajudar a entender
como servios que enviam seus dados em forma texto plano so vulnerveis a isto e alternativas para
transmisso segura de dados. Este captulo tem a inteno de mostrar alternativas seguras de proteo dos dados
que trafegam em sua rede e a segurana de suas instalaes.
39.2 Sniffer
O sniffer (farejador) um programa que monitoram/registram a passagem de dados entre as interfaces de rede
instaladas no computador. Os dados coletados por sniffers so usados para obteno de detalhes teis para
soluo de problemas em rede (quando usado com boas intenes pelo administrador do sistema) ou para
ataques ao sistema (quando usado pelo cracker para obter nomes/senhas e outros detalhes teis para
espionagem).
Os sniffers mais conhecidos para sistemas Linux so tcpdump, ethereal. Este ltimo apresenta uma interface
grfica GTK para fcil operao em mquinas que executam o servidor X. Para explicar o funcionamento de um
sniffer, vou assumir o ethereal instalado (ele no requer modificaes no sistema alm de ser fcil de executar e
fazer pesquisa de expresses especficas). Instale o ethereal com o comando apt-get install ethereal.
Agora vamos a prtica para entender como o sniffer funciona e a importncia da criptografia de dados (s assim
mesmo, no da para entender falando muita teoria.
Conecte-se a Internet
Execute o ethereal como usurio root.
Pressione CTRL+K para abrir a tela de captura de pacotes. Em Interface selecione sua interface de
internet. Nesta tela clique no boto "FILE" e coloque um nome de arquivo que a captura ser gravada.
Opcionalmente marque a opo "Update list of packets in real time" para monitorar a passagem de pacotes
em tempo real.
Clique em "OK". A captura de pacotes ser iniciada
Conecte-se a um site ftp qualquer (digamos ftp.debian.org.br). Entre com o usurio "anonymous" e senha
"minhasenha@segura.com.br"
Finalize a captura de pacotes clicando no boto "STOP"
Agora v em "File"/"Open" e abra o arquivo capturado. Ele est no formato usado pelo sniffer tcpdump como
padro. Procure no campo "INFO" a linha "Request: USER anonymous", logo abaixo voc ver a senha digitada
pelo usurio. Entendeu agora a importncia da criptografia na transferncia segura de dados? no s o
nome/senha pode ser capturado mas toda a sees feitas pelo usurio. Scanners como o tcpdump e ethereal so
flexvelmente configurveis para procurar por dados especficos nas conexes e salva-los para posterior
recuperao.
351
352
353
Desmontando/Protegendo os dados
Aps usar o sistema de arquivos criptogrfico, desmonte-o e desative o dispositivo loopback:
umount /pub/criptofs
losetup -d /dev/loop0
Remontando o sistema de arquivos criptografado
Execute novamente os comandos:
losetup -e twofish /dev/loop0 /pub/swap-fs
mount /pub/swap-fs /pub/criptofs -t ext2 -o loop
Ser pedida a senha que escolheu e seu sistema de arquivos ser montado em /pub/swap-fs.
Com este sistema, seus dados estaro protegidos mesmo do usurio root.
354
gpg -e -a arquivo.txt
O arquivo gerado ter a extenso .asc acrescentada (arquivo.txt.asc) e no ser compactado. A opo -a muito
usada para o envio de e-mails.
Para criptografar o arquivo para ser enviado a outro usurio, voc dever ter a chave pblica do usurio
cadastrado no seu chaveiro (veja Adicionando chaves pblicas ao seu chaveiro pessoal, Seo 39.5.8) e
especificar a opo -r seguida do nome/e-mail/ID da chave pblica:
gpg -r kov -e arquivo.txt
O exemplo acima utiliza a chave pblica de kov para encriptar o arquivo arquivo.txt (somente ele poder
decriptar a mensagem usando sua chave privada).
OBS: recomendvel especificar o nome de arquivo sempre como ltimo argumento.
355
356
357
Captulo 40 - CVS
Este captulo explica os requerimentos, instalao, configurao, segurana e diversos modelos de configurao
de acesso para trabalho em grupo utilizados pelo CVS.
No tome-o como uma referncia completa ao uso e configurao do CVS, a pesquisa de sua info page muito
importante.
40.1.1 Verso
A verso do CVS documentada no guia a 1.11.1. As explicaes aqui certamente sero compatveis com
verses posteriores deste programa.
40.1.2 Histria
O CVS uma substituio do sistema RCS (Revision Control System) ele possui mais recursos e foi criado
sendo compatvel com o RCS.
A histria do CVS (extraida de sua info page) que ele foi iniciado a partir de um conjunto de scripts shell
escritos por Dick Grune que foram postados ao grupo de notcias comp.sources.unix no volume 6 de Dezembro
de 1986. Na verso atual no esto mais presentes shell scripts porque muitos dos conflitos de resoluo de
algortmos vem deles.
Em Abril de 1989, Brian Berliner fez o design e programou o CVS. Mais tarde, Jeff Polk ajudou Brian com o
design do mdulo CVS.
40.1.4 Caractersticas
Abaixo uma lista de caractersticas que tornam o CVS til no gerenciamento de trabalhos em grupo:
Lock de arquivos, permitindo que somente uma determinada pessoa modifique o arquivo durante o
desenvolvimento do projeto.
Histrico de todas as mudanas feitas, isto permite voltar a uma verso anterior em caso de problemas, e
ver o que houve de errado com o cdigo.
358
Podem ser criados diversas equipes de trabalho para cada repositrios, e definidos quem ter ou no
acesso ao repositrio individualmente. O desenvolverdor gleydson, por exemplo, pode ter acesso ao projeto
x_beta e no ter acesso a projeto secret_y.
possvel criar um usurio com acesso annimo sem dar uma conta no sistema.
Pode tanto utilizar o banco de dados de contas/senhas do sistema como um banco de dados de
autenticao do prprio CVS.
Permite utilizar diversos "mtodos" de acesso ao servidor: local, pserver, ext, etc. Cada um destes
mtodos ser descrito a seguir.
Permite o acesso via ssh para usurios que j possuam conta na mquina servidora. Este mtodo garante
segurana no envio da senha criptografada (veja Sniffer, Seo 39.2 para detalhes).
Permite visualizar facilmente o que foi modificado entre duas verses de um arquivo.
OBS: O CVS possui algumas limitaes e falhas, uma delas que mais me faz falta um suporte a protocolo
pserver via ssh que resolveria o problema de trfego em texto plano e gerenciamento de grupos com permisses
diferenciadas.
Pacote: cvs
Utilitrios:
cvs - Servidor/ferramenta cliente.
cvsbug - Envia um bug sobre o CVS para a equipe de suporte.
rcs2log - Converte arquivos de log do formato usado pelo RCS para o CVS. Utilizado na migrao
desta ferramenta para o CVS.
cvsconfig - Usado pela Debian para ativar/desativar o servidor pserver. Pode tambm ser usado o dpkgreconfigure cvs para desativar o servidor pserver e suas caractersticas.
cvs-makerepos - Script da Debian que l a lista de repositrios de /etc/cvs-pserver.conf, cria os
repositrios no local apropriado, corrige as permisses do diretrio e adiciona os repositrios no servidor
pserver.
cvs-pserver - Script da Debian responsvel por fazer uma inicializao mais inteligente do servidor de
CVS via pserver, leitura e processamento de repositrios, etc. Normalmente ele chamado a partir do
arquivo /etc/inetd.conf.
40.1.8 Instalao
O CVS pode ser baixado de http://www.cvshome.org/ http://www.loria.fr/~molli/cvs-index.html.
Para pacotes Debian basta apenas executar o comando: apt-get install cvs e seguir as telas de configurao para
ter o pacote CVS instalado e (opcionalmente) com o servidor sendo executado. Voc poder a qualquer
momento reconfigurar o CVS executando: dpkg-reconfigure cvs.
Uma boa documentao de referncia encontrada no pacote cvs-doc.
359
Note que o parmetro "200" indica quantas vezes o processo CVS poder ser executado por minuto no sistema.
Caso esse nmero seja excedido, o servio ser desabilitado e ser necessrio reiniciar o servidor inetd com o
comando killall -HUP inetd para reativar o servidor CVS pserver (veja /etc/inetd.conf, Seo 4.7.2.1 captulo do
inetd para detalhes). Ajuste este valor de forma adequada ao seu servidor!
Veja o script cvs-pserver sendo executado no final da linha. Ele foi desenvolvido para lidar de forma mais
inteligente com a configurao do servidor CVS pserver.
-z [num] - Utiliza o gzip para fazer a transferncia compactada dos arquivos. O valor especificado pode
ser de 0 a 9, quanto maior o nmero maior o nvel de compactao e uso da CPU.
Exemplo: cvs -z 3 checkout teste
-e [editor] - Define qual o editor de textos usado para registrar o texto de commits.
-t - Mostra mensagens mostrando o processo de execuo de comandos do CVS. bastente til para
aprendizado do cvs usado junto com a opo -n.
-r - Torna os novos arquivos criados somente para leitura. a mesma coisa que especificar a varivel
CVSREAD.
-x - Utiliza criptografia para a transferncia dos arquivos quando utilizado em conjunto com o
Kerberos.
Voc pode obter detalhes sobre opes sobre um comando em especial do CVS (commit, checkout, etc)
digitando: cvs comando --help. Veja Criando projetos para serem usados no CVS, Seo 40.3 para exemplos
sobre cada uma delas.
40.2.1 local
Acessa o diretrio do repositrio diretamente no disco local. A vantage deste mtodo que no requerido nem
nome nem senha para acesso (voc precisa apenas ter permisses para acesso aos arquivos que deseja trabalhar)
e tambm no preciso nenhuma conexo de rede.
Este mtodo ideal para trabalhar na mquina local ou com os arquivos administrativos do CVS existentes no
diretrio CVSROOT do repositrio. muito til tambm para configurar outros mtodos de acesso, como o
pserver.
Para criar seu repositrio, veja Criando um repositrio, Seo 40.3.2.
40.2.2 fork
Guia Foca GNU/Linux
360
Este mtodo semelhante ao local, mas ele "simula" uma conexo de rede com o servidor. muito usado para
fins de testes.
40.2.3 ext
Este mtodo de acesso lhe permite especificar um programa externo que ser usado para fazer uma conexo
remota com o servidor cvs.Este programa definido na varivel CVS_RSH e caso no ela seja especificada o
padro rsh.
Este mtodo requer que o usurio possua um login/senha no banco de dados de autenticao /etc/passwd do
servidor de destino. Suas permisses de acesso ao CVS (leitura/gravao) sero as mesmas definidas neste
arquivo.
O uso do acesso criptografado via ssh possvel definindo o programa ssh na varivel CVS_RSH. Veja os
exemplos a seguir em Configurando o mtodo ext, Seo 40.2.3.1.
Para criar seu repositrio, veja Criando um repositrio, Seo 40.3.2.
361
Este o mtodo de acesso preferido para a criao de usurios anonimos (uma vez que o administrador de um
servidor que hospede muitos projetos no vai querer abrir um acesso annimo via ext para todos os projetos).
Tambm existe a vantagem que novos membros do projeto e tarefas administrativas so feitas por qualquer
pessoa que possua acesso de gravao aos arquivos do repositrio.
Exporte a varivel CVSROOT apontando para o repositrio que deseja configura. Como isto uma
configurao administrativa, assumo o mtodo de acesso local sendo usada pelo uaurio administrador do
servidor: export CVSROOT=/var/lib/cvs.
Crie um diretrio para trabalhar nos arquivos administrativos do repositrio: mkdir /tmp/repos
Edite o arquivo config e mude a varivel SystemAuth para no. Isto diz ao servidor pserver no usar os
arquivos de autenticao do sistema, mas a invs disso usar seu banco de dados prprio.
362
Onde:
usuario - Nome da conta de usurio que far acesso ao CVS.
senha - Senha que ser usada pelo usurio. Ela dever ser criptografada usando o algortmo crypt.
O comando mkpasswd senha pode ser usado para gerar a senha criptografada. Caso este campo
seja deixado em branco, nenhuma senha de usurio ser utilizada.
usuario_local - Usurio local que ter suas permisses mapeadas ao usurio do CVS. Como a
conta de usurio do cvs no existe no sistema, necessrio que o sistema tenha uma maneira de
saber que nvel de acesso este usurio ter. Uma boa maneira de fazer isso, criando um usurio
local s para o sistema de CVS e desabilitando seu login.
OBS: Mais uma vez tenha em mente os servios que o servidor de CVS executa para saber se isto ter algum
impacto na segurana da instalao.
Exemplos:
gleydsonm:K32dk1234k:cvsuser
anonymous::pooruser
O usurio cvs gleydsonm quando logar no cvs, ter as permisses de acesso do usurio cvsuser do sistema.
OBS: Certifique-se que o usurio local possui permisses de gravao no diretrio do CVS, caso contrrio ele
no poder fazer commits. Lembre-se que as permisses de leitura/gravao do usurio sero controladas
atravs de arquivos do prprio pserver, mas tambm necessria a permisso de gravao do usurio no
repositrio. Isto poder ser feito atravs de grupos de sistema e garante uma dupla camada de segurana.
Para dar direito de leitura ao repositrio, crie um arquivo chamado readers e adicione os nomes de usurios que
tero acesso ao repositrio (um por linha). O nome que dever ser usado o nome do usurio de CVS e no do
sistema (no caso, o usurio gleydsonm segundo o exemplo).
Exemplo:
gleydsonm
anonymous
Para dar direito de gravao ao repositrio, crie um arquivo chamado writers. Seu formato idntico ao arquivo
readers.
Exemplo:
gleydsonm
macan
otavio
hmh
kov
Pronto, o acesso a CVS usando um banco de dados prprio est pronto! basta dar o commit nos arquivos para o
servidor de CVS para t-lo funcionando.
OBS: O arquivo passwd no transferido pelo commit por motivos de segurana, pois ele contm senhas que
podem ser capturadas e usada por pessoas maliciosas. Ser necessrio transferi-lo manualmente para o
repositrio do servidor remoto (voc ter que ser o usurio root ou ter permisses adequadas). .
A configurao do CVS quanto ao acesso restritiva, portanto se um nome de usurio exitir no arquivo readers
e writers o que valer ser o menor nvel de acesso. Vendo os exemplos acima, os usurios gleydsonm e
anonymous tero somente acesso a leitura do repositrio e macan, otavio, hmh, kov acesso de leitura e gravao.
40.2.6 gssapi
Quando o CVS compilado com o suporte a Kerberos 5, ele tenta estabelecer automticamente uma conexo
segura usando este mtodo. Este mtodo funciona somente se o CVS estiver compilado com o suporte a
kerberos (opo --with-gssapi).
363
40.3.1 Repositrio
Um repositrio CVS o local que armazena mdulos e tambm os arquivos administrativos (que contm
permisses, etc) so armazenados em um subdiretrio chamado CVSROOT.
O acesso a um repositrio feito atravs de parmetros especificados na varivel CVSROOT ou pela opo -d
repositrio do cvs. Veja Servidor de CVS - configurando mtodos de acesso ao repositrio, Seo 40.2 para ver
exemplos de mtodos de acesso.
O Repositrio pode conter um ou mais mdulos, cada mdulo representa um projeto no servidor, criado aps o
uso do comando import. Segue um exemplo da estrutura de um repositrio CVS:
var/lib
|-- cvs
|-- CVSROOT
|-- projeto1
|-- projeto2
O subdiretrio cvs o repositro (veja o subdiretrio CVSROOT dentro dele) e os diretrios dentro dele
projeto1 e projeto2 so os mdulos criados atravs do comando cvs import ...(veja Adicionando um novo
projeto, Seo 40.3.6).
Para acessar o projeto do CVS, ento definido o repositrio que tem permisses de acesso na varivel
CVSROOT e ento executado um comando (checkout, update, commit, etc) no mdulo que desejamos utilizar:
export CVSROOT=:ext:anonymous@servidor.org.br:/var/lib/cvs (<- Repositrio "cvs")
cvs checkout projeto1 (<- mdulo que desejamos pegar do servidor)
Nas sees seguintes sero explicados cada um dos comandos usados para trabalhar com um projeto no cvs.
Execute o comando cvs -d /var/lib/cvs init (para criar o repositrio e os arquivos administrativos que
ficam armazenados dentro de CVSROOT.
364
OBS: Para os paranicos importante encerrar uma seo de CVS, pois ele possui alguns bugs e um spoofing
pode tornar possvel o uso de uma seo deixada aberta.
365
U ou P - Existe uma verso nova do arquivo no repositrio. Para corrigir isso, execute o comando
"update".
A - O arquivo no foi adicionado ainda ao repositrio remoto. Se apagar o repositrio local, este arquivo
no ser adicionado. Para corrigir isto, executa o comando "add" do cvs.
R - O arquivo foi removido localmente, mas no foi removido do servidor remoto. Use os
procedimentos em Removendo um arquivo do mdulo CVS remoto, Seo 40.3.11 para corrigir a situao.
M - O arquivo est modificado localmente e no foi salvo ainda no servidor. Use os procedimentos em
Sincronizando a cpia remota com a cpia local, Seo 40.3.7 e Enviando as mudanas para o servidor
remoto, Seo 40.3.8 para salvar o arquivo.
? - O arquivo est em seu diretrio de trabalho mas no tem referncias no repositrio remoto e tambm
no est na lista de arquivos ignorados do CVS.
366
40.4.1 config
Este arquivo segue os padres do arquivos de configurao e possui alguns parmetros que controlam o
comportamento do CVS. Segue uma lista deles:
SystemAuth - Define se ser utilizado a autenticao via /etc/passwd quando o mtodo pserver for
utilizado. Note que se o arquivo passwd for criado no CVSROOT, o SystemAuth ser definido
automaticamente para noo.
Exemplo: SystemAuth=yes.
LockDir - Especifica o diretrio onde sero gravados os arquivos de lock. Caso no seja especificado,
ser usado o diretrio do CVS.
Exemplo: LockDir=/var/lock/cvs
LogHistory - Utiliza opes para especificar o que ser registrado nos arquivos de log do CVS.
40.4.2 modules
Especifica opes e programas externos que sero usados durante a execuo de comandos no repositrio CVS.
40.4.3 cvswrappers
Este arquivo define aes de controle de caractersticas de arquivos, de acordo com seu nome.
Pode ser tambm definidas aes atravs de arquivos .cvswrappers.
40.4.4 commitinfo
Define programas para fazer uma checagem baseada no diretrio e dizer se o commit permitido.
40.4.5 verifymsg
Especifica o programa usado para verificar as mensagens de log.
40.4.6 loginfo
Programa que executado aps o commit. Ele pode ser usado para tratar a mensagem de log e definir onde ela
ser gravada/enviada, etc.
Guia Foca GNU/Linux
367
40.4.7 cvsignore
Tudo que constar neste arquivo no ser gravado (commit) no cvs. Referncias globais podem ser usadas para
especificar estes arquivos. Veja a info page do cvs para detalhes sober seu formato.
Pode tambm ser especificado atravs de arquivos .cvsignore.
40.4.8 checkoutlist
Especifica os arquivos que deseja manter sobre o controle do CVS que se encontram em CVSROOT. Se
adicionar um script adicional, ou qualquer outro arquivo no diretrio CVSROOT ele dever constar neste
arquivo.
40.4.9 history
usado para registrar detalhes do comando history do CVS.
40.5.1 cvs
Este o cliente Unix padro, bastante poderoso e que opera em modo texto. As explicaes neste captulo do
guia assumem este cliente de cvs, ento as explicaes sobre sua utilizao se encontra em Criando projetos
para serem usados no CVS, Seo 40.3 e os parmetros de linha de comando em Opes de linha de comando,
Seo 40.1.10
altamente recomendvel a leitura caso deseje utilizar um cliente de cvs grfico, pois os conceitos so os
mesmos.
40.5.5 viewcvs
Guia Foca GNU/Linux
368
Este um visualizador de repositrios CVS via web, ele precisa apenas de um servidor web instalado com
suporte a CGI. Para instalar, execute o comando apt-get install viewcvs e siga os passos para configurar
programa. Para adequar melhor o viewcvs ao seu sistema, edite o arquivo /etc/viewcvs/viewcvs.conf.
O viewcvs possui uma interface que se parece com a navegao de um diretrio de ftp, recursos como a
extrao de diffs coloridos entre verses de um arquivo selecionado, visualizao de commits (com data, log do
commit, usurio, etc.), classificao da listagem exibida.
OBS:Leve em considerao as implicaes de segurana impostas por aplicativos cgi sendo executados em seu
sistema. Veja Apache, Captulo 12 para explicaes detalhadas sobre o assunto.
369
370
Captulo 41 Apndice
Este captulo contm consideraes sobre o guia Foca GNU/Linux.
Djalma Valois djalma@cipsga.org.br - Pela recente hospedagem do Foca GNU/Linux e do site MetaInfo
do amigo Maan. 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.
Eduardo Marcel Maan thecore@thecore.com.br - Pelo apoio dado atravs da hospedagem da pgina do
guia no Meta<i>fo (http://www.metainfo.org) nos livrando dos banners da Geocities...
Michelle Ribeiro michellersilva@uol.com.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
desapercebidos durante muito tempo no guia e pgina principal.
371
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 significativas, novos endereos de listas de
discusso.
Alexandre Costa alebyte@uol.com.br - Envio de centenas de patches ortogrficos 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.
372
GcJAmrC9gWH7mYEUFNn1bGD+qHRwJ7+xj45NXBJDOBbHzTDS8QhacCRGW1CvRVgP
8ycPDOv/hmGfAJEzqzUkSO1uBcPmmXSIRgQYEQIABgUCOXtZqwAKCRCla8PfmFui
gQHnAJ4kDKHKvG9s9OjGV6RvszTDGE51igCcCZn0rO/Si0ek97bTCIusQzJF/pA=
=TqNJ
-----END PGP PUBLIC KEY BLOCK----Guia Foca GNU/Linux
Verso Iniciante e Intermedirio 5.26 - domingo, 08 de dezembro de 2002
Verso Avanado 6.12 domingo, 08 de dezembro de 2002
Gleydson Mazioli da Silva gleydson@cipsga.org.br
373