(CIP)
05-8789
CDD-005.43
ndices para catlogo sistemtico:
1. LINUX : Sistema operacional : Computadores :
Processamento de dados
005.43
Guia Prtico
Manual de Sobrevivncia
Dicas e Comandos do Mundo Linux
Autor:
Tales Arajo Mendona
Editora:
EDITORA VIENA
Rua Regente Feij, 621 - Centro
Santa Cruz do Rio Pardo - SP
CEP 18900-000
Fone (14) 3372-2155
Home-Page: www.editoraviena.com.br
e-mail: editoraviena@editoraviena.com.br
Agradecimentos
Primeiramente gostaria de agradecer ao Ricardo rcega, por me sugerir para que escrevesse um livro sobre uma idia que tive de publicao de
comandos, em uma forma simples, rpida e objetiva; Agradeo tambm ao
Marcos Jos Setim que me deu apoio e dicas sobre o livro. Muito obrigado o
ao Jos Queiroz que alm de contribuir com alguns comandos, me deu grandes dicas. As contribuies de: Alex San, Alexandre Daibert, Andrei Drusian,
Carlos E. Morimoto, Eduardo C. Silva, Hugo Cisneiros, Luciano Martini,
Otvio Rodolfo. Agradeo ao Guilherme Marques e Mauro Xavier por ajudar
com algumas tradues. E agradeo principalmente minha me que sempre
me deu apoio e tambm aos meus familiares e amigos.
Obrigado a todos, pois vocs colaboraram para que este livro ficasse pronto.
Agradecimentos
Prefcio
Este manual encontra-se dividido em trs partes, para melhor entendimento do mesmo:
Captulo 1. Dicas e Princpios Bsicos do Linux
Essa primeira parte consiste em uma introduo (Conceitos bsicos) do
que o usurio precisa saber para seguir em frente na leitura do livro. Caso
seja leigo, imprescindvel que passe pelos Conceitos bsicos. Tambm so
abordadas algumas Dicas bsicas muito teis que lhe ajudar no dia a dia
para convivncia com o Linux.
Captulo 2. Comandos do Terminal
Para que possamos utilizar com maior facilidade o terminal de comandos
do Linux (shell), saber os nomes dos comandos as vezes antes de saber o que
eles executam de extrema necessidade. Tambm como abordagem, coloquei em prtica as noes bsicas descritas no Captulo I deste manual.
Complementando este captulo, no fnal esto organizados os comandos
especficos correspondente a cada distribuio. uma forma mais fcil de encontrar o comando que deseja, caso o mesmo s pertena a sua distribuio.
Captulo 3. Dicas Avanadas
Essa parte sem dvida a salvao de muitos que utilizam o Linux e
querem tirar o mximo de proveito do programa mas no sabem como.
Aqui abordaremos assuntos importantes sobre como compilar programas
no Linux, como obter uma proteo para sua rede, compartilhar a internet
com segurana, checar dispositivos(HD, CD-ROM, Disquete, etc), aprender
a utilizar vrios comandos em conjunto, e mais...
Prefcio
Sumrio
1.
1.1.
1.2.
1.2.1.
1.2.2.
1.2.3.
1.2.4.
1.3.
1.3.1.
1.3..2.
1.3.3.
1.3.4.
1.3.5.
1.4.
1.4.1.
1.4.2.
1.4.3.
1.4.4.
Introduo............................................................................................................... 13
Conceitos Bsicos.................................................................................................. 13
Trabalhando com a Tecla TAB........................................................................... 16
Permisses............................................................................................................... 16
Conhecendo o Prompt de Comandos........................................................... 17
Conhecendo a Estrutura de Diretrios.......................................................... 17
Desktop.................................................................................................................... 20
Reiniciando o X ..................................................................................................... 20
Copiar e Colar com Seleo do Mouse.......................................................... 20
Alternar Entre reas de Trabalho..................................................................... 21
Habilitar o Boto PrintScreen........................................................................... 21
Executando Comandos pelo Desktop........................................................... 21
Terminal.................................................................................................................... 22
Executando Programas em Background e
Deixando o Terminal de Comandos Livre.................................................... 22
Procurando por Comandos Digitados........................................................... 22
Executando Arquivos .bin, .run e .sh ............................................................ 23
Tirar Screenshot da Tela...................................................................................... 23
2.
Comandos do Terminal........................................................25
2.1.
2.2.
2.3.
2.4.
2.5.
2.6.
2.7.
2.8.
2.9.
2.10.
2.11.
2.12.
2.13.
2.14.
2.15.
2.16.
2.17.
adduser..................................................................................................................... 27
alias............................................................................................................................ 28
alien............................................................................................................................ 28
apt-get...................................................................................................................... 29
arch............................................................................................................................. 31
cal................................................................................................................................ 31
cat............................................................................................................................... 32
cd................................................................................................................................ 32
checkinstall ............................................................................................................ 33
chmod....................................................................................................................... 34
chown........................................................................................................................ 35
chroot........................................................................................................................ 35
clear............................................................................................................................ 36
crontab...................................................................................................................... 36
cp................................................................................................................................ 37
date............................................................................................................................ 37
deluser...................................................................................................................... 38
Sumrio
2.18.
2.19.
2.20.
2.21.
2.22.
2.23.
2.24.
2.25.
2.26.
2.27.
2.28.
2.29.
2.30.
2.31.
2.32.
2.33.
2.34.
2.35.
2.36.
2.37.
2.38.
2.39.
2.40.
2.41.
2.42.
2.43.
2.44.
2.45.
2.46.
2.47.
2.48.
2.49.
2.49.1.
2.50.
2.51.
2.52.
2.53.
2.54.
2.55.
2.56.
2.57.
2.58.
M a n ua l
dd................................................................................................................................ 39
df................................................................................................................................. 40
dmesg....................................................................................................................... 41
dpkg........................................................................................................................... 41
du................................................................................................................................ 42
emerge...................................................................................................................... 43
file............................................................................................................................... 44
find............................................................................................................................. 44
free............................................................................................................................. 45
fsck.............................................................................................................................. 45
groups....................................................................................................................... 48
halt.............................................................................................................................. 48
hdparm..................................................................................................................... 49
help............................................................................................................................ 49
history....................................................................................................................... 50
hostname................................................................................................................. 50
ifconfig...................................................................................................................... 51
installpkg.................................................................................................................. 52
kill................................................................................................................................ 52
last.............................................................................................................................. 53
ln................................................................................................................................. 54
locate......................................................................................................................... 54
ls.................................................................................................................................. 55
lsmod......................................................................................................................... 56
lspci............................................................................................................................ 56
MAKEDEV................................................................................................................. 57
mkdir.......................................................................................................................... 58
modprobe................................................................................................................ 58
more........................................................................................................................... 59
mount........................................................................................................................ 60
mv............................................................................................................................... 61
nmap......................................................................................................................... 61
xnmap....................................................................................................................... 63
passwd...................................................................................................................... 64
ping............................................................................................................................ 64
ps................................................................................................................................. 66
pwd............................................................................................................................ 66
rar................................................................................................................................ 67
reboot........................................................................................................................ 67
removepkg.............................................................................................................. 68
rm................................................................................................................................ 68
rmmod...................................................................................................................... 69
de
Sobrevivncia
do
Linux
2.59.
2.60.
2.61.
2.62.
2.63.
2.64.
2.65.
2.66.
2.67.
2.68.
2.69.
2.70.
2.71.
2.72.
2.73.
2.74.
2.75.
2.76.
2.77.
2.78.
2.79.
2.80.
2.81.
rpm............................................................................................................................. 69
scp.............................................................................................................................. 71
ssh............................................................................................................................... 72
su................................................................................................................................. 73
tail............................................................................................................................... 74
tar................................................................................................................................ 75
top.............................................................................................................................. 76
umount..................................................................................................................... 78
unalias....................................................................................................................... 79
uname....................................................................................................................... 79
unzip.......................................................................................................................... 80
upgradepkg............................................................................................................ 80
uptime....................................................................................................................... 81
urpm.......................................................................................................................... 81
users........................................................................................................................... 83
w.................................................................................................................................. 84
wget........................................................................................................................... 85
whereis...................................................................................................................... 85
who............................................................................................................................ 86
whoami..................................................................................................................... 86
yum............................................................................................................................ 87
zip............................................................................................................................... 88
Comandos Especficos das Distros................................................................. 88
3.
Dicas Avanadas...................................................................91
3.1.
3.1.1.
3.2.
3.2.1.
3.2.2.
3.2.3.
3.2.3.1.
3.2.3.2.
3.2.4.
3.2.4.1.
3.2.4.2.
3.2.4.3.
3.2.4.4.
3.2.5.
3.2.6.
3.2.7.
Ambiente Grfico.................................................................................................. 93
Vrios Ambientes X.............................................................................................. 93
Terminal.................................................................................................................... 94
Compilando Programas...................................................................................... 94
Reorganizando o seu Home.............................................................................. 95
Permisso................................................................................................................. 96
Modo Literal............................................................................................................ 97
Modo Numrico.................................................................................................... 98
Parties no Linux...............................................................................................100
Tipos de Parties...............................................................................................100
Conhecendo as Letras.......................................................................................100
Conhecendo as Parties.................................................................................100
Partio Swap.......................................................................................................100
Criando Firewall...................................................................................................100
Compartilhando a Conexo............................................................................103
Automatizando o Firewall................................................................................105
Glossrio......................................................................................... 107
Sumrio
10
M a n ua l
de
Sobrevivncia
do
Linux
Dicas
Princpios Bsicos
do
L i n u x 13
O que Kernel?
R.: o ncleo o crebro e corao do sistema , ele que controla todo
o hardware. Kernel o centro do sistema, todo o funcionamento da CPU e
aplicativos dependem dele, mas o Kernel em si, sozinho, no tem utilidade, ele
precisa dos aplicativos assim como os aplicativos precisam do Kernel, uma
relao de simbiose, um precisa do outro para sobreviver.
O que ambiente X?
R.: No Linux damos o nome interface grfica de X, ou ambiente X, ou
mesmo servidor X. Diferente de outros sistemas operacionais proprietrios,
no Linux existem vrios ambientes grficos ou DM (DESKTOP MANAGER)
os mais conhecidos so: kde, gnome e XFCE e gerenciador de janelas ou
WM (WINDOWS MANAGER) os mais conhecidos so: icewm, windowmaker, fluxbox, dentre outros que no so acoplados ao Kernel, ou seja, voc
usa o que lhe agrada, de acordo com suas necessidades, e o que sua mquina
agenta. Os DMs, so ambientes mais completos e pesados, necessitam de
um hardware melhor; j os WMs, so gerenciadores leves, e necessitam de
menos hardware, rodando em mquinas mais fracas.
O que so terminais ou consoles?
R.: O Linux um sistema em que o usurio pode fazer mltiplas tarefas ao
mesmo tempo em locais distintos, estes locais so chamados de terminais ou
consoles. Para acessar um terminal, basta teclar CTRL+ALT+Fn, sendo n o nmero correspondente ao terminal que deseja abrir, podendo ser de 1 a 6 terminais em modo texto e 7 a 12 terminais grficos. O 7 tido como o terminal
padro para o modo grfico (onde carregado o ambiente grfico padro).
O que super usurio (root)?
R.: o usurio que apresenta todo poder sobre a mquina, ele possui todos os
direitos como: criar, apagar, executar, dar ou tirar permisso de qualquer arquivo ou
diretrio. Se voc leigo, tenha muito cuidado ao realizar uma tarefa que exige ser
executada pelo root, pois pode danificar todo o funcionamento do sistema.
Dica: Crie um usurio comum para realizar todos os processos da mquina e, quando precisar executar algo que necessite do root como instalar
programas e configurar o sistema , faa o login como root, execute as
devidas tarefas e retorne para o seu usurio. Assim no ter problemas de
segurana, evitando danificar o sistema.
14
M a n ua l
de
Sobrevivncia
do
Linux
Obs 2.: Caso o seu pacote s exista para uma determinada distribuio,
voc poder utilizar um programa chamado alien, que converte o pacote
para a distribuio desejada. Para informaes de como utilizar o comando, consulte o captulo 2 do manual que trata dos comandos.
Dicas
Princpios Bsicos
do
L i n u x 15
Note que ele completa a palavra para /home/. Caso no saiba ou tenha
esquecido o nome de um comando/programa, pode ser utilizada a tecla TAB
para ajud-lo a lembrar.
1.2.2. Permisses
Existem basicamente trs partes que compem um arquivo/diretrio e podem ser reconhecidas como: dono, grupo e outros. Podendo cada um deles
obter permisso total (rwx).
dono = rwx
grupo = rwx
outros = rwx
r = read (ler)
w = write (gravar)
x = execute (executar)
16
M a n ua l
de
Sobrevivncia
do
Linux
O smbolo arroba (@) que aparece na frente do nome tales, significa usurio em host no caso o host horus.
O Segundo nome (horus) indica o nome da mquina.
O smbolo til (~) significa que o diretrio onde o usurio se encontra o
home. Ao invs de escrever /home/tales, voc pode digitar apenas ~tales.
Dicas
Princpios Bsicos
do
L i n u x 17
foto.jpg. No Linux, eu poderia criar um diretrio no barra (/) chamado imagens e colocar o arquivo dentro dele que ficaria da seguinte maneira:
/imagens/foto.jpg. Note que em ambos aparece uma estrutura de diretrios similar.
Irei explicar de forma simples e rpida, os diretrios que procedem o diretrio barra (/) e o que significam. Lembrando que o Linux possui muito mais
subdiretrios do que os relatados aqui. Apenas destaquei os mais importantes
e conhecidos.
Diretrios que so padro em todas distros:
/bin, /etc, /home, /lib, /usr, /dev, /sbin, /tmp e /var
Diretrios opcionais:
/mnt, /sys, /boot, /proc e /opt
M a n ua l
de
Sobrevivncia
do
Linux
Dicas
Princpios Bsicos
do
L i n u x 19
Observaes importantes: Sempre que estiver com dvidas de como utilizar um comando e para saber de todas as opes que dispem, utilize o
manual (man) ou o help mostra as opes a serem utilizadas de forma
simplificada e mais rpida.
Exemplo:
$ mv --help
1.3. Desktop
1.3.1. Reiniciando o X
Quando se executa alguma tarefa no ambiente grfico que precisa reiniciar
o servidor X, o mesmo pode ser feito sem precisar reiniciar o sistema (Linux).
Reiniciar o X nada mais do que sair e retornar ao ambiente grfico. Todos
os servios que foram iniciados durante o boot, no sofrero qualquer alterao.
Exemplo de utilizao:
Tecle CTRL+ALT+BACKSPACE para reiniciar o X.
20
M a n ua l
de
Sobrevivncia
do
Linux
Dicas
Princpios Bsicos
do
L i n u x 21
1.4. Terminal
1.4.1. Executando Programas em Background e Deixando
o Terminal de Comandos Livre
Essa dica til para quando precisar abrir um programa ou vrios, ou
ento precisa digitar vrios comandos e ao mesmo tempo deixar o terminal
livre para trabalhar.
Para a utilizao, basta acrescentar o e-comercial (&) no final do comando.
Exemplo de utilizao:
$ kwrite &
Abre o programa kwrite deixando o terminal livre para futuros comandos, possibilitando a abertura de novos programas.
$ kwrite & xmms & amsn &
Abre os programas kwrite, xmms e amsn. Aqui voc pode, por exemplo, programar no kwrite, ouvir msica no xmms e conversar com amigos
atravs do amsn, e ainda ter o terminal de comandos livre para trabalhar.
22
M a n ua l
de
Sobrevivncia
do
Linux
Como nos outros dois exemplos, esse procedeu da mesma forma, o script
xfsck.sh recebeu permisso de execuo e logo em seguida foi executado.
Dicas
Princpios Bsicos
do
L i n u x 23
24
M a n ua l
de
Sobrevivncia
do
Linux
Comandos do Terminal
2.1. adduser
2.2. alias
2.3. alien
2.4. apt-get
2.5. arch
2.6. cal
2.7. cat
2.8. cd
2.9. checkinstall
2.10. chmod
2.11. chown
2.12. chroot
2.13. clear
2.14. crontab
2.15. cp
2.16. date
2.17. deluser
2.18. dd
2.19. df
2.20. dmesg
2.21. dpkg
2.22. du
2.23. emerge
2.24. file
2.25. find
2.26. free
2.27. fsck
2.28. groups
2.29. halt
2.30. hdparm
2.31. help
2.32. history
2.33. hostname
2.34. ifconfig
2.35.
2.36.
2.37.
2.38.
2.39.
2.40.
2.41.
2.42.
2.43.
2.44.
2.45.
2.46.
2.47.
2.48.
2.49.
installpkg 79
kill 80
last 82
ln 83
locate 84
ls 86
lsmod 88
lspci 89
MAKEDEV 90
mkdir 91
modprobe 92
more 94
mount 95
mv 97
nmap 98
2.49.1. xnmap (Interface Grfica)
2.50. passwd 102
2.51. ping 103
2.52. ps 106
2.53. pwd 107
2.54. rar 108
2.55. reboot 109
2.56. removepkg 110
2.57. rm 111
2.58. rmmod 113
2.59. rpm 114
2.60. scp 117
2.61. ssh 119
2.62. su 121
2.63. tail 123
2.64. tar 125
2.65. top 127
2.66. umount 129
2.67. unalias 131
2.68. uname 132
2.69. unzip 134
2.70. upgradepkg 135
2.71. uptime 136
2.72. urpm 137
2.73. users 140
2.74. w 141
2.75. wget 143
2.76. whereis 144
2.77. who 145
2.78. whoami 146
2.79. yum 147
2.80. zip 149
2.81. Comandos Especficos das Distros
2. Comandos do Terminal
2.1. adduser
Utilizado para adicionar usurios ou grupos no sistema de acordo com
as opes especificadas. Para criao de usurios, cada um ter um diretrio
particular com o nome especificado dentro de /home e todas as configuraes do mesmo ficaro guardadas dentro desse diretrio: ~/usurio.
Sintaxe:
1. usual:
# adduser [opes] (usurio)
2. grupo:
# adduser --group [opes] (grupo)
3. grupo/usurio:
# adduser [opes] (grupo) (usurio)
Opes:
--conf arquivo Esta opo faz com que o adduser utilize outro
arquivo ao invs do /etc/adduser.conf .
--group Cria grupos similares ao addgroup.
--system Faz com que o comando crie apenas usurios e
grupos que estejam no sistema local.
Exemplo de utilizao:
Para criar o usurio mariana:
# adduser mariana
Comandos
do
Terminal
27
2.2. alias
Utilizado para substituir um comando e seus parmetros por palavraschave.
Sintaxe:
$ alias [nome=comando]
Exemplo de utilizao:
Para exibir todos os alias criados para o usurio:
$ alias
Para criar um alias chamado ls, atribuindo os valores ls -color=auto (colore arquivos e diretrios na sada do ls).
$ alias ls=ls --color=auto
2.3. alien
Conversor de pacotes. O alien converte pacotes RPM (Red Hat), DEB
(Debian), TGZ (Slackware), PKG (Solaris) e SLP (Stampede Linux) para
qualquer formato entre eles. Se voc precisou instalar um programa para sua
distro e s encontrou o pacote para uma outra, ento utilize esse programa
que ir converter o pacote para sua distro.
Obs.: No recomendvel converter pacotes ligados ao sistema, como pacotes que contm bibliotecas.
Sintaxe:
# alien [opes] [pacote]
Exemplo de utilizao:
Para converter o pacote.deb para pacote.rpm:
# alien -r pacote.deb
28
M a n ua l
de
Sobrevivncia
do
Linux
2.4. apt-get
O apt-get um gerenciador de pacotes, com ele voc pode instalar, remover e
atualizar qualquer programa em seu sistema. De todos os gerenciadores de pacotes o apt-get est entre os melhores, pela sua facilidade e eficincia. Basicamente
ele utilizado para baixar e instalar programas da internet, remover e atualizar
o sistema. O apt-get possui uma grande vantagem sobre os outros sistemas,
pois instala os pacotes desejados e tambm suas dependncias.
Obs.: Os desenvolvedores do Debian recomendam utilizar o comando aptitude no lugar de apt-get por diversas razes; dentre elas: melhor gerenciamento de pacotes, acompanha a atualizao dos pacotes automaticamente, possui uma interface em modo texto amigvel e poderosa que pode
ser executada por usurios comuns, evitando danificar o sistema, etc.
Sintaxe:
# apt-get [comando] [pacote]
Exemplo de utilizao:
Para atualizar a lista de pacotes:
# apt-get update
Comandos
do
Terminal
29
Dica: Para incluir ou excluir novas fontes, voc deve editar o arquivo (/etc/
apt/sources.list) como root e acrescentar as informaes de acordo com a sua
utilidade. Novas fontes podem ser encontradas no site: http://apt-get.org/
Para encontrar a fonte do programa desejado, basta clicar no link Search
for a package, inserir o nome do programa no campo e escolher o tipo de
arquitetura. Caso no saiba a arquitetura utilizada em sua mquina, deixe em
i386 e clique em Enviar Dados. Ir aparecer uma lista com vrias fontes
disponveis, escolha a que melhor te satisfaz e inclua dentro do arquivo sources.list. Abaixo segue o exemplo de um sources.list:
# Sarge
# Os endereos abaixo contm endereos dos mirros do Debian Sarge.
deb http://ftp.br.debian.org/debian sarge main contrib non-free
# Sarge/non-US
# Os mirros abaixo contm pacotes do Sarge que no podem ser distribu# dos nos EUA devido s leis do pas
deb http://ftp.br.debian.org/debian-non-US sarge/non-US main contrib
non-free
# KDE 3.4.1 - Servidor no oficial
deb http://pkg-kde.alioth.debian.org/kde-3.4.1/ ./
# Pacote oficial do navegador Opera
deb http://deb.opera.com/opera/ testing non-fre
Para mais informaes consulte o manual:
$ man apt-get
30
M a n ua l
de
Sobrevivncia
do
Linux
2.5. arch
Mostra qual a arquitetura de seu PC, ou seja, o tipo de processador de sua
mquina.
Alguns tipos de arquiteturas:
i386
i586
i686
Sintaxe:
$ arch
Exemplo de utilizao:
tales@horus:~$ arch
i686
2.6. cal
Exibe um calendrio simples no formato tradicional, oferece vrios formatos
diferentes de datas. Podem ser utilizados alguns parmetros para exibio de datas.
Sintaxe:
$ cal [opes] [ms] [ano]
Exemplo de utilizao:
Para exibir o calendrio do ms atual de forma simples:
$ cal
Comandos
do
Terminal
31
2.7. cat
Mostra o contedo de um arquivo, geralmente arquivos de texto. recomendvel us-lo para arquivos de texto pequeno, pois os arquivos com grande contedo so mais difceis de serem visualizados, o texto rolar dificultando a leitura. O
comando tambm pode ser usado para criao de pequenos arquivos e insero
do contedo de texto de um arquivo para dentro de outro arquivo.
Sintaxe:
Para criar um arquivo:
$ cat > [nome do arquivo]
Exemplo de utilizao:
Para criar o arquivo manual.txt:
tales@horus:~$ cat > manual.txt
2.8. cd
Muda a localizao na rvore de diretrios. considerado um dos comandos mais simples e muito essencial.
Sintaxe:
$ cd [diretrio que deseja acessar]
32
M a n ua l
de
Sobrevivncia
do
Linux
Exemplo de utilizao:
Para entrar no diretrio Documentos:
tales@horus:~$ cd Documentos/
tales@horus:~/Documentos$
Obs. 1: Para retornar um diretrio utilize: cd .., dois diretrios utilize: cd ../.., trs
diretrios utilize: cd ../../.., e assim por diante. Use o comando sem aspas ().
Obs. 2: Sempre que precisar entrar em um diretrio que contenha espao
no nome e a tecla TAB no der conta, utilize aspas dupla () ou a barra
invertida (\) entre os espaos para entrar.
Exemplo 1 Aspas dupla()
tales@horus:~/Documentos$ cd Arquivos Compartilhados
tales@horus:~/Documentos/Arquivos Compartilhados$
2.9. checkinstall
Utilizado para facilitar a instalao e remoo de programas compilados. Pode ser gerado para distribuies que utilizam pacotes(.tgz,
.rpm e .deb). O comando utilizado no lugar do make install.
Comandos
do
Terminal
33
Sintaxe:
# checkinstall [opo] [comando]
Opes:
-S
-R
-D
-y
Exemplo de utilizao:
Aps o comando make, entre com o checkinstall e gere um pacote
.deb, para a distribuio Debian e seus derivados:
# checkinstall -D
Obs.: Se nenhuma opo for especificada, o pacote criado ser o de utilizao do sistema e mais um pacote tgz, ou seja, se o sistema for um Debian,
ser criado um pacote.deb e um pacote.tgz.
Aps digitar o comando, ir abrir uma tela pedindo que entre com as informaes para a configurao do pacote. Quando terminar, o mesmo estar
instalado no sistema e ser criado o pacote no mesmo diretrio em que foi
compilado.
Para mais informaes consulte o manual:
$ man checkinstall
2.10. chmod
Altera a permisso de arquivos e diretrios.
Sintaxe:
$ chmod [opes] [nome do arquivo/diretrio]
Exemplo de utilizao:
$ chmod +x arquivo.bin
34
M a n ua l
de
Sobrevivncia
do
Linux
2.11. chown
Altera o dono e o grupo de um arquivo/diretrio.
Sintaxe:
$ chown [nome do usurio]:[nome do grupo]
Exemplo de utilizao:
# chown rag:tales ~rag/
No exemplo acima, o direttio ~rag/ est recebendo acesso para o usurio rag e o grupo tales
# chown -R tales:users ~tales/Documentos/
No exemplo acima, o diretrio Documentos e todo o seu contedo, como arquivos e diretrios, esto recebendo acesso para o dono tales e grupo users. A
opo -R recursiva, ou seja, altera a permisso do diretrio e de seu contedo.
Para mais informaes consulte o manual:
$ man chown
2.12. chroot
Faz com que um programa pense que uma determinada pasta o diretrio
raiz do sistema, de modo que voc possa fazer qualquer tipo de alterao ou
instalao, tudo a partir deste diretrio como se fosse o raiz.
(Contribuio, Eduardo C. Silva)
Sintaxe:
# chroot [diretrio] [comando]
Obs.: preciso que a partio esteja montada para que possa ser executado o comando chroot.
Exemplo de utilizao:
O comando chroot pode ser usado para recuperar o boot do Linux, caso
o tenha perdido instalando outro Sistema Operacional. Para gravar o Lilo
novamente caso o tenha perdido, voc pode bootar por um liveCD (Kalango,
Comandos
do
Terminal
35
Kurumin, Ubuntu, ...) montar a partio / e /boot. Aps assumir a partio montada como root, execute o chroot para acesso ao sistema.
# chroot /mnt/gentoo /bin/bash
2.13. clear
Limpa a tela do terminal de comandos.
Exemplo de utilizao:
$ clear
2.14. crontab
O cron um programa de agendamento de tarefas. Com ele voc pode
programar para executar qualquer coisa numa certa periodicidade ou at
mesmo em um exato dia, numa exata hora.
(Descrio, Hugo Cisneiros)
Sintaxe:
# crontab [-u usurio] [opo ou arquivo]
Exemplo de utilizao:
$ crontab -e
0 22 * * 0,3,6 ~/script.sh
36
M a n ua l
de
Sobrevivncia
do
Linux
2.15. cp
Copia arquivos e diretrios. Podem ser copiados vrios arquivos e/ou diretrio para um diretrio indicado.
Sintaxe:
$ cp [opo] [origem] [destino]
Exemplo de utilizao:
Para copiar os arquivos 1,2 e 3 para o diretrio /tmp:
$ cp arquivo1 arquivo2 arquivo3 /tmp
2.16. date
Exibe e configura a data e a hora do sistema. Pode-se escolher vrios formatos distintos para serem exibidos.
Sintaxe:
$ date [opes] [+formato]
Comandos
do
Terminal
37
Exemplo de utilizao:
$ date -r arquivo.txt
O comando acima mostra a data em que o arquivo.txt sofreu sua ltima atualizao.
$ date +%A\ %d/%m/%Y\ %H:%M
quinta 09/12/2004 16:13
2.17. deluser
Remove um usurio ou grupo do sistema.
(Contribuio, Luciano Martini)
Sintaxes:
1- usual:
# deluser [opes] (usurio)
2- grupo:
# deluser --group [opes] (grupo)
3- grupo/usurio:
# deluser [opes] (grupo) (usurio)
Opes:
--conf arquivo Esta opo faz com que o deluser utilize outro arquivo ao invs do /etc/deluser.conf.
--group Apaga grupos, similar a delgroup.
--system Faz com que o comando apague apenas usurios e grupos que estejam no sistema local.
38
M a n ua l
de
Sobrevivncia
do
Linux
Exemplo de utilizao:
# deluser --group printer
2.18. dd
Converte e copia arquivos. Na verdade esse comando um verdadeiro canivete suo, pois ele capaz de gerar imagens de arquivo .iso, espelhamento
de uma partio, converte arquivos por exemplo passa todo o contedo de
um arquivo de letras minsculas para maisculas, ou vice versa - entre outras
coisas.
Sintaxe:
$ dd [if=origem] [of=destino]
Exemplo de utilizao:
# dd if=/dev/hda of=/dev/hdb
No exemplo acima, ser criado um espelho idntico do hda (HD primrio master) para hdb (HD primrio slave). A cpia feita bit a bit, ou seja,
no importa o sistema do arquivo do hdb (destino) pois tudo ser copiado
identicamente ao hda (origem).
# dd if=/dev/hda of=imagem.img
Comandos
do
Terminal
39
2.19. df
Mostra o espao de disco usado pelo sistema de arquivos de todos os tipos,
atualmente montados.
Sintaxe:
$ df [opes] [arquivo]
Exemplo de utilizao:
$ df -h
A opo acima a mais usada pelos usurios, ela mostra o espao disponvel em todos os discos (hd*) em megabytes, sistema de arquivo, tamanho do
disco, quanto do disco est sendo utilizado, quanto h de espao disponvel,
a porcentagem usada e onde o disco est montado. Veja um exemplo abaixo
do comando df -h.
Sist. Arq. Tam Usad Disp Uso% Montado em
/dev/hda1 9,8G 2,1G 7,7G 22% /
tmpfs 252M 4,0K 252M 1% /dev/shm
/dev/hda3 43G 42G 1,8G 96% /filmes
/dev/hda4 12G 4,2G 7,6G 36% /home
/dev/hda5 9,1G 6,6G 2,6G 73% /servidor
40
M a n ua l
de
Sobrevivncia
do
Linux
2.20. dmesg
Mostra tudo que carregado pelo Kernel durante o boot. Mais utilizado
para saber se o boot ocorreu bem, sem erros.
Sintaxe:
$ dmesg [opo]
Exemplo de utilizao:
Para mostrar as informaes de carregamento do Kernel com
paginao:
$ dmesg | more
2.21. dpkg
Gerenciador de pacotes. Ferramenta utilizada para instalar, criar, remover
e gerenciar pacotes Debian.
Sintaxe:
$ dpkg [opes] ao
Exemplo de utilizao:
Para instalar um pacote:
# dpkg -i pacote.deb
Comandos
do
Terminal
41
Para buscar todos os pacotes que so referenciados pelo nomedo-pacote procurado, retornando a verso e uma descrio do
mesmo:
$ dpkg -l|grep nome-do-pacote
2.22. du
Mostra o espao ocupado em disco por arquivos e diretrios.
Sintaxe:
$ du [opes] [arquivo]
Exemplo de utilizao:
Para mostrar o total de espao utilizado pelo diretrio Documentos,
em megabytes:
$ du -hs ~/Documentos
42
M a n ua l
de
Sobrevivncia
do
Linux
2.23. emerge
O Gentoo implementa um sistema de gerenciamento de pacotes chamado Portage. O Portage foi inteiramente baseado no Ports dos *BSDs. O
portage implementa, entre outras funcionalidades, o gerenciamento de dependncias, falsas instalaes, desinstalaes seguras, perfis de sistema e o gerenciamento de arquivos de configurao.
(Colaborao, Otvio Rodolfo)
Sintaxe:
# emerge [opes] [pacote]
Exemplo de utilizao:
Para instalar o pacote gftp no sistema:
# emerge gftp
Comandos
do
Terminal
43
Para procurar todos os pacotes que tiverem kde no nome (kde, kdebase, kde-i18n-bs etc):
# emerge -s kde
2.24. file
Determina o tipo de contedo do arquivo baseado em padres encontrados dentro do prprio arquivo.
Com o comando file, voc pode descobrir informaes importantes sobre
um arquivo, se um arquivo texto, binrio, imagem, diretrio etc.
Sintaxe:
$ file [opes] [arquivo]
Exemplo de utilizao:
Para mostrar informaes sobre que tipo de arquivo o arquivo1.txt:
$ file arquivo1.txt
2.25. find
Procura por arquivos pelo sistema em uma hierarquia de diretrios.
Sintaxe:
$ find [caminho] [expresso]
Exemplo de utilizao:
Para procurar pelo arquivo senhas.txt no diretrio /home e
em todos os seus subdiretrios. O -iname ignora maisculas e
minsculas. Para no ignorar, remova a letra i e deixa apenas
-name:
$ find /home -iname senhas.txt
44
M a n ua l
de
Sobrevivncia
do
Linux
Para fazer uma busca por todos os arquivos .txt dentro do diretrio
/home, eliminando buscas indesejveis (2>/dev/null):
$ find /home -name *.txt 2>/dev/null
2.26. free
Mostra informaes como: memria total, usada, livre, buffers e cache.
Sintaxe:
$ free [opo]
Exemplo de utilizao:
Para imprimir informaes sobre memria em megabytes:
$ free -m
2.27. fsck
O fsck o programa de checagem de discos. Existem variaes do fsck, cada
uma voltada para um formato de partio. Por exemplo o fsck.reiserfs voltado
para checar discos/parties que estejam formatados em reiserfs, por este motivo
este tpico foi dividido em partes, cada uma voltada para um programa fsck.
(Contribuio, Luciano Martini)
fsck.ext2/fsck.ext3
Este o programa responsvel pela checagem de sistemas de arquivos reiserfs, assim como o fsck.ext3 o programa no pode checar uma partio que
esteja montada para o modo leitura-escrita.
Comandos
do
Terminal
45
fsck.vfat/fsck.msdos
Opes do fsck.ext2/fsck.ext3:
-p Reparo automtico.
-n Esta opo faz com que o fsck.ext2 no faa
alteraes no sistema de arquivos, apenas o verifique.
-y Esta opo fora o fsck.ext2 a assumir a resposta sim a todas as questes que sero feitas.
-c Esta opo leva o fsck.ext2 a verificar a presena de danos fsicos ou bad blocks no hd.
-f O fsck.ext2 no verifica uma partio que est
marcada como checada, esta opo fora o fsck
a checar uma partio ou disco, mesmo que
ainda no esteja na data de checagem.
-b [superblock] Esta opo faz com que o fsck use
o superblock alternativo para relacionar os setores aos arquivos.
-B [blocksize] Esta opo fora o fsck a considerar
um tamanho de bloco especificado pelo usurio
(ajuda quando este no consegue fazer a determinao automaticamente).
-j external-journal Leva o fsck a utilizar o journal de recuperao gravado em disco externo.
Opes do fsck.reiserfs:
--check Esta a checagem padro do programa, quando iniciado sem nenhum parmetro de opo.
--fix-fixable Esta opo leva o fsck a arrumar os problemas
mais comuns, que podem ser resolvidos sem a
reconstruo de arvore reiser.
--rebuild-sb Esta opo de alto risco, leva o fsck a reescrever o superblock, ou seja, o mapa de setores em
relao a arquivos e diretrios. Usada em casos
crticos em que a partio no mais reconhecida como reiserfs.
46
M a n ua l
de
Sobrevivncia
do
Linux
--rebuild-tree Rebuild tree a opo que leva o fsck a remontar a rvore reiser, uma opo de alto-risco
usada em ltimos casos. Geralmente quando
h problemas fsicos ao ser iniciado com este
processo, o fsck no dever ser cancelado.
-p Verificao automtica.
Opes do fsck.vfat:
-a Reparo automtico.
-t Testa a superfcie.
-u arquivo Funciona como o undelete. Funcional em parties fat16.
-v Aumenta o nmero de detalhes mostrados ao
usurio.
-w Grava no disco imediatamente.
Exemplos de uso do fsck.ext3 (ou fsck.ext2):
# fsck.ext3 -p /dev/fd0
O comando acima far uma checagem em busca da presena de danos fsicos em um disquete em b: (/dev/fd1).
# fsck.ext3 -pf /dev/hda1
O comando acima checa um disquete a: (/dev/fd0) formatado em reiserfs (o formato reiserfs no adequado para disquetes devido a baixa taxa de
recuperao de erros fsicos), o reiserfs adequado para sistemas com mais
de 30 GB onde ocorrem falhas de energia e onde necessrio um grande
desempenho.
Exemplos de uso do fsck.vfat:
# fsck.vfat -atw /dev/hda3
Comandos
do
Terminal
47
O comando acima faz uma checagem rpida e automtica de uma partio vfat.
Para mais informaes consulte o manual:
$ man fsck
2.28. groups
Exibe os grupos ao qual o usurio pertence.
Sintaxe:
$ groups [usurio]
Exemplo de utilizao:
Para exibir todos os grupos que o usurio tales pertence:
$ groups tales
tales : tales dialout cdrom floppy audio video ntop
2.29. halt
Utilizado para desligar o sistema.
Sintaxe:
# halt [opo]
Exemplo de utilizao:
# halt Desliga o sistema.
# halt -f Fora o desligamento do sistema.
# halt -h Coloca os Hds no modo standby.
Para mais informaes consulte o manual:
$ man halt
48
M a n ua l
de
Sobrevivncia
do
Linux
2.30. hdparm
O comando hdparm traz melhorias quanto a velocidade de acesso a arquivos e diretrios em um HD ou CD-ROM.
Sintaxe:
# hdparm [opes] [dispositivo]
Exemplo de utilizao:
# hdparm -i /dev/hdX
Identifica informaes do HD gerando um relatrio, como as configuraes atuais. Todas as alteraes sero feitas com base no relatrio adquirido.
Essas informaes sero importantes para que no se passe parmetros errados ao disco rgido e o danifique.
Use as informaes abaixo de acordo com o seu HD, onde o X o nmero correspondente partio do HD.
hda Master primrio.
hdb Slave primrio.
hdc Master secundrio.
hdd Slave secundrio.
Para ativar o DMA do HD ou CD-ROM:
# hdparm -d1 /dev/hdX
2.31. help
Utilizado para mostrar exemplos rpidos da utilizao de comandos, ou
mesmo descrever como utilizar um comando de forma rpida e prtica.
Sintaxe:
$ comando --help
Comandos
do
Terminal
49
Exemplo de utilizao:
$ cp --help | more
2.32. history
Utilizado para mostrar o histrico dos comandos digitados no terminal de
comandos.
Sintaxe:
$ history [opo]
Exemplo de utilizao:
Para mostrar todos os comando digitados pelo usurio :
$ history
2.33. hostname
Mostra ou muda o nome do cliente do sistema. O hostname usado para
modificar ou para exibir o cliente atual ou nome do domnio do sistema. Este
nome usado por vrios programas que trabalham em rede para identificar
a mquina.
Sintaxe:
$ hostname [opes]
50
M a n ua l
de
Sobrevivncia
do
Linux
ou
# hostname [Novo nome da mquina]
Exemplo de utilizao:
Para exibir o nome da mquina:
$ hostname
2.34. ifconfig
Utilizado para configurar e inspecionar interfaces de rede. Seu uso pode ser
descrito de forma geral como ifconfig interface comando, onde interface uma
das interfaces de rede definidas e conhecidas pelo sistema ( eth0, ppp0, usb1)
(Contribuio, Jos Queiroz)
Sintaxe:
# ifconfig [interface]
ou
# ifconfig [interface] [opo] | [endereo]
Comandos
do
Terminal
51
Exemplo de utilizao:
Para mostrar todas as interfaces ativas no momento, pacotes enviados
e recebidos. Pode ser utilizado o comando ifconfig interface para
visualizar s a interface desejada:
# ifconfig
2.35. installpkg
O installpgk uma ferramenta do pkgtool, utilizado para instalar pacotes
no formato pacote.tgz no slackware.
Sintaxe:
# installpkg [opo] [pacote]
Exemplo de utilizao:
Para instalar o pacote.tgz no sistema:
# installpkg pacote.tgz
2.36. kill
Envia sinais para os processos do sistema, ou seja, envia sinais para o PID
(identificao de processo) do processo. Geralmente utilizado para matar
um processo em execuo.
Sintaxe:
$ kill [sinal] PID
52
M a n ua l
de
Sobrevivncia
do
Linux
Exemplo de utilizao:
$ ps aux | grep amsn
tales 3698 0.0 0.2 2740 1176 ? S 13:19 0:00 /bin/sh /usr/bin/amsn
tales 3699 0.4 3.0 27972 15920 ? Sl 13:19 2:43 /usr/bin/wish amsn
tales 15726 0.0 0.1 1844 708 pts/3 S+ 22:46 0:00 grep amsn
$ kill -9 3699
$ ps aux | grep amsn
tales 15760 0.0 0.1 1844 704 pts/3 R+ 22:48 0:00 grep amsn
2.37. last
Exibe o histrico de logins e logouts de usurios efetuados no sistema, baseado no contedo do arquivo /var/log/wtmp.
Sintaxe:
$ last [opes]
Exemplo de utilizao:
Para mostrar a lista geral de logins/logouts:
$ last
Comandos
do
Terminal
53
2.38. ln
Cria uma ligao simblica entre arquivos. Por padro criado ligaes
fortes; com a opo -s cria-se ligaes simblicas (ou fracas).
Sintaxe:
$ ln [opo] origem [destino]
Exemplo de utilizao:
Para criar um link simblico do executvel skype para o diretrio
/usr/local/bin/, possibilitando executar o programa de qualquer
lugar apenas digitando o nome skype:
# ln -s /servidor/programas/skype-xxx/skype /usr/local/bin/
2.39. locate
Busca por arquivos e diretrios em uma base de dados. O comando locate
procura pela palavra-chave que foi digitada, ou seja, tudo que contm a palavra digitada, seja no incio, meio ou fim, ser retornado o caminho de todos
os arquivos encontrados.
Sintaxe:
$ locate [opes] [palavra-chave]
Exemplo de utilizao:
$ locate firefox
54
M a n ua l
de
Sobrevivncia
do
Linux
$ locate -E kde
Procura no sistema por tudo que tiver kde, mostrando apenas os nomes
que no existem atualmente (ao invs dos nomes que existiam quando a base
de dados foi criada).
$ locate -i xmms
2.40. ls
Lista arquivos e diretrios. Pode-se usar vrias opes teis, como exibir
arquivos e diretrios coloridos para facilitar a visualizao do mesmo.
Sintaxe:
$ ls [opo] [arquivo/diretrio]
Exemplo de utilizao:
Para exibir arquivos e diretrios, exceto ocultos:
$ ls
O primeiro nome (tales) o usurio a quem o arquivo pertence, e o segundo nome (tales) o grupo ao qual o arquivo pertence. O nmero 7k
o tamanho do arquivo, seguido pela data que foi criado. No final aparece o
nome do arquivo.
Comandos
do
Terminal
55
2.41. lsmod
O lsmod um programa trivial que formata o contedo do /proc/modules,
mostrando quais os mdulos do Kernel esto carregados.
Sintaxe:
$ lsmod
Exemplo de utilizao:
$ lsmod
2.42. lspci
Lista todos os dispositivos PCI. O lspci um utilitrio que mostra informaes sobre o barramento PCI e todos os dispositivos conectados a ele.
Sintaxe:
$ lspci [opes]
56
M a n ua l
de
Sobrevivncia
do
Linux
Exemplo de utilizao:
Para mostrar todos os nmeros IRQs e endereos vistos pelas placas
no barramento PCI, como nome e modelo da placa de rede, placa
de som, placa de vdeo, dispositivos USB plugados na placa me,
entre outros:
$ lspci
2.43. MAKEDEV
Utilizado para criar dispositivos. O MAKEDEV um script que ir criar
dispositivos no /dev usando a interface com os drivers do Kernel.
Sintaxe:
# cd /dev
# ./MAKEDEV [opo] [dispositivo]
Opes:
-n No ir realmente atualizar os servios, apenas
mostrar as aes que sero executadas.
-d Deleta os servios. Seu principal uso pelo prprio MAKEDEV.
Exemplo de utilizao:
Para criar o dispositivo ttyS0 para uso do mouse serial:
/dev# ./MAKEDEV ttyS0
Comandos
do
Terminal
57
2.44. mkdir
Cria um diretrio com os nomes especificados.
Sintaxe:
$ mkdir [opo] [nome do diretrio]
Exemplo de utilizao:
Para criar o diretrio Programas:
$ mkdir Programas
2.45. modprobe
O comando modprobe adiciona ou remove de forma inteligente um mdulo no Kernel do Linux. No h diferena entre os caracteres underline (_)
e trao (-) nos nomes dos mdulos.
Sintaxe:
# modprobe [opes] [nome do mdulo]
Exemplo de utilizao:
Para subir com o mdulo ac97_codec:
# modprobe ac97_codec
58
M a n ua l
de
Sobrevivncia
do
Linux
# modprobe -c
# modprobe -r ac97_codec
Caso haja um outro mdulo que dependa do mdulo que ser removido
e no estiver em uso, o modprobe tentar remov-lo tambm. mais aconselhvel utilizar o comando rmmod, que especfico para a remoo de mdulos.
Obs.: Quando se insere um mdulo no Kernel do Linux manualmente, o
mesmo s ficar salvo enquanto a mquina estiver ligada, ou seja, sempre
que reiniciar o sistema ser preciso carregar o mdulo. Para que isso no
acontea, basta inserir o nome do mdulo no final da linha do arquivo de
configurao /etc/modprobe.conf.
Para mais informaes consulte o manual:
$ man modprobe
2.46. more
Mostra o contedo de um arquivo com paginao.
Sintaxe:
$ more [opes] [arquivo]
Para paginar o arquivo tecle ESPAO, para descer linha por linha tecle
ENTER, para editar o arquivo tecle v ( chamado o editor padro) e para
sair tecle q.
Exemplo de utilizao:
Para mostrar o contedo do arquivo sources.list:
$ more /etc/apt/sources.list
$ ls -l /usr/bin/ | more
Comandos
do
Terminal
59
2.47. mount
Monta dispositivos, sejam eles locais ou remotos.
(Contribuio, Andrei Drusian)
Sintaxe:
# mount -t type /dev/hdxy [local de montagem]
Onde:
type o tipo de partio que ser montada;
x o local que o HD est, podendo ser: Primrio
Master (a), Primrio Slave (b), Secundrio
Master (c) ou Secundrio Slave (d);
y a partio que ser montada, podendo ser 1, 2,
3...5 e assim por diante.
Exemplo de utilizao:
Para montar um disquete formatado em FAT, em /mnt/floopy:
# mount -t vfat /dev/fd0 /mnt/floopy
60
M a n ua l
de
Sobrevivncia
do
Linux
2.48. mv
Move ou renomeia arquivos e diretrios. Se o caminho de destino for o mesmo de origem, o arquivo ou diretrio ser renomeado, caso contrrio movido.
Sintaxe:
$ mv [opo] [origem] [destino]
Exemplo de utilizao:
Para renomear o arquivo-tales.txt para arquivo-mari.txt:
$ mv arquivo-tales.txt arquivo-mari.txt
$ mv ~/Documentos/foto07.png ~/Fotos
$ mv -f arquivo01.txt ~/Documentos
$ mv -b arquivo03.txt ~/Documentos
2.49. nmap
O comando nmap serve para fazer varredura de portas. A varredura de
portas um processo pelo qual se determina quais as portas TCP e UDP que
esto abertas (prontas para aceitar conexes) em uma determinada mquina.
(Contribuio, Jos Queiroz)
Sintaxe:
$ nmap [opes] alvos
Comandos
do
Terminal
61
62
M a n ua l
de
Sobrevivncia
do
Linux
usar os nomes das polticas, podemos usar nmeros; assim, -T0 equivale a -T Paranoid, e
-T5 equivale a -T Insane.
-T Paranoid Intervalo mximo.
-T Sneaky.
-T Polite.
-T Normal.
-T Aggressive.
-T Insane Intervalo mnimo.
-n No tenta fazer resoluo de endereos em nomes por DNS reverso.
--interactive Abre o modo interativo. Neste modo o nmap pode
receber vrios comandos para realizar varreduras. Para maiores informaes sobre este modo,
ative-o e use h para obter um texto de auxlio.
H vrias outras opes possveis, por exemplo, possvel fazer varreduras
diferenciadas por pacotes FIN, ou ento fazer varreduras de servios RPC.
Tambm possvel alterar parmetros de temporizao, tanto para reduzir a
possibilidade de deteco da varredura, quanto para adaptar o funcionamento s caractersticas de carga da rede.
Algumas das opes de varredura exigem acesso privilegiado ao sistema.
Assim, apenas o superusurio pode realizar varreduras com essas opes. Via
de regra, um usurio comum pode fazer apenas varreduras simples.
Obs.: Ao realizar uma varredura de portas, voc est levantando informaes sobre a mquina remota. Essa atitude no deixa de ser uma invaso
de privacidade; use este recurso com cuidado, pois vrias pessoas consideram a varredura de portas como uma tentativa de invaso.
Para mais informaes consulte o manual:
$ man nmap
Comandos
do
Terminal
63
2.50. passwd
Muda a senha para usurios e grupos. O usurio pode somente mudar a sua
senha, j o root tem o direito de mudar a senha de todos os usurios.
Sintaxe:
# passwd [opo] [usurio ou grupo]
Exemplo de utilizao:
Para mudar a senha do usurio:
$ passwd
$ passwd -g tales
$ passwd -f tales
$ passwd -s tales
2.51. ping
O comando ping uma das ferramentas mais simples do tcnico de redes.
Consiste num programa que envia um pacote especial pela rede, ao ser recebido pela mquina de destino, faz com que ela envie de volta outro pacote. A
partir da chegada da resposta, o computador de origem pode saber que:
a mquina existe;
est viva (est ligada e ativa, pois responde comandos);
alcanvel a partir da rede.
De acordo com o sistema em uso, o ping pode ter comportamento e parmetros diferentes. Nas mquinas windows, por padro, o ping envia apenas 4
pacotes. J nas mquinas Linux, por padro, ele envia um fluxo contnuo de
pacotes. Nas mquinas Sun, ao contrrio, apenas um pacote enviado.
A sada do comando tambm se altera de verso para verso. Nas mquinas
Windows e Linux, a cada pacote de resposta recebido, impressa uma linha
64
M a n ua l
de
Sobrevivncia
do
Linux
$ ping -c 30 192.168.254.7
Comandos
do
Terminal
65
2.52. ps
Informa uma seleo dos processos ativos no sistema.
Sintaxe:
$ ps [opes]
Exemplo de utilizao:
Para exibir todos os processos do sistema:
$ ps aux
2.53. pwd
Exibe o caminho/nome do diretrio em que o usurio se encontra.
Sintaxe:
$ pwd
Exemplo de utilizao:
tales@horus:~$ pwd
/home/tales
66
M a n ua l
de
Sobrevivncia
do
Linux
2.54. rar
Compactador de arquivos. Muito utilizado hoje em dia por ser compatvel com os
Sistemas Operacionais mais conhecidos, e por apresentar uma boa performance.
Sintaxe:
$ rar [comando][opo] [arquivo.rar] [contedo a ser compactado]
Exemplo de utilizao:
Para gerar o arquivo fotos.rar com as fotos 01, 02 e 03 dentro
do mesmo:
$ rar a fotos.rar foto01.png foto02.png foto03.png
$ rar x fotos.rar
2.55. reboot
Reinicia o sistema.
Sintaxe:
# reboot [opo]
Exemplo de utilizao:
Para rebotar a mquina:
# reboot
# reboot -f
Comandos
do
Terminal
67
2.56. removepkg
O removepgk uma ferramenta do pkgtool, utilizado para remover pacotes no formato pacote.tgz do slackware.
Sintaxe:
# removepkg [opo] [pacote]
Exemplo de utilizao:
Para remover o pacote.tgz.
# removepkg pacote.tgz
2.57. rm
Remove arquivos e diretrios.
Sintaxe:
$ rm [opes] [arquivo e/ou diretrio]
Exemplo de utilizao:
Para remover os arquivos 1, 2 e 3:
$ rm arquivo1 arquivo2 arquivo3
$ rm -r ~/Documentos/Imagens
$ rm -rf ~/Programas/amsn
68
M a n ua l
de
Sobrevivncia
do
Linux
2.58. rmmod
Simples programa utilizado para remover mdulos no Kernel do Linux.
Sintaxe:
# rmmod [opo] [mdulo]
Opes:
-v Mostra mensagens sobre o que o programa est
fazendo.
-f Esta opo pode ser extremamente perigosa.
Com esta opo, voc pode remover mdulos que
esto em uso, que no foram projetados para serem removidos ou marcados como inseguros.
-w Normalmente o rmmod ir recusar remover
mdulos que esto em uso. Com esta opo o
rmmod ir isolar o mdulo e esperar at que o
mdulo no esteja em uso.
Exemplo de utilizao:
# rmmod snd_ac97_codec
2.59. rpm
O RPM (Redhat Package Manager) um sistema criado para controlar a
instalao e desinstalao de pacotes de software na distribuio Linux Redhat.
Como vrias distribuies se basearam na Redhat, elas aproveitaram esse formato para seus controles de pacotes, tal como a Mandrake e a Conectiva. Com
o passar do tempo, estas distribuies adicionaram facilidades ao RPM, como
o urpmi pelo Mandrake para facilitar a obteno dos pacotes de instalao. A
Conectiva foi alm; juntou as facilidades do RPM flexibilidade do sistema
apt-get desenvolvido pela distribuio Debian; e criou o ambiente Synaptic
que controla a instalao e a atualizao de todos os pacotes que compem o
sistema, alm de recuper-los diretamente dos repositrios na internet, tudo
isso num ambiente grfico.
(Contribuio, Jos Queiroz)
Comandos
do
Terminal
69
Sintaxe:
# rpm [opes] [pacotes]
Exemplo de utilizao:
Para instalar um pacote:
# rpm -i pacote.rpm
# rpm -U pacote.rpm
70
M a n ua l
de
Sobrevivncia
do
Linux
Obs.: s vezes um pacote para ser instalado depende de outros pacotes, caso se tente instalar um pacote sem que os outros pacotes que ele necessita esteja instalado,
o rpm se recusa a instal-lo. Nesse caso, preciso especificar todos os pacotes que
faltam na linha de comando. No preciso se preocupar com a ordem dos pacotes
na lista, o rpm os rearranja de forma que todas as dependncias sejam satisfeitas.
Veja um exemplo abaixo:
# rpm -i pacote.rpm pacote2.rpm pacote3.rpm ...
2.60. scp
Permite fazer cpia de arquivos remotamente, utilizando uma autenticao e
transferncia de dados criptografados com o mesmo conceito do comando ssh.
(Contribuio, Eduardo C. Silva)
Sintaxe:
$ scp [opo] [arquivo] [usurio]@[ip da mquina]:[destino]
Exemplo de utilizao:
Usando a mesma idia do ssh, podemos transferir arquivos para um servidor distante atravs da internet:
$ scp arquivo.txt eduardo@192.168.0.3:/tmp/
O comando acima copia o arquivo.txt da mquina corrente para o diretrio /tmp da mquina com ip 192.168.0.3.
Comandos
do
Terminal
71
O comando acima copia o diretrio Imagens recursivamente da mquina corrente para o diretrio /tmp da mquina com ip 192.168.0.3.
Para mais informaes consulte o manual:
$ man scp
2.61. ssh
Comando usado para fazer conexes remotas em sistemas Linux via bash.
O ssh um servio de login remoto, um mtodo muito seguro pois permite a autenticao e transmisso de dados criptografados. Ele trabalha como
server e client, sendo assim, iniciando o servio, voc pode se conectar a uma
mquina remota ou permitir uma conexo na sua mquina.
(Contribuio, Eduardo C. Silva)
Sintaxe:
$ ssh [opo] [usurio]@[ip da mquina]
Exemplo de utilizao:
Caso voc precise se conectar em uma mquina Linux que esteja distante,
ou seja, tem algum problema que precisa ser resolvido urgentemente, basta
voc ter uma conexo a internet e se conectar no servidor desta pessoa, pois a partir dela possvel voc se conectar em qualquer outra mquina da rede via ssh.
$ ssh eduardo@200.199.152.2
O comando acima ir conectar o usurio corrente na mquina do eduardo que contm o ip 200.199.152.2.
$ ssh 200.199.152.2
72
M a n ua l
de
Sobrevivncia
do
Linux
Exemplo:
$ ssh root@192.168.0.3
2.62. su
O comando su utilizado quando precisamos rodar um programa como
se fossemos outro usurio. O su sem parmetros ativa um interpretador de
comandos (prompt/terminal) como root.
(Contribuio, Luciano Martini)
Sintaxe:
$ su [usurio] [opes]
$ su 777Use
$ su -c xf86cfg -textmode
$ su 777Use -c ls -l
Comandos
do
Terminal
73
Observaes/Dicas:
* Sempre que executamos o su para fazer login de qualquer usurio, precisamos fornecer a senha deste usurio, a no ser que estejamos logados
como root, dessa forma o su nunca pergunta senha de nenhum usurio.
* Em scripts de distribuies sem o sudo, podemos substitu-lo por su -c,
colocando aspas nos respectivos comandos. Exemplo: sudo kxconfig, troca-se para su -c kxconfig.
* No podemos usar apenas o su em um script pois ele abre um novo
interpretador de comandos e s termina de ler o script quando o usurio
digitar exit, nesse caso precisamos executar os comandos usando o su -c.
Para mais informaes consulte o manual:
$ man su
2.63. tail
Serve para visualizar o final de um arquivo. muito til para inspecionar arquivos de log onde a informao mais recente, e por isso mais relevante, fica no final.
(Contribuio, Jos Queiroz)
H 3 formas de executar o comando tail:
especificando uma quantidade de linhas a serem impressas no final
do arquivo;
especificando uma quantidade de bytes a serem impressos no final
do arquivo;
especificando para ler continuamente o final do arquivo.
Essas formas so selecionadas atravs de modificadores passados na linha
de comando.
Sintaxe:
$ tail [opo] [arquivo]
Exemplo de utilizao:
Para ler as ltimas 100 linhas do arquivo chamado arquivo.txt:
$ tail -100 arquivo.txt
$ tail -f arquivo.txt
74
M a n ua l
de
Sobrevivncia
do
Linux
2.64. tar
utilizado para agrupar ou desagrupar arquivos e/ou diretrios. Tambm
utilizado para compactao. Utiliza os compressores gzip (-z) e bzip2 (-j)
Sintaxe:
$ tar [opes] [arquivo.tar] [contedo a ser compactado]
Comandos
do
Terminal
75
2.65. top
Utilizado como monitor do sistema, mostra as atividades do processador
e memria em tempo real. Exibe as tarefas que esto sendo executadas na
CPU, como: PID (nmero do processo em execuo), USER (usurio pertencente ao processo), %CPU (Porcentagem utilizada do CPU correspondente
ao processo), %MEM (Porcentagem utilizada da memria correspondente ao
processo) e COMMAND (nome ou linha do processo).
76
M a n ua l
de
Sobrevivncia
do
Linux
Sintaxe:
$ top [opo]
Exemplo de utilizao:
Para atualizar a tela de 5 em 5 segundos:
$ top -d 5
$ top -s
$ top -i
$ top -c
Comandos
do
Terminal
77
2.66. umount
Desmonta dispositivos, sejam eles locais ou remotos
(Contribuio, Luciano Martini)
Sintaxe:
# umount [opes] (ponto de montagem) [dispositivo]
Opes:
-v Ativa o modo verbose, ou seja, ativa uma descrio de aes mais completas.
-n Faz com que o umount desmonte uma partio sem relatar no arquivo /etc/mtab (isso pode
fazer com que o sistema acredite que a partio
ainda est montada).
-r Caso ocorra uma falha durante o momento de
desmontar, essa opo leva a partio para o
modo somente leitura (til para o fsck).
-a Esta opo tenta desmontar todos os dispositivos
montados que estejam relatados no /etc/mtab.
-t (sistema de arquivos) Esta opo permite que o usurio fornea manualmente o tipo de partio usada.
-f Fora a desmontagem do dispositivo.
-O (opes) Permite especificar opes como no arquivo
/etc/fstab para uma partio.
-d Se um dispositivo estiver no modo loop, libera
este dispositivo.
Exemplo de utilizao:
Para desmontar a partio que tem como ponto de montagem
/mnt/hda1:
# umount /mnt/hda1
# umount /dev/hda2
78
M a n ua l
de
Sobrevivncia
do
Linux
2.67. unalias
Remove os nomes (alias) criados.
Sintaxe:
$ unalias [alias criado]
ou
$ unalias -a
Exemplo de utilizao:
Para remover o alias fazer-backup:
$ unalias fazer-backup
$ unalias -a
2.68. uname
Exibe informaes sobre o sistema.
Sintaxe:
$ uname [opo]
Exemplo de utilizao:
Para exibir toda informao, na seguinte ordem abaixo:
$ uname -a
Linux horus 2.6.8-1-686-smp #1 SMP Thu Nov 25 04:55:00 UTC 2004 i686 GNU/Linux
$ uname -s
Linux
$ uname -n
horus
$ uname -r
2.6.11-1-k7
Comandos
do
Terminal
79
$ uname -v
#1 Thu May 19 18:03:29 JST 2005
$ uname -m
i686
$ uname -o
GNU/Linux
2.69. unzip
Descompacta, lista e testa arquivos compactados com ZIP.
Sintaxe:
$ unzip [opo] arquivo.zip
Exemplo de utilizao:
Para extrair o contedo do arquivo fotos.zip:
$ unzip fotos.zip
$ unzip -l fotos.zip
$ unzip -t fotos.zip
2.70. upgradepkg
O upgradepkg uma ferramenta do pkgtool, utilizado para atualizar um
pacote para a verso mais nova disponvel, atualizando a verso atualmente
instalada no sistema.
80
M a n ua l
de
Sobrevivncia
do
Linux
Sintaxe:
# upgradepkg [nome do pacote]
Exemplo de utilizao:
Para atualizar o pacote.tgz:
# upgradepkg pacote.tgz
2.71. uptime
Mostra a hora atual, quanto tempo o sistema est em funcionamento, ou
seja, quanto tempo a mquina est ligada, o nmero de usurios conectados e a
mdia de leitura do sistema sobre os ltimos 1, 5, e 15 minutos.
Sintaxe:
$ uptime
Exemplo de utilizao:
$ uptime
16:44:48 up 2:58, 1 user, load average: 0.45, 0.67, 0.63
Na ordem temos: hora atual, tempo em que a mquina est ligada, nmero
de usurios e mdia de leitura.
Para mais informaes consulte o manual:
$ man uptime
2.72. urpm
O urpm um sistema de gerenciamento de pacotes similar ao apt-get, desenvolvido pela Mandrake para sua distribuio. Como o apt-get do Debian;
o urpm instala e remove programas, atualiza todo o sistema gerenciando a
base de dados do sistema.
Sintaxe:
# urpm [opes] [pacotes]
Exemplo de utilizao:
Para instalar o programa xmms:
# urpmi xmms
Comandos
do
Terminal
81
# urpmi --auto-select
# urpme xmms
# urpmq xmms
# urpmq --list
82
M a n ua l
de
Sobrevivncia
do
Linux
# urpmi.removemedia -a
# urpmi.update -a
Dica: Se voc utiliza uma banda larga, remova todas as suas mdias
(o padro do urpmi buscar somente na mdia main que contm
os pacotes existentes no CD-ROM) e instale novas, buscando no site
http://easyurpmi.zarb.org/:
Para instalar novas mdias, siga os passos abaixo:
1. Escolha a verso do seu Mandrake em Mandrake version:, logo em
seguida escolha a arquitetura que utiliza em and architecture:. Se
no souber, deixe marcado i586 e clique em proceed to step 2;
2. Essa a parte que voc escolhe as mdias que sero instaladas.
Voc pode selecionar todas sem nenhum problema, mas caso no
queira, selecione pelo menos as trs primeiras: contrib, main e
updates;
3. Selecione o servidor de onde deseja baixar as fontes, use o que estiver mais prximo, note que existe um servidor do Brasil.
4. Selecionado as mdias e escolhido os servidores, clique em proceed to step 3, note que ir gerar as mdias junto com seus respectivos servidores, basta adicionar uma por uma. Aps adicionar,
atualize todas as mdias.
Para mais informaes consulte o manual:
$ man urpm
2.73. users
Lista os nomes de usurios (login) logados no sistema.
Sintaxe:
$ users
Exemplo de utilizao:
$ users
root tales
Comandos
do
Terminal
83
2.74. w
Exibe os usurios que esto utilizando o sistema, e os seus processos.
Sintaxe:
$ w [opes] [usurio]
Exemplo de utilizao:
tales@horus:~$ w
18:06:16 up 6:36, 2 users, load average: 0,67, 0,73, 0,83
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 - 18:05 51.00s 0.48s 0.48s -bash
tales :0 - 11:31 ?xdm? 1:12m 0.00s -:0
Descrio:
USER Usurios logados no sistema.
TTY Nome do terminal em que o usurio se encontra logado.
FROM De onde o usurio logou, exemplo: ssh, telnet,
localmente etc.
LOGIN@ Horrio em que o usurio efetuou o login no
sistema.
IDLE Tempo de ociosidade.
JCPU Mostra o tempo usado por todos os processos
unidos ao tty.
PCPU Mostra o tempo usado pelo processo atual.
WHAT Qual programa o usurio est rodando.
Para mais informaes consulte o manual:
$ man w
84
M a n ua l
de
Sobrevivncia
do
Linux
2.75. wget
Gerenciador e restaurador de downloads. Com certeza esse programa um
dos mais utilizados e essencial para o Linux.
Sintaxe:
$ wget [opes] [URL]
Exemplo de utilizao:
Para baixar o arquivo pacote3.deb para o diretrio atual:
$ wget http://linuxhard.org/downloads/pacote3.deb
$ wget -c http://www.linorg.usp.br/iso/kalango.iso
$ wget -m http://tales.linuxhard.org/
2.76. whereis
Procura por binrios, arquivos fonte, arquivos de configurao e pginas
do manual.
Sintaxe:
$ whereis [opo] [comando ou nome do programa]
Exemplo de utilizao:
Para procurar apenas por binrios. No exemplo abaixo o comando
whereis procura por binrios do programa mplayer:
$ whereis -b mplayer
$ whereis -m xmms
Comandos
do
Terminal
85
$ whereis -s kernel
2.77. who
Mostra quem est acessando o sistema. Exibe informaes sobre os usurios logados, incluindo data, hora e quem entrou e saiu do sistema.
Sintaxe:
$ who [opo] [Arquivo]
Exemplo de utilizao:
Para exibir quais usurios esto acessando o sistema:
$ who
$ who -b
$ who -d
$ who -l
$ who -q
2.78. whoami
Exibe o nome de login do usurio no sistema.
Sintaxe:
$ whoami
86
M a n ua l
de
Sobrevivncia
do
Linux
Exemplo de utilizao:
tales@horus:~$ whoami
tales
2.79. yum
O yum um timo gerenciador de pacotes, muito utilizado nas distribuies Red Hat e Fedora, com ele voc pode instalar, remover e atualizar pacotes; e atualizar todo o sistema com um simples comando. Os comandos so
simples de guardar, pois se assemelham muito aos comandos do atp-get.
Sintaxe:
# yum [comando] [pacote]
Exemplo de utilizao:
Para atualizar a lista de pacotes:
# yum update
# yum check-update
# yum upgrade
Comandos
do
Terminal
87
Obs.: Para manter sempre o yum.conf (lista de mirros) atualizados, proceda da seguinte maneira:
# rm -f /etc/yum.conf
# wget /etc/http://www.fedorafaq.org/samples/yum.conf
2.80. zip
Compactador de arquivos. O compactador zip considerado um timo
programa pois alm de ser compatvel com todos os sistemas operacionais
apresenta uma garantia com o arquivo. Caso o arquivo.zip copiado esteja
corrompido, o mesmo no ir abrir, acusando erro.
Sintaxe:
$ zip [opo] [arquivo.zip] [contedo]
Exemplo de utilizao:
Para compactar os arquivos 1, 2 e 3 dentro do arquivo documentos.zip.
$ zip documentos.zip arquivo1 arquivo2 arquivo3
88
M a n ua l
de
Sobrevivncia
do
Linux
pg. 29
pg. 69
Debian
apt-get Consulte
dpkg Consulte
pg. 29
pg. 42
Fedora
rpm Consulte
yum Consulte
pg. 69
pg. 87
Gentoo
emerge Consulte
pg. 43
Mandrake
urpm Consulte
rpm Consulte
pg. 81
pg. 69
pg. 69
Slackware
installpkg Consulte
removepkg Consulte
upgradepkg Consulte
pg. 52
pg. 68
pg. 80
Comandos
do
Terminal
89
90
M a n ua l
de
Sobrevivncia
do
Linux
Dicas Avanadas
3. Dicas Avanadas
3.1. Ambiente Grfico
O Linux, por ser um sistema multiusurio, possibilita que o usurio trabalhe com vrios terminais. Para acessar os terminais, basta teclar simultaneamente CTRL+ALT+Fn, tendo n como o nmero do ambiente desejado.
Sintaxe:
$ startx -- :n
ou
$ xinit -- :n
Sendo n um nmero de 1 a 6
Exemplo de utilizao:
Abra um terminal em modo texto, faa o login com o user que desejar, tecle
CTRL+ALT+F2 e digite:
tales@horus:~$ startx -- :2
D i c a s A va n a d a s 93
3.2. Terminal
3.2.1. Compilando Programas
Muitos j devem ter ouvido falar em compilar um programa no Linux.
Para realizar essa faanha, no preciso ser nenhum expert, ou mesmo saber
programar, basta apenas ter perseverana e pacincia, pois nem sempre consegue-se compilar um programa facilmente. Isso acontece por vrios motivos. Os mais provveis so que, voc no possui os compiladores necessrios,
como gcc, make, entre outros, para compilao, ou falta alguma biblioteca
necessria, ou existe um conflito entre as verses dos arquivos, entre outras
coisas. Na verdade Compilar um programa depende muito do programa
que ir ser compilado, pois muitos programas no seguem um padro.
Geralmente os cdigos fontes (source) dos programas para serem compilados vem nos formatos:
arquivo.tar.gz
arquivo.tar.bz2
Quando voc pega um source para ser compilado, o mesmo vem compactado. Aps descompact-lo, extrado um diretrio onde se encontra os
arquivos para que o programa possa ser compilado. Alguns arquivos importantes so: README, INSTALL e configure.
Aps descompactar o arquivo Mplayer-*.tar.bz2, ser extrado o diretrio Mplayer-*, onde encontra-se os arquivos para compilao. Entre no
diretrio para comear a compilao.
$ cd Mplayer-*
94
M a n ua l
de
Sobrevivncia
do
Linux
Este comando utilizado para configurar o programa antes que seja compilado. Por exemplo, no caso do mplayer, caso queira compilar o programa na
linguagem portugus do Brasil, utilizado o parmetro:
$ ./configure --language=pt_BR
Para saber de todas as informaes que seu programa dispe para ser utilizada a compilao, utilize o seguinte comando:
$ ./configure --help
Iro aparecer vrias opes, para utilizar mais de uma coloque espao ( )
entre uma opo e outra.
Aps executar o comando ./configure, verifique se no aparece nenhum
erro no final da execuo, caso no aparea, comece a compilar o programa.
Obs.: Se aparecer algum erro, voc ter que resolv-lo. No poder passar
para o prximo passo que a compilao. Isso tambm vale para o comando make, voc s poder prosseguir para o prximo passo, caso no
haja nenhum erro. No caso do comando ./configure gerado um log
(configure.log) com todas as informaes de configurao que podero
lhe auxiliar para resolver o erro.
Dependendo do desempenho de sua mquina e do programa a ser compilado, esse processo pode demorar alguns minutos.
$ make
Note que este ltimo comando requer privilgios do root (#), pois ir instalar o programa que foi compilado no sistema.
Caso no aparea nenhum erro, voc conseguiu compilar o programa e j
pode utiliz-lo.
D i c a s A va n a d a s 95
3.2.3. Permisso
Como foi descrito rapidamente sobre as permisses em Conceitos
Bsicos, irei descrever mais detalhadamente como trabalhar com as permisses nos dois modos literal e numrico. O primeiro (literal) pouco
utilizado por ser mais extenso de se aplicar e ser preciso digitar mais linhas,
o segundo (numrico) utilizado com muita freqncia por sua facilidade,
96
M a n ua l
de
Sobrevivncia
do
Linux
praticidade e apresentar apenas uma seqencia de trs nmeros em sua forma bsica que constituem a permisso.
Primeiramente o comando que d ou retira a permisso de um arquivo/diretrio o chmod.
As trs partes que compem a permisso de um arquivo so:
Dono Quem criou e a quem pertence o arquivo.
Grupo Usurios no mesmo grupo compartilham as
mesmas autorizaes de acesso.
Outros No so donos nem pertencem aos grupos.
Composio das permisses:
dono
grupo
outros
todos
adiciona permisso
retira permisso
D i c a s A va n a d a s 97
98
M a n ua l
de
Sobrevivncia
do
Linux
Por que utilizar a seqencia acima ? Muito simples, a leitura sempre feita
da esquerda para a direita, como usamos normalmente para escrever. Veja a
permisso abaixo:
-rwxrwxrwx
D i c a s A va n a d a s 99
Obs.: Dependendo do tipo de permisso que ser aplicada, pode ser que
seja mais vantajoso utilizar o modo literal, como nos exemplos 3 e 4 literais. No exemplo 3 foi retirada a permisso apenas do dono e no exemplo
4 foi adicionada a permisso de execuo para todas as partes.
Primria Master.
Primria Slave.
Secundria Master.
Secundria Slave.
100
M a n ua l
de
Sobrevivncia
do
Linux
muitos mitos em torno disso, os firewalls no fazem milagres, apenas adicionam uma camada extra de proteo escondendo as vulnerabilidades das
mquinas.
(Contribuio, Carlos E. Morimoto)
Voc pode ter um servidor IIS ativo com todas as vulnerabilidades possveis dentro da sua rede, mas ningum poder fazer nada se no conseguir se
conectar ele. Este o papel do firewall, limitar e filtrar os acessos aos servidores e estaes de trabalho da sua rede.
Existem vrios tipos de firewall, de todos os preos. Os tipos mais simples
e ao mesmo tempo mais eficazes para PCs domsticos so os firewalls de
bloqueio, onde voc simplesmente fecha todas as portas do micro (ou deixa
aberta apenas as portas de que voc realmente precisa). Se ningum consegue
se conectar a seu PC, 90% das brechas de segurana so anuladas.
Outro ponto comum a necessidade de compartilhar a conexo com a
Web. Isto permite que dois ou mais micros usem a mesma conexo, sem a
necessidade de contratar um servio adicional s para isso.
Isso pode ser feito facilmente atravs do Iptables. A receita funciona em
qualquer distribuio que utilize um Kernel acima do 2.2. Basicamente qualquer coisa que voc ainda possa querer usar hoje em dia.
Existem vrios programas grficos para a configurao de firewalls, como
por exemplo o GuardDog e o Shorewall (usando no RedHat e Mandrake).
Estes programas tambm que trabalham com o Iptables, servindo apenas
para facilitar a configurao, criando as regras a partir das escolhas feitas pelo
usurio.
A configurao do Iptables tambm pode ser feita diretamente via terminal, bastando que voc insera as regras uma a uma. Como as regras se perdem
ao reiniciar o micro, deve-se criar um script para que elas sejam recriadas
automaticamente a cada reboot.
O Iptables to verstil que pode ser usado para quase tudo relacionado a
inspeo, encaminhamento e at mesmo alterao de pacotes. Se ele no fizer
algo possvel criar um mdulo que o faa, j que as suas possibilidades so
infinitas, mas seu tempo no. Fique com algumas regras simples que resolvem
a maior parte dos problemas do dia a dia. A partir da voc pode ir se aperfeioando e desenvolvendo solues mais sofisticadas.
Antes de mais nada, voc precisa verificar se o pacote do iptables est instalado. Se voc estiver no Mandrake basta dar um urpmi iptables. Se voc
estiver no Debian, Kurumin ou Conectiva, um apt-get install iptables resolve.
Vamos ento criao das regras que determinam o que entra e o que no
entra na mquina. Se o seu micro est ligado apenas internet, sem uma rede
D i c a s A va n a d a s 101
local, ento so necessrias apenas duas regras para resolver o problema. Abra
um terminal, faa o login como root e digite os comandos:
# iptables -A INPUT -p tcp --syn -j DROP
# iptables -A INPUT -i ppp0 -p udp --dport 0:30000 -j DROP
Isso far com que o micro passe a ignorar conexes vindas em qualquer
porta TCP, sem enviar sequer uma confirmao de que o pacote foi recebido.
Voc continuar conseguindo acessar a internet normalmente, mas ningum
conseguir se conectar diretamente ao seu PC; um servidor Web ou SSH que
voc esquea de desativar passaria despercebido. Apenas as conexes iniciadas
por voc so aceitas, o que permite que alguns programas de compartilhamento como o gtkgnutella e o Kazza continuem funcionando normalmente.
A segunda regra opcional (dica do Fabrcio Carvalho), ela bloqueia tambm parte das portas UDP adicionando uma camada extra de segurana.
O efeito colateral que alguns programas que abrem servidores podem
deixar de funcionar. Voc no conseguir mais receber arquivos pelo ICQ,
por exemplo se estivesse acessando atravs de uma conexo compartilhada
via NAT.
O interessante que voc pode desativar o firewall a qualquer momento,
para isso basta um nico comando:
# iptables -F
Isso elimina todas as regras do Iptables, fazendo com que seu micro volte
a aceitar todas as conexes. Voc pode us-la para permitir que algum se conecte rapidamente via ssh na sua mquina, por exemplo, e depois fechar tudo
novamente reinserindo as regras anteriores.
Se voc tiver uma rede local e quiser que os micros da rede interna sejam
capazes de se conectar normalmente, mas mantendo o bloqueio a tudo que
vem da internet, basta dar um iptables -F e comear de novo, desta vez adicionando primeiro a regra que permite os pacotes vindos da rede local:
# iptables -A INPUT -p tcp --syn -s 192.168.0.0/255.255.255.0 -j ACCEPT
102
M a n ua l
de
Sobrevivncia
do
Linux
Agora tudo o que vem na porta 22 (tanto da Internet quanto da rede local) aceito, tudo o que vem da rede local aceito e todo o resto rejeitado.
Voc pode adicionar mais linhas para abrir outras portas. Se voc quiser abrir
tambm as portas 1021 e 1080, a lista ficaria assim:
#
#
#
#
#
Isso permite que voc mantenha disponveis apenas os servidores que voc
realmente quer disponibilizar e nos momentos que quiser. A qualquer tempo
voc pode dar um iptables -F e readicionar apenas as regras para fechar
tudo.
Para abrir de uma determinada porta a outra, ou seja, uma seqncia de
portas, usa-se os dois pontos (:) para separar a seqncia. Veja um exemplo
abaixo:
# iptables -A INPUT -p tcp --destination-port 6891:6893 -j ACCEPT
D i c a s A va n a d a s 103
nexo em si pode ser feito com apenas trs comandos. Para compartilhar a
conexo do modem com a rede local:
# modprobe iptable_nat
# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
# echo 1 > /proc/sys/net/ipv4/ip_forward
104
M a n ua l
de
Sobrevivncia
do
Linux
D i c a s A va n a d a s 105
Em seguida, d permisso de execuo para o arquivo (chmod +x /usr/local/bin/meu_firewall) e voc ter um shell script que pode ser chamado a
qualquer momento, bastando digitar: meu_firewall
Para tornar a inicializao realmente automtica, voc precisa apenas colocar o comando em um dos arquivos de inicializao do sistema. Abra o arquivo /etc/rc.d/rc.local e adicione a linha:
/usr/local/bin/meu_firewall
106
M a n ua l
de
Sobrevivncia
do
Linux
Glossrio
rvore de Diretrio
Organizada a estrutura dos arquivos,
dividindo-os em: raiz, diretrios e subdiretrios.
Bash
O bash uma espcie de tradutor entre o
sistema operacional e o usurio. Permite
a execuo de sequncias de comandos
escritas em arquivos de texto, so os
scripts de shell ou shell scripts.
Firewall
um mecanismo de filtragem de dados
que somente permite a transmisso e
recepo de dados autorizados. O Firewall um mecanismo extremamente
importante para a segurana das redes
de computadores, principalmente na
internet, pois evita, ou diminui a possibilidade de invaso dos computadores e
consequentemente do sistema.
Comando
D-se este nome ao texto que executa um
ou vrios programas. Ex.:
$ man xinit
Host
o nome dado a qualquer computador
ou usurio conectado a uma rede.
IRQ
Uma IRQ (abreviao para Interrupt
Request) a forma pela qual componentes de hardware requisitam tempo
computacional da CPU. Uma IRQ a
sinalizao de um pedido de interrupo
de hardware.
Kernel
Kernel, que na traduo literal significa
cerne, o ncleo do programa, sendo
este responsvel por todo o gerenciamento dos recursos do sistema, alm de
possibilitar o ambiente para a execuo
dos aplicativos - ambientes grficos;
editores de texto, imagem e som etc.
Login
o nome dado ao ato de acessar (ou pela
traduo literal in significa entrar em)
um computador, sistema ou rede. Login
tambm o nome dado ao usurio, sendo correspondido por um conjunto de
caracteres especficos determinados pelo
adminstrador do sistema. Geralmente
necessrio o uso de senha para que seja
efetuado.
G l o s s r i o 107
Logout
o ato contrrio ao login, ou seja, o
ato de sair de um computador, sistema
ou rede. A palavra out em sua traduo
literal significa exatamente sair.
Pacote
Pacote ou trama a estrutura de dados
unitria que circula numa rede de computadores. A informao a transmitir
poder ser fragmentada (normalmente
quando excedem o tamanho limite do
pacote) e os fragmentos podem seguir
caminhos diferentes. Este termo pode
tambm significar um grupo ou conjunto de programas que possibilitam a
instalao de um sistema operacional,
aplicativo etc.
Screenshot
Captura da tela do computador transformando-a em um arquivo de imagem.
Nome tambm utilizado para indicar a
imagem no plano de fundo de um ambiente grfico.
Script
Scripts so arquivos contendo linguagem
interpretada; so normalmente chamados de arquivos de script ou scripts em
vez de executveis. Os Scripts precisam
de softwares interpretadores porque so
blocos de cdigos no compilados, que
so interpretados durante a execuo.
Servios RPC
A Chamada de Procedimento Remoto
ou RPC (Remote Procedure Call) o
Pacotes FIN
tipo de protocolo para chamada remota
So pacotes que finalizam a ligao de
de procedimentos em qualquer lugar da
uma seo TCP.
rede ou uma chamada de funo para o
mtodo de transferncia de controle de
Partio
parte de um processo para outro. PerSo subdivises dentro de um mesmo
mite a diviso de um software em vrias
disco rgido (HD). Ou seja, dentro de um partes, compartilhamento de arquivos e
mesmo HD podemos ter vrias parties, diretrios.
tambm chamadas de drivers, que so
indicados por letras. Ex.: Dentro do HD- TCP Wrappers
A podemos ter os drivers C, D, E ... etc,
O TCP wrappers tambm uma ferrarespeitando a capacidade do HD, ou seja menta de segurana; so pacotes utilizaum HD de 60 Gibabytes pode ser dividi- dos para controlar o acesso a servios.
do em 3 drivers de 20 Gigabytes, ou 6 de
USB
10 Gigabytes, e assim por diante.
Universal Serial Bus (USB) um tipo
PCI
de conexo Plug and Play que permite a
O barramento PCI (Peripheral Comconexo de perifricos sem a necessidade
ponent Interconnect - Interconector de
de desligar o computador.
Componentes Perifricos) um elemento
utilizado para conectar perifricos em
computadores baseados na arquitetura
IBM PC.
108
M a n ua l
de
Sobrevivncia
do
Linux