Anda di halaman 1dari 42

UNISUL

Curso de Tecnologia de Redes





Administrao de Sistemas
Operacionais I




Prof. Luiz Otvio

Unisul Tecnologia de Redes Prof. Luiz Otvio
1 O que administrar uma rede de computadores......................................................................................... 3
2 Explorando o sistema de arquivos .............................................................................................................. 3
3 Instalao de servidores (ferramenta Linux) .............................................................................................. 6
3.1 Principais distribuies Linux ............................................................................................................ 6
3.2 Preparao para a instalao do seu servidor...................................................................................... 6
3.3 Estratgias de particionamento........................................................................................................... 7
3.4 Parties por tipos de servidores ........................................................................................................ 8
3.5 A partio de swap ............................................................................................................................. 8
3.6 Correes de falhas na instalao....................................................................................................... 9
3.6.1 Determine se est vulnervel ...................................................................................................... 9
3.6.2 Proteja-se .................................................................................................................................... 9
3.7 Drives do Linux................................................................................................................................ 12
4 Comandos Bsicos.................................................................................................................................... 12
a - Inicializa e termina uma sesso................................................................................................................... 12
b - Reinicializa ou desliga o computador ......................................................................................................... 12
e - Metacaracteres............................................................................................................................................. 13
5 Conceitos de permisses de arquivos ....................................................................................................... 14
5.1 Interpretando permisses de arquivos .............................................................................................. 15
5.2 Modificando permisses................................................................................................................... 16
6 O Kernel ................................................................................................................................................... 17
6.1 O que significa uma nova verso (ex: verso 2.6) ............................................................................ 17
6.1.1 Quem faz o kernel..................................................................................................................... 18
7 Instalao de programas ........................................................................................................................... 18
7.1 Gerenciador de pacotes..................................................................................................................... 18
7.2 Programas fonte - .tgz ou .tar.gz....................................................................................................... 18
7.3 Patches.............................................................................................................................................. 19
7.4 APT ( Advanced Package Tool) ....................................................................................................... 19
8 Mdulos.................................................................................................................................................... 19
8.1 Comandos para o gerenciamento de mdulos .................................................................................. 20
8.2 Arquivos de configurao................................................................................................................. 21
8.3 Exemplo de utilizao de mdulos................................................................................................... 22
8.3.1 Instalao de ZIP-Drive de porta paralela ................................................................................ 22
8.3.2 Instalao de mdulos CD-RW IDE......................................................................................... 23
9 Editores de texto....................................................................................................................................... 24
9.1 Editor vi............................................................................................................................................ 24
9.2 Editor mcedit .................................................................................................................................... 24
10 SHELL.................................................................................................................................................. 25
10.1 Comandos de manipulao das variveis de ambiente..................................................................... 25
10.2 As variveis do ambiente bash ......................................................................................................... 25
10.3 Aliases (sinnimos ou apelidos) ....................................................................................................... 26
10.4 Redirecionamento e pipes................................................................................................................. 26
10.5 Arquivos de configurao do comando bash.................................................................................... 27
10.6 Programao Shell............................................................................................................................ 27
10.6.1 Shell scripts .............................................................................................................................. 27
10.6.2 Quoting..................................................................................................................................... 27
10.6.3 Formas de comando.................................................................................................................. 27
10.6.4 Operadores................................................................................................................................ 28
10.6.5 Teste de Condies................................................................................................................... 28
10.6.6 Substituio do Til.................................................................................................................... 28
10.6.7 Expanses................................................................................................................................. 29
10.6.8 Entrada interativa...................................................................................................................... 29
10.6.9 Expresses aritmticas.............................................................................................................. 29
10.6.10 Estruturas condicionais......................................................................................................... 29
10.6.11 Estruturas de lao.................................................................................................................. 30
10.7 Funes............................................................................................................................................. 31
10.8 Exerccios: ........................................................................................................................................ 31
1
Unisul Tecnologia de Redes Prof. Luiz Otvio
11 Processo INIT....................................................................................................................................... 32
11.1 SysV init ........................................................................................................................................... 32
11.2 Comandos service e ntsysv............................................................................................................... 33
11.3 Desligando o sistema........................................................................................................................ 33
11.4 Perda da senha de root ...................................................................................................................... 33
12 Gerenciamento de sistemas de arquivos ............................................................................................... 34
13 Configurao do TCP/IP no Linux....................................................................................................... 35
Instalando uma mquina em uma rede existente. Se voc quiser instalar uma mquina GNU/Linux em
uma rede TCP/IP existente ento voc deve contatar qualquer um dos administradores da sua rede e
perguntar o seguinte: ................................................................................................................................ 35
13.1............................................................................................................................................................... 36
13.2 Configurao da interface Ethernet .................................................................................................. 36
13.3 A interface loopback......................................................................................................................... 36
13.4 Configurando uma interface durante o boot ..................................................................................... 36
13.5 Definindo diversos endereos IP para a mesma interface................................................................. 37
13.6 Configurando uma rota no Linux ..................................................................................................... 38
13.7 Automatizando processos na rede .................................................................................................... 38
13.8 Hostname.......................................................................................................................................... 39
Arquivos de configurao......................................................................................................................... 39
13.9 O arquivo /etc/hosts.......................................................................................................................... 39
13.10 O arquivo /etc/networks................................................................................................................ 39
13.11 O arquivo /etc/resolv.conf ............................................................................................................ 40
Outros arquivos de configurao relacionados com a rede ...................................................................... 40
13.12 O arquivo /etc/services ................................................................................................................. 40
2
Unisul Tecnologia de Redes Prof. Luiz Otvio
ADM SO I
ADMINISTRAO DE SISTEMAS OPERACIONAIS
(Ferramenta utilizada LINUX)

1 O que administrar uma rede de computadores

Administar uma rede compreende na verificao do desempenho de processos, implantao e
manuteno de hardware e software bsico utilizados no desenvolvimento de aplicaes e servios de rede.
Gerenciar redes de comunicao pode ser definido como a coordenao (controle de atividades e
monitorao do uso) de recursos fsicos (impressoras, roteadores,etc) e/ou lgicos (protocolos) da rede
(telecomunicaes ou dados), distribudos fisicamente, dando uma maior confiabilidade, segurana das
informaes e maximizando a sua eficincia e produtividade.

2 Explorando o sistema de arquivos

Um sistema de arquivos a coleo de arquivos e a hierarquia de diretrios em um sistema.
O diagrama abaixo mostra um exemplo de rvore de diretrios que pode dar uma idia de como
esta pode estar organizada em um sistema.

/
bin
dev
etc
home
lib
proc
tmp
usr
var
otavio
flamengo
otavio
bin
emacs
etc
network
include
lib
local
man
src
spool
log
linux
bin
emacs
etc
lib



Mude para o diretrio root ( "cd /" ), e entre "ls -F" para mostrar uma lista do seu contedo.
Provavelmente sero visualizados os seguintes diretrios: bin, dev, etc, home, install, lib, mnt, proc, root, tmp,
user, usr, e var.

/bin

/bin uma abreviatura para "binrios", ou executveis. onde residem a maioria dos programas
bsicos do sistema. Use o comando "ls -F /bin" para listar os arquivos. Alguns arquivos como cp, ls e mv, so
arquivos que contm os programas para esses comandos. Quando se executa cp, est sendo executado o
programa /bin/cp.
Usando "ls -F" ser visto que a maioria (se no todos) dos arquivos em /bin tm um asterisco ("*")
acrescentado ao final de seus nomes. Isso indica que so arquivos executveis.

3
Unisul Tecnologia de Redes Prof. Luiz Otvio
/dev

Os arquivos em /dev so conhecidos como controladores de dispositivo (device drivers) so usados
para acessar os dispositivos ou recursos do sistema, como discos rgidos, modems, memria, etc. Por
exemplo, da mesma forma que se pode ler dados de um arquivo, pode-se tambm ler a entrada do mouse
/dev/mouse.
Os arquivos que comeam com fd so os controladores de disquete: fd0 o primeiro drive, e fd1 o
segundo. Por exemplo, fd1H1440 acessa discos de 3.5'' de alta densidade no drive 1.
Segue-se uma lista de alguns dos controladores de dispositivos mais usados.
/dev/console faz referncia ao console do sistema, quer dizer, ao monitor conectado em seu
sistema.
Os dispositivos /dev/ttyS e /dev/cua so usados para acessar as portas seriais. Por exemplo,
/dev/ttyS0 faz referncia a "COM1", sob o MS-DOS. Os dispositivos /dev/cua so "callout" e so usados em
conjunto com um modem.
Os nomes dos dispositivos que comeam por hd acessam a discos rgidos. /dev/hda se refere a
todo o primeiro disco, enquanto que /dev/hda1 se refere a primeira partio em /dev/hda.
Os nomes de dispositivo que comeam com sd so dispositivos SCSI. Se voc tem um disco
rgido SCSI, no lugar de acess-lo com /dev/hda, vai acess-lo com /dev/sda. As fitas SCSI so acessadas via
dispositivos st e os CD-ROM SCSI via sr.
Os nomes que comeam por lp acessam as portas paralelas. /dev/lp0 se refere a "LPT1" no
mundo MS-DOS.
/dev/null usado como "buraco negro", qualquer dado enviado a este dispositivo desaparece.
Para que pode ser til isto?. Bem, se deseja suprimir a sada para a tela de um comando, pode enviar a sada
para /dev/null.
Os nomes que comeam por /dev/tty se referem a "consoles virtuais" de seu sistema (acessveis
mediante as teclas Alt-F1, Alt-F2, etc). /dev/tty1 se refere a primeira VC, /dev/tty2 a segunda, etc.
Os nomes de dispositivo que comeam com /dev/pty so "pseudoterminais". So usados para
proporcionar um "terminal" a sesses remotas. Por exemplo, se sua mquina est em uma rede, o telnet de
entrada usar um dos dispositivos /dev/pty.

/etc
/etc contm uma srie de arquivos de configurao do sistema. Isto inclui o /etc/passwd (a base de
dados de usurios), o /etc/rc (instrues de inicializao do sistema), etc.

/sbin
/sbin usado para armazenar programas essenciais do sistema, usados pelo administrador do
sistema.

/home
/home contm os diretrios "home" dos usurios. Por exemplo, /home/otavio o diretrio do
usurio "otavio". Em um sistema recm instalado, esse diretrio estar vazio.

/lib
/lib contm as imagens das bibliotecas compartilhadas. Esses arquivos contm cdigo que
muitos programas compartilham. Ao invs de cada programa ter uma cpia prpria das funes
compartilhadas, elas so guardadas em um lugar comum, o /lib. Isso faz com que os programas executveis
sejam menores e reduzam o espao usado em disco.

/proc
/proc um "sistema de arquivos virtual". Os arquivos que esto no /proc residem
verdadeiramente na memria, e no no disco. Esses arquivos se referem a vrios processos que rodam no
sistema e permitem obter informao sobre programas e processos que esto rodando num dado momento.

/tmp

4
Unisul Tecnologia de Redes Prof. Luiz Otvio
Muitos programas tm necessidade de gerar alguma informao temporria e de guardar essa
informao em um arquivo temporrio. O lugar para esses arquivos o /tmp.

/usr
/usr um diretrio muito importante. Contm uma srie de subdiretrios que por sua vez
contm alguns dos mais importantes e teis programas e arquivos de configurao usados no sistema.
Os vrios diretrios descritos acima so essenciais para o sistema operar, mas a maioria dos itens
no /usr so opcionais. Entretanto, so esses itens opcionais que tornam o sistema til e interessante. Sem o
/usr, voc teria um sistema tedioso que suportaria somente programas como cp e ls. O /usr contm a maioria
dos pacotes grandes de software e os arquivos de configurao que os acompanham.

/usr/X11R6
/usr/X11R6 contm o sistema X Window, se voc o instalou. O sistema X Window um
ambiente grfico poderoso que proporciona um grande nmero de ferramentas e programas grficos,
mostrados em janelas na sua tela. Se voc est familiarizado com os ambientes MS Windows ou Macintosh,
o X Window lhe ser muito familiar. O diretrio /usr/X11R6 contm todos os executveis do X Window,
arquivos de configurao e suporte.

/usr/bin
/usr/bin contm a maioria dos programas executveis no encontrados em outras partes, como
no /bin.

/usr/etc
Como o /etc, contm diferentes arquivos de configurao e programas do sistema, /usr/etc. Em
geral, os arquivos que se encontra em /usr/etc no so essenciais para o sistema, diferentemente dos que se
encontram no /etc.

/usr/include
/usr/include contm os arquivos include para o compilador C. Esse arquivos (a maioria dos
quais termina com .h, de "header") declaram estruturas de dados, subrotinas e constantes usadas no
desenvolvimento de programas em C. Os arquivos que se encontram em /usr/include/sys geralmente so
usados quando programando no nvel do sistema UNIX. Se voc est familiarizado com programao C,
encontrar arquivos como stdio.h, o qual declara funes como printf().

/usr/lib
/usr/lib contm as bibliotecas "stub" e "static" equivalentes aos arquivos encontrados em /lib. Ao
compilar um programa, ele "linkado" com as bibliotecas que se encontram em /usr/lib, as quais direcionam
o programa para o /lib, quando precisa buscar o cdigo real da biblioteca. Alm disso, vrios programas
armazenam arquivos de configurao no /usr/lib.

/usr/local
/usr/local muito parecido ao /usr. Ele contm programas e arquivos no essenciais ao sistema,
mas que tornam o sistema mais completo. Em geral, os programas que se encontram em /usr/local so
especficos do seu sistema, isto , o diretrio /ussr/local difere bastante entre os sistemas UNIX. Aqui
encontrar grandes programas, como o TeX (sistema de formatao de documentos) e Emacs (editor grande e
poderoso), se os instalar.

/usr/man
Esse diretrio contm as pginas de manual. H dois subdiretrios para cada seo de pgina de
manual (use o comando "man " para detalhes). Por exemplo, /usr/man/man1 contm os fontes (isto , o
original no formatado) para as pginas de manual na seo 1, e /usr/man/cat1 contm as pginas de manual
formatadas para a seo 1.

/usr/src
/usr/src contm o cdigo fonte (programas a compilar) de vrios programas do sistema. O
subdiretrio mais importante o /usr/src/linux, que contm o cdigo fonte do kernel do Linux.
5
Unisul Tecnologia de Redes Prof. Luiz Otvio

/var
/var contm diretrios que freqentemente mudam de tamanho ou tendem a crescer. Muitos
desses diretrios residiam antes em /usr, mas desde que estamos tratando de deixar o /usr inalterado, os
diretrios que mudam de tamanho foram levados para o /var. Alguns deles so:

/var/log
/var/log contm vrios arquivos de interesse para o administrador do sistema, especificamente
histricos do sistema, que armazenam erros ou problemas com o sistema. Outros arquivos guardam logins do
sistema, assim como tentativas frustradas.

/var/spool
/var/spool contm arquivos que vo ser passados a outros programas. Por exemplo, se sua
mquina est conectada a uma rede, o correio de entrada ser armazenado em /var/spool/mail at que
voc o leia ou apague. Artigos novos dos News, tanto os que entram quanto os que saem, se encontram em
/var/spool/news, etc.

3 Instalao de servidores (ferramenta Linux)
3.1 Principais distribuies Linux

Seguem algumas distribuies Linux tais como: Mandrake, Debian, Red Hat,
Caldera, Slackware e S.u.S.E, o kernel Linux. O sofware parte da distribuio, no do
Linux. A maior parte do software est disponvel livremente e pode ser portada para vrios
outros UNIX. A principal diferena est no suporte de vrias bibliotecas (software
chamado por cada aplicao).

3.2 Preparao para a instalao do seu servidor

A instalao de um servidor deve ser planejada anteriormente, conforme s
necessidades do ambiente e a disponibilidade de recursos.
Para que a instalao possa ser executada com sucesso, alguns passos devem ser
seguidos:
Verifique quais recursos esto disponveis;
Quais as necessidades de projeto determine quanto servidores sero
necessrios (primrios e secundrios) para atender ao projeto lgico;
Especifique quais hosts iro assumir as funes de servidores, e se estes iro
assumir mais de uma funcionalidade;
Estabelea uma poltica de particionamento dos discos conforme as
especificaes do item anterior, determinando quais as parties sero criadas
fim atender cada servio a ser instalado nos servidores;
Especifique quais mdulos de servios sero instalados;
Realize a instalao conforme as especificaes acima;
Realize os procedimentos de atualizao do sistema operacional (execute
todos os patchs necessrios);
Audite o seu servidor com a finalidade de verificar quais vulnerabilidades
ele possui;
Aps a realizao da auditoria, feche todas as possveis portas de entrada no
sistema que no sero utilizadas.
6
Unisul Tecnologia de Redes Prof. Luiz Otvio

3.3 Estratgias de particionamento

Todos os discos rgidos necessitam ser particionados antes de serem utilizados.
Quando um disco rgido particionado, uma rea especfica do mesmo est sendo
designada para ser utilizada. As parties permitem que um disco rgido seja dividido para
que nem todas as informaes sejam armazenadas na mesma rea.
Existem dois tipos de parties no Linux: primria e estendida. As parties
primrias no podem ser divididas e um disco rgido pode conter at 4 parties primrias
ou trs estendidas; j as parties estendidas podem ser divididas em vrias unidades
lgicas.

drive lgico 1
drive lgico 1
drive lgico 1
Partio estendida

partio primria 1
partio primria 2
partio primria 3

Poucos usurios experientes do Linux vo aconselh-lo a criar uma partio Linux
nativa e uma partio de swap e iniciar a instalao. H muitos motivos para isso, entre eles
a recuperao de parties danificadas, o u atualizaes necessrias. Assim, criam-se vrias
parties nativas Linux.
Durante a instalao, voc deve escolher qual partio ser sua partio root
(principal ou raiz). A partio root definida com "/". Quando nos referenciamos a "/dev"
estamos falando de dois diretrios, "/" e "dev". O kernel do Linux estar localizado na
partio /boot, podendo ser num subdiretrio, desde que este subdiretrio esteja na partio
/.
A seguinte estrutura (no mnimo) ser criada na sua partio root durante a
instalao:

/bin
/dev
/etc
/home
/lib
/lost+found
/proc
/root
/sbin
/usr
/var
7
Unisul Tecnologia de Redes Prof. Luiz Otvio
/boot
/mnt

3.4 Parties por tipos de servidores

Para todos os servidores, as parties / e /boot devem ser criadas. Este item tratar
as parties /var, /usr, /home.

DNS
/var consiste na maior partio, pois necessria para registrar todos os
acessos, manuteno de filas.
/home pequeno tamanho. Poucos usurios sero criados.
/usr o suficiente para armazenar os programas do sistema.

Dados
/var o suficiente para armazenar os log necessrios.
/home consiste na maior parte do sistema. Ir armazenar os dados dos
usurios criados pelo sistema.
/usr o suficiente para armazenar os programas do sistema.

Emails
/var possui uma partio grande capaz de armazenar os logs e as filas
(/var/mail/spool para armazenamento de emails).
/home uma partio grande para armazenar os dados dos usurios de emails.
/usr - o suficiente para armazenar os programas do sistema.

Web
/var - possui uma partio grande capaz de armazenar os logs e as filas
/home possui a maior partio;
/usr - o suficiente para armazenar os programas do sistema.

3.5 A partio de swap

Diferentemente do Windows, o Linux usa uma partio dedicada de swap. Embora
seja possvel criar um arquivo de swap, isto no recomendado. O Linux pode usar at
128MB de swap. Eu recomendaria um mnimo de 80MB, mas quanto mais voc puder
reservar, melhor.
Uma ltima considerao antes de voc decidir como melhor dividir o seu disco.
Lembre-se que foi dito que a BIOS no pode ver alm do setor 1023 no disco (mais ou
menos uns 512MB). Assim, o kernel do Linux (um arquivo com o provvel nome vmlinuz
no seu disco de boot), ou qualquer outro kernel de um sistema operacional, devem residir
integralmente em um dos primeiros dois discos (/dev/hda ou /dev/hdb) e dentro dos
primeiros 1024 setores, ou a BIOS no poder carreg-los. Para assegurar-se de que isso
seja possvel, planeje para fazer com que sua partio root (assim como qualquer partio
de boot) caia inteiramente nesta limitao no primeiro ou segundo disco rgido.
8
Unisul Tecnologia de Redes Prof. Luiz Otvio

3.6 Correes de falhas na instalao

Os sistemas operacionais possuem scripts ou programas que tm por objetivo
instalar os sistemas to rapidamente quanto possvel, com a mxima funcionalidade e com
o mnimo de esforo por parte do administrador. Para atingir este objetivo, os programas
normalmente instalam mais componentes do que a maioria dos usurios necessita. A
filosofia do fabricante que melhor habilitar funes que no so necessrias, do que o
usurio ter que instalar funes adicionais na medida que for preciso. Esta viso, embora
seja conveniente para o usurio, origina a existncia de muitas das mais crticas
vulnerabilidades de segurana, pois os usurios no mantm, nem corrigem componentes
de software no usados. Alm disso, muitos usurios desconhecem o que realmente
instalado, deixando programas perigosos no sistema, simplesmente porque eles no sabem
que esto l.
Estes servios vulnerveis fornecem meios para os atacantes invadirem seus
sistemas.
Nos sistemas operacionais, as instalaes default comumente incluem servios
adicionais, abrindo conseqentemente as portas associadas a eles. justamente por estas
portas que os atacantes costumam invadir. Quanto menos portas abertas, menor a
probabilidade do sistema ser invadido.

3.6.1 Determine se est vulnervel

Caso tenha-se utilizado um programa para instalar um sistema ou servio, e no foram removidos os
servios desnecessrios, como tambm no foram instalados todos os patches de atualizao do sistema, ento
este passvel de ataques.
Mesmo que se tenha seguido os procedimentos adicionais de configurao, ainda
estar vulnervel. preciso que seja executada uma ferramenta de scan de portas e de
vulnerabilidades contra qualquer sistema que ir ser conectado na Internet. Ao analisar os
resultados, tenha-se em mente o princpio que os sistemas devem funcionar com o menor
nmero de servios e de pacotes de software necessrios para executar as tarefas requeridas
pelo sistema computacional. Qualquer servio adicional constitui-se em uma ferramenta
para o atacante, especialmente porque a maioria dos administradores de rede no corrigem
os servios que efetivamente no esto sendo usados.

3.6.2 Proteja-se

Inicialmente, desabilite servios desnecessrios e feche portas no usadas. Devido ao fato que esta
pode ser uma tarefa longa e rdua, muitas das grandes organizaes desenvolveram, para cada sistema
operacional e conjunto de aplicativos usados, diretrizes de instalao padronizadas. Estas diretrizes incluem a
instalao das funcionalidades mnimas necessrias para que o sistema funcione de maneira eficaz (o CIS -
Center for Internet Security desenvolveu um benchmark para avaliar a configurao mnima de segurana em
sistemas Solaris e Windows 2000).
O uso de ferramentas para testar o nvel de segurana e comparar a segurana de sistemas entre as
vrias divises de uma empresa melhoram o nvel de segurana dos servios oferecidos pela Empresa.

Cuidado com senhas

9
Unisul Tecnologia de Redes Prof. Luiz Otvio
A maioria dos sistemas configurada para usar senhas como a primeira, e nica, linha de defesa. A
identidade do usurio (User ID) razoavelmente fcil de obter, e a maioria das companhias oferece acesso
dial-up que comumente dribla o firewall. Consequentemente, se um atacante puder determinar um nome e
uma senha de cliente, poder tambm ter acesso rede. Senhas fceis de adivinhar e senhas default
constituem um problema grave, pior ainda so as contas sem senha. Na prtica, todas essas contas (com
senhas fracas, senhas default, ou pior, sem senhas) devem ser removidas do seu sistema.
Adicionalmente, muitos sistemas tm contas de usurio que fazem parte da
instalao padro, as quais geralmente mantm a mesma senha em todas as instalaes do
software. Os atacantes procuram geralmente por este tipo de contas, amplamente
conhecidas pela comunidade 'blackhat'. Consequentemente, preciso que estas contas
sejam identificadas e removidas do sistema.
Mantenha procedimentos rgidos para remoo de contas de empregados ou
contratados quando saem, ou quando as contas no so mais necessrias. A Poltica de
Segurana da Empresa, com base na BS7799, deve prever:
Uma Poltica de Senhas que estabelea procedimentos para a criao,
alterao e manuteno das senhas dos seus usurios;
Uma poltica de acesso, onde sero determinadas quais usurios tero acesso
a que, quando e como.
Porm, para eliminar os problemas de senha acima citados, duas etapas precisam ser
executadas:
Na primeira, todas as contas sem senhas recebem uma ou so
definitivamente removidas e as senhas fracas so fortalecidas. Infelizmente, quando
solicitado aos usurios fortalecerem as suas senhas, freqentemente eles escolhem
outra igualmente fcil de se adivinhar.
A segunda etapa consiste que as novas senhas, quando alteradas, tambm
precisam ser verificadas. Existem programas especficos que no permitem alteraes
de senha que no esto de acordo com a sua poltica de segurana, os mais populares
so:
Para Unix: Cracklib e mdulos associados do PAM (Linux)
Para Windows NT: Passfilt
Estes programas garantem que as senhas sejam de comprimento e composio tal
que sejam difceis de serem quebradas ou descobertas.
Vale a pena ressaltar que muitas organizaes, de acordo com a sua poltica de
senhas, adicionam programas de controle de senha, mecanismos que garantem que as
senhas sejam mudadas regularmente, e que senhas antigas no sejam reutilizadas, e
ensinam aos seus usurios como criarem as suas senhas (ex: escolher uma frase ou parte de
uma cano que inclua um nmero, e construir a senha da primeira ou segunda letra de
cada palavra que compe a frase, alm de dgitos de quaisquer nmeros). Se a expirao de
senhas for implementada, certifique-se que os usurios sejam alertados a trocar a sua senha
antes dela expirar. Diante de uma mensagem do tipo: "sua senha expirou, ela deve ser
mudada", a maioria dos usurios tende a escolher uma senha fraca.

Backups

Quando um incidente ocorrer (e ocorrer em quase todas organizaes), a
recuperao do incidente requer backups atualizados e mtodos de recuperao dos dados
previamente testados. Algumas organizaes fazem backups dirios, mas nunca verificam
se eles esto realmente funcionando. Outras criam polticas e procedimentos de backup,
10
Unisul Tecnologia de Redes Prof. Luiz Otvio
mas no de restaurao. Freqentemente, tais erros so descobertos somente depois que um
hacker invade os sistemas e os dados so destrudos, ou arruinados de alguma outra
maneira.
Toda a Empresa, conforme a sua Poltica de Segurana, calcada na BS7799, deve
possuir uma poltica de backup que seja compatvel com o negcio da mesma.
Para isso, um inventrio deve ser feito identificando todos os servios crticos e,
para cada um deles, deve ser executado uma anlise identificando o risco e a ameaa
correspondente. As polticas e os procedimentos de backup devem claramente remeter a
estes sistemas. Uma vez identificados os servios crticos, deve ser validado o seguinte:
1. Existem procedimentos de backup para tais servios?
2. O intervalo dos backups adequado?
3. Os backups esto sendo realizados de acordo com os procedimentos?
4. verificada a mdia usada nos backup para certificar-se que os dados esto
sendo armazenados corretamente?
5. A mdia de backup est corretamente protegida, seja ela mantida dentro ou
fora da empresa?
6. Existem cpias do sistema operacional e de aplicativos de restaurao que
sejam armazenadas fora da empresa?
7. Os procedimentos de restaurao foram validados e testados?

Grande nmero de portas abertas
Ambos, tanto os usurios legtimos quanto os atacantes, se conectam aos sistemas
atravs de portas abertas. Quanto maior o nmero de portas abertas, maior a possibilidade
de algum se conectar ao seu sistema. Consequentemente, importante manter o menor
nmero de portas abertas necessrias para o correto funcionamento do sistema, o restante
deve ser fechado.
Para se proteger, os seguintes procedimentos devem ser executados:
Executar o comando netstat localmente a fim de identificar quais portas
esto abertas, no entanto a forma mais confivel de fazer isto utilizando uma
ferramenta de scan de portas (nmap) contra os seus servios. Qualquer ferramenta scan
port que for usada, ela deve ser configurada para varrer todas as portas UDP e TCP no
range 1-65535
O resultado uma lista de todas as portas que esto realmente ativas. Caso
os resultados obtidos atravs do netstat difiram dos obtidos usando a ferramenta de
scan, preciso que se investigue o por qu.
Uma vez que ambas listas coincidam, procure saber por qu cada uma das
portas indicadas est aberta, e o que est sendo executado em cada uma delas.
Toda porta que no puder ser justificada deve ser fechada.
A lista de portas final deve ser gravada e usada para fazer auditorias
regularmente, garantindo assim que no aparea nela nenhuma porta adicional.
Em sistemas Unix, muitos dos servios so controlados pelo super daemon
inetd e seu correspondente arquivo de configurao, inetd.conf. O arquivo inetd.conf
lista os servios associados a uma determinada porta, e freqentemente usado para
fechar portas. Ao remover um determinado servio do arquivo inetd.conf,
reinicializando-o em seguida, se faz com que a porta associada a tal servio seja
fechada. Outros servios so inicializados atravs de scripts, os quais so executados
durante o processo de inicializao do sistema (tais como: /etc/rc, /etc/rc.local, ou
11
Unisul Tecnologia de Redes Prof. Luiz Otvio
scripts encontrados nos diretrios /etc/rc*). Consulte a documentao do sistema para
saber como desabilitar estes scripts, uma vez que o procedimento varia para cada verso
Unix.

3.7 Drives do Linux

Os drives e parties do Linux recebem os seus nomes conforme uma nomenclatura mostrada a seguir. Os
arquivos de dispositivos encontrados no diretrio /dev so utilizados para a comunicao com os dispositivos
em seu sistema. Por exemplo, se for acessar um mouse no seu sistema, ele realizado por meio do arquivo
/dev/mouse:

Dispositivo Nome do drive no Linux
Primeiro disquete /dev/fd0
Segundo disquete /dev/fd1
Primeiro dispositivo IDE /dev/hda
Primeiro dispositivo IDE, partio primria 1 /dev/hda1
Primeiro dispositivo IDE, partio primria 2 /dev/hda2
Primeiro dispositivo IDE, partio primria 3 /dev/hda3
Primeiro dispositivo IDE, partio primria 4 /dev/hda4
Primeiro dispositivo IDE, partio lgica 1 /dev/hda5
Primeiro dispositivo IDE, partio lgica 2 /dev/hda6
Segundo dispositivo IDE /dev/hdb
Segundo dispositivo IDE, partio primria 1 /dev/hdb1
Primeiro dispositivo SCSI /dev/sda
Primeiro dispositivo SCSI, partio primria 1 /dev/sda1

4 Comandos Bsicos

a - Inicializa e termina uma sesso

login cancela a sesso atual e inicia uma nova sesso
logout termina sesso do usurio
exit encerra a shell de comandos corrente

b - Reinicializa ou desliga o computador

reboot - reinicializa o computador
halt desliga o computador

c Ajuda

man - consultas manuais
-h exibe uma mensagem de ajuda
-a exibe todas as pginas do manual
ex: man a ls
info exibe as informaes de um comnado do sistema
para sair do info pressione <Q>
whatis consulta manuais on line a partir de um banco de dados
ex: whatis find
para sair do whatis tecle <Q>

d Navegao

12
Unisul Tecnologia de Redes Prof. Luiz Otvio
cd muda de diretrio
pwd exibe o diretrio corrente
ls ou dir exibe o contedo dos diretrios
-a exeibe os arquivos ocultos
-l listagem com o formato longo
ex: ls a

e - Metacaracteres

? -
- corresponde a todos os caracteres ex: ls se*
[ ] corresponde a qq um dos caracteres entre colchetes
[a-z] corresponde a uma faixa de caracteres ex: ls sessao[1-9] lista arquivos terminados pelos
caracteres 1 at 9

f - Localizao de arquivos

find [caminho] [opes] <nome_arquivo>
-name localiza arquivos ocultos
ex: find / -name data.c
grep procura em um ou mais arquivo por linhas que contm um padro de busca
-i no diferencia maisculas de minsculas na procura
whereis localiza o arquivo binrio, cdigo-fonte e a pgina do manual para um comando
ex: whereis rpm
rpm: /bin/rpm /usr/include/rpm /usr/man/man8/rpm.8
locate localiza arquivos a partir de um banco de dados
ex: locate *.doc localiza todos os arquivos que terminam com a extenso .doc

g - Manipulao de arquivos e diretrios

rm [opes] <arquivos> remove arquivos
-i confirmao antes de deletar
-r apaga recursivamente o contedo de um diretrio
mkdir [opes] <nome-diretrio> cria diretrios
rmdir [opes] <diretrio>
-p remove os diretrios intermedirios caso estejam vazios
mv move ou renomeia arquivos e diretrios
cp copia arquivos
cp <or><dest>
ln cria links para arquivos e/ou diretrios Cria tanto links simblicos (soft links) como diretos (hard
links). Padro = links diretos
-d cria link direto

h - Manipulao de terminal

echo [opes]<mensagem> envia uma mensagem para o terminal
ex: echo alo
clear limpa a tela do terminal virtual corrente

i - Paginao

cat concatena e exibe arquivos
cat > teste01
teste
pressione <Enter>
pressione <Ctrl>+<D>
13
Unisul Tecnologia de Redes Prof. Luiz Otvio
Criou um arquivo com o nome teste01 com o contedo teste
more [opes]<arquivo> exibe arquivos texto
wc faz contagem de palavras, linhas ou caracteres
-l conta as linhas
-c conta os caracteres do arquivo especificado
-w conta as palavras do arquivo especificado
$ wc cidades.txt estados.txt
sort classifica as linhas dos arquivos especificados
-b ignora espaos e tabulaes
-d classifica em ordem de dicionrio
ex: $ sort bd cidades.txt

j - Filtragem

tail [opes]<arquivo> - exibe na sada padro uma quantidade de linhas de texto a partir do final do
arquivo
head [opes]<arquivo> - - exibe na sada padro uma quantidade de linhas de texto a partir do incio do
arquivo
diff [opes]<arquivo1><arquivo2> - exibe na tela as diferenas entre dois arquivos texto
-u utiliza o formato de sada unificado

k - Fracionamento, arquivamento, compactao e descompactao

tar [opes]<arquivo> - armazena ou extrai arquivos e diretrios dentro de um nico arquivo ou
dispositivo
gzip [opes]<arquivo>- compacta um ou mais arquivos
compress [opes]<arquivo> - compacta um ou mais arquivos
uncompress [opes]<arquivo> - descompacta um ou mais arquivos que foram compactados com
compress
gunzip [opes]<arquivo> - descompacta arquivos compactados pelos comandos gzip e compress
bzip2 [opes]<arquivo> compacta um ou mais arquivos
bunzip [opes]<arquivo> descompacta arquivos compactados pelos comandos gzip e compress
zcat, zmore, zless, bz2cat vizualiza o contedo de arquivo texto compactado sem precisar
descompactar o arquivo

5 Conceitos de permisses de arquivos

Como h tipicamente mais de um usurio num sistema Linux, este fornece um
mecanismo conhecido com permisso de arquivos. Este mecanismo protege os arquivos
de usurios de serem mal utilizados por outros usurios. Esse mecanismo permite que
arquivos e diretrios "pertenam" ao um usurio particular. Por exemplo, como Otavio
criou os arquivos em seu diretrio home, o Otavio dono desses arquivos e tem acesso a
eles.
O Linux tambm permite que arquivos sejam compartilhados entre usurios e
grupos de usurios. Se o Otavio desejasse, ele poderia tirar o acesso a seus arquivos de
forma a que nenhum outro usurio poderia acess-los. Entretanto, na maioria dos sistemas,
o padro permitir que outros usurios leiam seus arquivos, mas no possam modific-los
ou exclu-los de alguma forma.
Cada arquivo pertence a um usurio em particular, mas os arquivos tambm
pertencem a um grupo, definido de usurios do sistema. Cada usurio colocado em pelo
menos um grupo quando sua conta criada. No entanto, o administrador do sistema pode
conceder ao usurio o acesso a mais de um grupo.
14
Unisul Tecnologia de Redes Prof. Luiz Otvio
Permisses esto divididas em trs tipos: leitura, escrita e execuo. Essas
permisses podem ser concedidas a trs tipos de usurios: o dono do arquivo, o grupo ao
qual o arquivo pertence, e a todos os usurios, independentemente de grupo.
A permisso de leitura permite que um usurio leia o contedo do arquivo e,
no caso de diretrios, liste o contedo do diretrio (usando ls).
A permisso de escrita permite que o usurio escreva e/ou modifique o
arquivo. Para diretrios, a permisso de escrita permite que o usurio crie
novos arquivos ou exclua arquivos naquele diretrio.
A permisso de execuo permite que um usurio execute um arquivo como
um programa ou script de shell (o arquivo precisa ser um programa ou script
de shell). Os diretrios que possuem permisso de execuo, possibilita que o
usurio acesse o diretrio em questo (com o comando cd).

5.1 Interpretando permisses de arquivos

Observe o exemplo que demonstra permisses de arquivos. Usando o comando ls
com a opo "-l" mostra uma listagem mais completa do arquivo, incluindo permisses de
arquivos.

[/home/otavio/foo]# ls -l stuff
-rw-r--r-- 1 otavio users 505 Mar 13 19:05 stuff
[/home/otavio/foo]#

O primeiro campo na lista representa as permisses do arquivo. O terceiro campo
o dono do arquivo (otavio) e o quarto campo o grupo ao qual o arquivo pertence (users).
Obviamente, o ltimo campo o nome do arquivo (stuff). Vamos falar sobre os outros
campos mais tarde.
Esse arquivo pertence ao otavio, e pertence ao grupo users. A string -rw-r--r--
mostra, em ordem, as permisses concedidas ao dono do arquivo, ao grupo do arquivo, e a
todo o resto.
O primeiro caracter da string de permisses ("-") representa o tipo do arquivo.
Um hfen ("-") significa que um arquivo comum (e no um diretrio ou
driver de dispositivo).
O prximos trs caracteres ("rw-") representam as permisses concedidas ao
dono do arquivo, otavio. O "r" vem de "read" (leitura) e o "w" de "write"
(escrita). Assim, Otavio tem permisso de leitura e escrita no arquivo stuff.
Alm de permisses de escrita e leitura, h tambm a permisso de "execuo"
- representada por um "x". Se um "-" listado no exemplo no lugar do "x",
indicando que o Otavio no tem permisso de execuo para este arquivo. Isto
est ok, visto que o arquivo stuff no um programa. Como o Otavio o dono
do programa, ele mesmo pode conceder permisso de execuo para o arquivo
se assim desejar.
Os prximos trs caracteres ("r--"), representam as permisses de grupo no
arquivo. O grupo que dono deste arquivo users. Como somente um "r"
aparece aqui, um usurio que pertena ao grupo users pode ler este arquivo.
15
Unisul Tecnologia de Redes Prof. Luiz Otvio
Os ltimos trs caracteres (tambm "r--") representam as permisses
concedidas para qualquer usurio do sistema (alm do dono do arquivo e
daqueles que pertenam ao grupo users). Novamente, como somente um "r"
aparece, outros usurios podem ler o arquivo, mas no escrever ou executar.

Outros exemplos de permisses:

-rwxr-xr-x

O dono do arquivo pode ler, escrever e executar o arquivo. Usurios no grupo do
arquivo, e todos os outros, podem ler e executar o arquivo

-rw-------

O dono do arquivo pode ler e escrever no arquivo. Nenhum outro usurio pode
acessar o arquivo.

-rwxrwxrwx

Todos os usurios podem ler, escrever e executar o arquivo.

5.2 Modificando permisses

O comando "chmod" usado para modificar permisses de um arquivo. Somente
o dono do arquivo pode mudar as permisses para o arquivo. A sintaxe do chmod
"chmod {a,u,g,o}{+,-}{r,w,x} arquivos"
So fornecidas uma ou mais letras indicando para quem est concedendo ou
retirando permisses: todos (a, do ingls, all); usurio (u), grupo (g), ou outros (o). Depois
voc especifica se est adicionando (+) ou removendo ( - ) direitos. E finalmente
especifica-se o tipo de permisso: leitura (read), escrita (write), ou execuo. Alguns
exemplos de comandos possveis so:

chmod a+r stuff
D permisso de leitura para todos os usurios.

chmod +r stuff
A mesma coisa - se nenhuma a, u, g ou o especificado, a assumido.

chmod og-x stuff
Remove permisso de execuo de usurios que no o prprio dono.

chmod u+rwx stuff
Permite que o dono leia, escreva e execute o arquivo.

chmod o-rwx stuff
16
Unisul Tecnologia de Redes Prof. Luiz Otvio
Remove as permisses de leitura, escrita e execuo para outros usurios que
no sejam o dono ou usurios do grupo.

6 O Kernel

Quando se adquire e instala uma distribuio de Linux (Conectiva, Slackware, Red Hat, Debian etc),
na verdade est lidando com um pacote que contm uma srie de programas diferentes. Existe o instalador e
configurador do sistema, os utilitrios padro GNU (como a shell bash e o compilador gcc), o suporte a modo
grfico provido pelo projeto XFree, ambientes grficos como o KDE e o GNOME, servidores como o Apache
e o Sendmail, aplicativos, bibliotecas entre muitos outros.
Nenhum dos componentes acima pode ser chamado propriamente de Linux. De fato, a maior parte
deles no especfico do Linux, podendo estar disponvel em diversas outras arquiteturas (ex: o servidor
Apache est disponvel at mesmo para Windows).
Ento, o que o Linux? Simplesmente falando, o Linux o kernel do sistema operacional includo
em todas as distribuies.
O que um kernel? O kernel o ncleo do sistema operacional, responsvel por traduzir as
requisies de alto nvel geradas pelos aplicativos em comandos adequados aos equipamentos que esto sendo
utilizados. Ele o responsvel em gerenciar o uso da memria, controlar a atribuio do tempo da CPU a
todos os processos em execuo simultnea (multitarefa), gerenciar os direitos de acesso a todos os recursos
de forma a garantir a segurana, fornece os servios bsicos de rede e muito mais.
O kernel do Linux um software cujo desenvolvimento foi iniciado em 1991 por Linus Torvalds, e
que hoje permite a execuo de todos os softwares citados anteriormente e includos na maior parte das
distribuies.

6.1 O que significa uma nova verso (ex: verso 2.6)

As distribuies comerciais tentam sincronizar o lanamento de novas verses, aguardando para
disponibilizar uma verso que inclua no somente a ltima verso da srie de produo anterior (ex: 2.4.x),
como a mais recente da nova srie (ou uma das ltimas da srie de desenvolvimento corrente, como comum
acontecer).
Diversos interessados adaptam recursos da nova srie estvel para as sries anteriores, num
fenmeno conhecido como backporting. H uma tempestade de pequenos bugs localizados e prontamente
corrigidos nas primeiras verses da nova srie de produo, o que natural, pois o pblico usurio desta srie
imensamente maior do que os que chegam a realmente testar a srie de desenvolvimento.
A imprensa e os websites especializados publicam reportagens especiais sobre o lanamento do novo
kernel. Em seguida procuram refazer todos os testes e benchmarks, para identificar e quantificar as melhorias.
Muitos usurios iro ler a documentao existente e faro um upgrade manual bem-sucedido. Vrios
deles, experientes, escolhero fazer isto em uma distribuio recente e que j inclua opcionalmente um kernel
da srie 2.5, o que quase uma garantia de compatibilidade com a verso 2.6.
Muitos usurios acreditaro ser capazes de fazer o upgrade manualmente sem ler nenhum manual ("
s mais um kernel, ManOw"), e geraro trfego em todas as listas e fruns de Linux para perguntar por que
seus sistemas esto se comportando de maneira estranha. A resposta costuma ser simples: mesmo que voc
compile seu kernel corretamente, alguns aplicativos e utilitrios (exemplo: insmod, quotas e os fileutils)
precisam de upgrades para manter a compatibilidade. Essa informao consta na documentao, e precisa ser
vista com ateno antes de, acidentalmente, deixar o sistema em um estado instvel.
Outros usurios aguardaro ansiosamente por pacotes pr-compilados para suas distribuies
especficas.
Outros ainda nem notaro nada, e instalaro o novo kernel sem perceber na hora do prximo upgrade
programado.
Essa agitao comum a todas as mudanas de verso do kernel, e algo que os veteranos j esto
acostumados a apreciar. O primeiro boot com um novo kernel traz novas experincias e uma sensao de
servio bem feito, difcil de descrever.

17
Unisul Tecnologia de Redes Prof. Luiz Otvio
6.1.1 Quem faz o kernel

O kernel mantido por um grande nmero de programadores espalhados pelo mundo todo que se
comunicam basicamente atravs de listas de discusso via e-mail, sendo que a principal a linux-kernel.
Qualquer pessoa pode ler e participar da lista, e pode-se tambm contar com resumos via web (kt.zork.net) e
com uma FAQ (www.tux.org/lkml).
Embora a princpio qualquer pessoa possa sugerir ou contribuir com alteraes na lista, existe uma
hierarquia a ser seguida no que tange a aceitar as alteraes. Cada trecho do kernel possui um mantenedor.
Este ir avaliar, aceitar ou rejeitar cada proposta referente sua rea de atuao. Posteriormente, os
responsveis pela verso do kernel corrente (por exemplo, Linus Torvalds para a srie 2.5 e o brasileiro
Marcelo Tosatti para a srie 2.4) tambm podero ter algo a dizer sobre aceitar ou rejeitar as alteraes.
E todos os demais membros da lista podem discutir o que submetido, em um processo de
desenvolvimento aberto que lembra os princpios da pesquisa acadmica ou cientfica, com discusso entre
toda a comunidade. Quando h discrdia, geralmente a opinio dos lderes (principalmente Linus Torvalds)
acaba prevalecendo.
Mas o Linus no est sozinho neste barco. Muitos dos desenvolvedores "centrais" do kernel so
nomes conhecidos na comunidade do software livre, enquanto outros so relativamente annimos. Eles
chegam a se reunir pessoalmente, em eventos informais como o Kernel Summit
(http://lwn.net/2001/features/KernelSummit/), para trocar experincias, combinar suas agendas e tramar para a
conquista do mundo.
Claro que alm dos "chefes" como Alan Cox, Andrea Arcangeli, Marcelo Tosatti e seus
companheiros existem os colaboradores quase annimos que contribuem com pequenas coisas aqui e ali:
adaptam um driver para suportar um novo modelo de dispositivo; corrigem um pequeno bug; melhoram o
desempenho de uma rotina ou outra, e assim por diante.
Na verdade voc pode contribuir para o desenvolvimento do kernel do Linux mesmo sem saber
programar. Projetos como o Kernel Janitors (http://kernel-janitor.sourceforge.net/) ou o
http://br.kernelnewbies.org/ concentram voluntrios para tarefas que vo desde a programao para correo
de problemas especficos at a atualizao de documentao.

7 Instalao de programas

7.1 Gerenciador de pacotes

A distribuio Red Hat possui gerenciador de pacotes. O RPM (Red Hat Packet Manager) utiliza pacotes .rpm
e o gerenciador de pacotes mais utilizado nas distribuies Linux. Suponha-se a seguinte situao:
Os pacotes encontram-se no CD-ROM. Para instal-los, a seguinte seqncia deve ser executada:
1 mount t iso9660 /dev/cdrom /mnt/cdrom
2 find /mnt/cdrom name *rpm
3 rpm ivh <nome_pacote.rpm>
-i instalao simples
-v exibe detalhes da instalao
-h mostra o caracter # enquanto est instalando
-e desinstala pacotes
-qa exibe os pacotes que esto instalados
-force fora a instalao mesmo que o sistema o julgue inadequado
dpkg [opes]<nome do pacote> - gerenciador de pacotes do Debian

7.2 Programas fonte - .tgz ou .tar.gz

A primeira atividade descompactar os arquivos
tar xvzf <nome do arquivo>
-x retira os arquivos agrupados no arquivo .tar
-v exibe o nome de cada arquivo processado
18
Unisul Tecnologia de Redes Prof. Luiz Otvio
-z compacta ou descompacta arquivos utilizando o comando gzip
-f indica que o destino um arquivo em disco
Em seguida procure um arquivo executvel chamado configure. Ele o script de configurao
./configure
Depois para compilar digite
make
E finalmente para instalar digite
make install
O programa j estar instalado e pronto para funcionar

7.3 Patches

Utilizado para aplicar correes (patches) a arquivos.
Suponha um arquivo com um determinado texto e distribudo a todos os usurios.
Posteriormente este arquivo alterado pelo seu criador e necessita ser distribudo.
diff u original.txt revisado txt > patch-1.1
Este comando cria o arquivo patch-1.1 que ser distribudo aos usurios que utilizam o original.txt.
Quando os usurios receberem o arquivo de patch, colocaro o mesmo no diretrio do original.txt e
executaro o comando
patch < patch-1.1

7.4 APT ( Advanced Package Tool)

O APT um conjunto de ferramentas utilizadas para gerenciar os pacotes de uma distribuio Linux de
maneira automatizada, de modo que, quando um programa instalado, o sistema tambm instala todos os
pacotes necessrios para o funcionamento deste programa (no nativo do Red Hat).

apt-get [opes]<comando>[pacote]
opes
-d faz download de pacotes, mas no os instala
-f repara um sistema com dependncias quebradas
comando
update atualiza o banco de dados local do apt-get com os arquivos
install<pacote> - instala um novo pacote
source<pacote> - faz o download do pacote rpm fonte para o diretrio corrente

8 Mdulos

Os sistemas operacionais evoluem e crescem a todo instante. Se todas as funcionalidades suportadas
pelo sistema operacional estejam includas em seu kernel, este ser grande e de difcil manejo. Este problema
pode ser resolvido modularizando as funcionalidades, que podem ser includas posteriormente conforme as
necessidades do sistema.
Por exemplo, o hardware varia de computador para computador, alguns possuem zip drive, outros
uma determinada placa de som, etc. Existem duas opes para configurar o Linux de acordo com o seu
hardware:
1 - recompilar o kernel (make xconfig em /usr/src/linux) ou
2 - adicionar mdulos ao kernel sem recompil-lo - manualmente: atravs dos comandos insmod
(insere um mdulo) e rmmod (remove um mdulo).
Recompilar o kernel consiste em incluir os drives de dispositivos de hardware e susistemas de
software no kernel do Linux. O kernel ir crescer conforme a incluso de novos componentes.
Os mdulos so programas que o kernel pode carregar na memria aps entrar em execuo. A
utilizao comum de mdulos acrescentar suporte para um dispositivo, sem recompilar o kernel para cada
19
Unisul Tecnologia de Redes Prof. Luiz Otvio
novo dispositivo de hardware acrescentado ao sistema. Os mdulos no precisam ser drives de dispositivos;
podem ser utilizados para acrescentar novas funcionalidades ao kernel.
Os mdulos do kernel esto localizados em /lib/modules/<verso_kernel>.

8.1 Comandos para o gerenciamento de mdulos

insmod carrega os mdulos requisitados aps uma pesquisa nos subdiretrios de
/lib/modules/<verso_kernel>.

insmod [opes] <mdulo>

Opo Descrio

-f Fora a carga do mdulo com a verso errada do kernel.
-v Exibe as operaes executadas pelo insmod.

Exemplo

# insmod ppa


rmmod descarrega o mdulo indicado. Este comando deve ser utilizado quando o mdulo no for mais
necessrio.

rmmod [opes] <mdulo>

Opo Descrio

-a Remove todos os mdulos desnecessrios.

Exemplo

# rmmod ppa


modprobe carrega e descarrega um mdulo definido considerando todas as suas dependncias. Este
comando extremamente poderoso e pode ser utilizado em uma srie de tarefas (como, por exemplo, testar
todos os mdulos de um determinado tipo at que um seja carregado com xito). Ao contrrio do insmod,
modprobe verifica o contedo do arquivo /etc/modules.conf e deve ser utilizado na carga de mdulos.

modprobe [opes] <mdulo>

Opo Descrio

-a Carrega todos os mdulos.
-r Remove mdulos do kernel.
-l Exibe mdulos disponveis.
-c Exibe a configurao dos mdulos e sai.
-v Exibe as operaes feitas pelo modprobe.

Exemplo

# modeprobe lp


20
Unisul Tecnologia de Redes Prof. Luiz Otvio
lsmod exibe quais mdulos esto carregados e quem os est utilizando. Mdulos iniciados pelo servidor do
kernel so identificados pela expresso autoclean, o que demonstra que eles sero removidos autmaticamente
quando chegarem ao limite de tempo sem uso.

lsmod

Exemplo

# lsmod


modinfo exibe informao sobre um mdulo do kernel.

modinfo [opes] <mdulo>

Opo Descrio

-a Exibe o autor do mdulo.
-d Exibe a descrio do mdulo.
-p Exibe os parmetros que um mdulo pode aceitar.
-h Exibe uma mensagem de ajuda.
-V Exibe a verso do comando.

Exemplo

# modinfo p ne


depmod cria o arquivo /lib/modules/<verso_kernel>/modules.dep onde as dependncias de todos os
mdulos so definidas. Esse arquivo necessrio para que todos os mdulos sejam carregados com as suas
dependncias.

depmod [opes] <mdulo>

Opo Descrio

-a Visita todos os mdulos.
-v Exibe as operaes executadas pelo depmod.

Exemplo

# depmod -a

8.2 Arquivos de configurao

/etc/modules.conf este arquivo influencia diretamente a carga de mdulos. Nesse arquivo podem ser
adicionados parmetros para os mdulos que acessam o hardware diretamente.

# /etc/modules.conf
alias parport_lowlevel parport_pc
pre-install pcmcia_core /etc/rc.d/init.d/pcmcia start
alias sound sb
options opl3 io=0x388
alias midi awe_wave
post-install awe_wave /bin/sfxload /etc/midi/GU11-ROM.SF2
21
Unisul Tecnologia de Redes Prof. Luiz Otvio
options sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330


/lib/modules/<verso_kernel>/modules.dep este arquivo contm as dependncias dos mdulos.


/etc/rc.d/rc.local este script o ltimo a ser utilizado. Pode ser editado pelo usurio para permitir carga de
mdulos.

#!/bin/sh
# /etc/rc.d/local
# This script will be executed after all the other init acripts.
#You can put your own initialization stuff in here if you dont
#want to do the full Sys V style init stuff.
./etc/profile.d/lang.sh
if [ -f /etc/verso-conectiva ]; then
R=$(cat /etc/verso-conectiva)
#This is overwrite /etc/issue at every boot. So, make any changes you
#want to make to /etc/issue here or you will lose them when you reboot.
echo $R > /etc/issue.net
if [ -x /usr/bin/linux_logo ]; then
clear > /etc/issue
linux_logo classic >> /etc/isssue
echo >> $R >> /etc/issue
echo >> /etc/issue
else
cat /etc/issue.net > /etc/issue
fi
fi


8.3 Exemplo de utilizao de mdulos

8.3.1 Instalao de ZIP-Drive de porta paralela

O zip-drive de porta paralela e a impressora de porta paralela no podem ser utilizados ao mesmo
tempo, porque so usados mdulos diferentes para o controle deles. Os mdulos so:

Mdulo Descrio

lp Mdulo da impressora.
ppa ou imm (modelos mais recentes) Mdulo do zip-drive.

Isto significa que quando queremos utilizar a impressora de porta paralela, devemos carregar o
mdulo lp e remover o mdulo ppa; e quando queremos usar o zip-drivede porta paralela, devemos carregar o
mdulo ppa e removerf o mdulo lp.
Para instalar o zip-drive, os seguintes passos devem ser seguidos:

a) Edite o arquivo /etc/modules.conf e inclua no final a linha:
alias scsihostadapter ppa

b) Crie um diretrio para o zip-drive com o comando:
# mkdir /mnt/zip
22
Unisul Tecnologia de Redes Prof. Luiz Otvio

c) Caso esteja utilizando uma impressora de rede e deseja-se utilizar sempre o zip-drive de porta paralela,
pode-se inserir a seguinte linha no final do arquivo /etc/rc.d/rc.local:
/sbin/modprobe ppa

d) Para adicionar o zip-drive, utiliza-se os seguintes comandos:
# rmmod lp
# modprobe ppa
# mount -t ext2 /dev/sda4 /mnt/zip
ou
# mount -t msdos /dev/sda4 /mnt/zip

O zip-drive de porta paralela considerado um dispositivo SCSI.

Se o disco do zip-drive no estiver formatado, pode-se usar os comandos:
# mkfs -t ext2 /dev/sda4
ou
# mkfs -t msdos /dev/sda4

Para adicionar a impressora, utiliza-se os seguintes comandos:
# umount /mnt/zip
# rmmod ppa
#modprobe lp

Pode-se tambm criar entradas no arquivo /etc/fstab para o zip-drive:
# /etc/fstab
/dev/sda4 /mnt/zip vfat defaults,noauto 0 0
/dev/sda4 /mnt/zip msdos defaults,noauto 0 0
/dev/sda4 /mnt/zip vfat defaults,noauto,user 0 0
/dev/sda4 /mnt/zip msdos defaults,noauto,user 0 0

O usurio comum s poder montar o dispositivo se o mdulo ppa tiver sido carregado previamente pelo
superusurio root.

8.3.2 Instalao de mdulos CD-RW IDE

O CD-RW IDE considerado um dispositivo SCSI, sendo necessrio a pr-carga dos mdulos SCSI
na inicializao do Linux para o seu funcionamento.

Arquivos de configurao

Edite o arquivo /etc/rc.d/rc.local e insira no final as seguintes linhas:
/sbin/rmmod ide-cd
/sbin/modprobe sg
/sbin/modprobe ide-scsi

Edite o arquivo /etc/fstab e insira no final a seguinte linha:
/dev/cdrw /mnt/cdrw isso 9660 defauts,user,noauto 0 0

Instalao e teste

Execute os seguintes comandos:
# rmmod ide-de
Remove o mdulo cdrom IDE.
# modprobe sg
23
Unisul Tecnologia de Redes Prof. Luiz Otvio
Carrega mdulo de emulao SCSI.
#modprobe ide-scsi
Carrega mdulo cdrom SCSI.
#mkdir /mnt/cdrw
Cria ponto de montagem para o CD-RW.
#rm /dev/cdrom
Remove o link simblico para o dispositivo cdrom IDE.
#ln -s /dev/sr1 /dev/cdrw
Cria o link simblico para o dispositivo cdrw SCSI emulado.

Para testar, execute o comando:
# cdrecord -scanbus

Se tudo correr bem, ir aparecer algo como:
Cdrecord 1.9 (i686-pc-linux-gnu) Copyright (C) 1995-2000 Jrg Schilling
Linux sg driver version: 2.1.39
Using libscg version schily-0.1
Scsibus0:
0,0,0 0) IDE CD-ROM TW 160D 1.00 Removable CD-ROM
0,1,0 1)LG CD-RW CED-8080B 1.06 Removable CD-ROM
0,2,0 2)*
0,3,0 3)*
0,4,0 4)*
0,5,0 5)*
0,6,0 6)*
0,7,0 7)*


9 Editores de texto

9.1 Editor vi

$ vi ou $ vi <arquivo>
Modo de linha
: + q sai do vi sem salvar
: + q + ! sai do vi forado sem salvar
: + w salva o arquivo corrente
: + w + <nome do arquivo> salva o arquivo com o nome do arquivo
X apaga o caracter corrente
D + D apaga a linha corrente
Pesquisa
/padro pesquisa padro para frente
/repete a pesquisa para frente

9.2 Editor mcedit

$ mcedit ou $ mcedit <arquivo>
F1 exibe ajuda
F2 salva arquivo corrente
F3 marca incio e fim do bloco
F7 procura texto
F9 abre menu
F10 sai do mcedit
24
Unisul Tecnologia de Redes Prof. Luiz Otvio

10 SHELL

Shell o nome genrico de uma classe de programas que funcionam como interpretador de comandos e
linguagem de programao script (interpretada) no Unix. Os shells mais populares so bash, csh, tcsh, ksh e
zsh.
O shell a interface entre o usurio e o kernel do sistema operacional. O usurio escolhe quais dos shells
disponveis vai utilizar. O padro do linux o bash.
O shell executado em um ambiente controlado pelas variveis de ambiente, que so definies e valores que
o shell e outros programas utilizam para a configurao no momento que realizado o login e que esto
localizados em arquivos de configurao que variam de shell para shell. Dois tipos de variveis de ambiente
que podem ser definidas:
Variveis de ambientes locais disponveis somente para o shell corrente, no sendo disponveis
pelos subprocessos.
Variveis de ambiente globais - disponveis tanto para o shell corrente, quanto para os
subprocessos que venham fazer uso delas.

10.1 Comandos de manipulao das variveis de ambiente

echo <$var de ambiente> - exibe o valor da var de ambiente
export <var ambiente>[=valor] torna a var de ambiente global
ex: $ Editor=/usr/bin/pico
Define a var de ambiente local EPOC
$ export EPOC
torna global a var de ambiente EPOC
$ export Editor=/usr/bin/pico
define a var de ambiente EPOC e a torna global
unset <var de ambiente> - exclui o valor de uma var de ambiente

10.2 As variveis do ambiente bash

Quando se atribui um valor a uma varivel, utilizando-se o operador = (igual), pode-se acessar essa varivel
antecedendo o nome com $.
$ Mengo = 20
$ echo Mengo
$ 20

printenv exibe a lista das var de ambiente (tradicionalmente em letra maiscula)

Algumas variveis de ambiente

Varivel Descrio
EDITOR Editor padro do sistema
HOME Diretrio home do usurio atual
LOGNAME Nome de login do usurio atual
MAIL Diretrio que contm as msg de correio eletrnico recebidas
PATH O caminho ou caminhos para procurar comandos
SHELL Nome da shell atualmente em uso
TERM Tipo do terminal em uso
USER Nome do login do usurio final


PATH indica os lugares onde o bash ir procurar programas executveis
25
Unisul Tecnologia de Redes Prof. Luiz Otvio
Ex: $echo $PATH
$cat > teste
clear
echo alo
Tecle <enter>
Tecle <Crtl> + <D>
Chmod u+x torna o arquivo executvel
teste no ir executar e ir gerar msg de erro
./teste
alo
$PATH=$PATH:/home/user
teste
alo

chsh [opes][usurio]- alterar o shell default que iniciado no login
-l lista os shells disponveis
-s<shell> - especifica o nome do shell executvel a ser utilizado.
$chsh l
$chsh s /bin/csh
$chsh s /bin/csh otavio

10.3 Aliases (sinnimos ou apelidos)

alias [sinnimo=comando] cria um alias para um determinado comando
Ex:$ alias zera=clear
unalias <sinnimo> - desfaz o alias

10.4 Redirecionamento e pipes
Entrada padro de dados (stdin) dispositivo ao qual os programas obtm dados de entrada para executar em
suas tarefas.
Sada padro de dados (stdout) - dispositivo ao qual os programas normalmente enviam os seus resultados de
execuo.
Sada padro de erros (stderr) dispositivo para o qual mensagens e dados decorrentes de erros ocorridos na
execuo de programas so executados.

Comando > arquivo redireciona a sada padro
Comando < arquivo redireciona a entrada padro
Comando >> arquivo concatena a sada padro
Comando << arquivo concatena a entrada padro
Comando 2> arquivo redireciona a sada padro de erro
Comando 2>> arquivo concatena a sada padro de erro
Comando | Comando pipe permite conectar a sada de um comando na entrada de outro
Ex:
$cat > arq
teste
Enter
CTRL D
$cat arq > arq1
$cat <arq
$cat <arq1
$cat arq >> arq1
$ls | more

26
Unisul Tecnologia de Redes Prof. Luiz Otvio
10.5 Arquivos de configurao do comando bash

/etc/shells contm os shells e programas que podem ser escolhidos pelo comando chsh.
/etc/profile define as variveis de ambiente para todos os usurios. executado automaticamente no
login.
/home/<user>/.bash_profile define as variveis de ambiente para o usurio user. executado
automaticamente no login.
/etc/bashrc define todos os aliases para todos os usurios. executado automaticamente no momento
de inicializao do shell.
/home/<user>/.bashrc define os aliases para o usurio user. . executado automaticamente no
momento de inicializao do shell.
/home/<user>/.bash_logout - Executa os comandos presentes no arquivo de bash_logout

10.6 Programao Shell

O shell mais do que uma interface para a execuo de comandos pelos usurios. Trata-se de uma
linguagem de programao interpretada com estruturas de controle de alto nvel capaz de resolver vrios
problemas sem recorrer a linguagens de programao compilada como o C.

10.6.1 Shell scripts

Pode-se escrever programas de shell criando arquivos script contendo sries de comandos de shell.
1
a
linha #!<comando shell> indica ao kernel que o arquivo script executvel.
Para a shell bash a 1
a
linha : #!/bin/bash
Deve-se tambm especificar que os arquivo script executvel mudando as permisses:
# chmod u+x <shell_scripts>

10.6.2 Quoting

Serve para evitar a substituio de variveis ou remover o significado dos caracteres especiais e
palavras reservadas do shell, permitindo que estes sejam utilizados literalmente. Os caracteres (aspas
simples), (aspas duplas) e \ (barra invertida).
Ex: $ echo voc tem ls | wc l arquivos em pwd
voc tem 50 arquivos em /home/otavio
$ echo o valor de \$x eh $x
o valor de $x eh 210

10.6.3 Formas de comando

;\ #comando1;\
comando2;\
comando3;\
comando4
Comando & Executa o comando em segundo palno
$netscape &
Comando1;comando2 Executa mltiplos comandos em seqncia e na mesma linha
separados por ;
$cd;ls
(comando1;comando2) Subshell; trata comando1 e comando2 como um grupo de comandos
$(date;who) > arquivo1
27
Unisul Tecnologia de Redes Prof. Luiz Otvio
Comando1|comando2 Pipe; utiliza a sada do comando1 como entrada para o comando2
$ls la | more
Comando1comando2 Substituio de comandos; utiliza a sada do comando2 como
argumento para o comando1
$vi grep l ifdef *.c
Comando1$(comando2) Substituio de comandos
Comando1&&comando2 Executa o comando2 se o comando1 for bem sucedido
Comando1||comando2 Executa o comando2 se o comando1 falhar
(comando1;comando2) Executa os comandos no shell corrente

10.6.4 Operadores

!, ~ Negao lgica, complemento de 1 (utilizado em operaes com
bits)
*, /, % Multiplicao, diviso e mdulo
+, - Adio e subtrao
<<, >> Deslocamento de bit a esquerda e deslocamento de bit a direita
x le y ou <=; x ge y ou >= Menor que ou igual a e Maior que ou igual a
x lt y ou <, x gt y ou > Maior que e menor que
x eq y ou ==, x ne y ou != Igualdade e desigualdade
& AND (utilizado em operaes com bits)
^ Exclusive OR (utilizado em operaes com bits)
| OR (utilizado em operaes com bits)
&& AND lgico
|| OR lgico
= Atribuio de valor

Variveis especiais so pr-definidas pelo shell bash quando ele incializado. Elas permitem
referenciar parmetros na linha de comando.

$# Nmero de parmetros passados
$n Argumento na linha de comando onde n varia de 1 at 9
$* Todos os parmetros separados por espaos em branco

10.6.5 Teste de Condies

-nt Arquivo1 mais novo que arquivo2
-ot Arquivo1 mais velho que arquivo2
-z string String de tamanho zero
-n string String de tamanho maior que zero
string1 = string2 As strings so iguais
string1 != string2 As strings so diferentes
!expresso Expresso falsa
expresso1 a expresso2 Expresso1 AND expresso2
expresso1 o expresso2 Expresso1 OR expresso2

10.6.6 Substituio do Til

O til substitudo pelo contedo da varivel HOME (o diretrio inicial do usurio) somente quando
est no incio de uma palavra.
$ echo ~
28
Unisul Tecnologia de Redes Prof. Luiz Otvio
/home/otavio

10.6.7 Expanses

So combinaes de elementos distintos para gerar strings maiores ou resultados de operaes
aritmticas.
a) expanso de chaves a combinao de todos os elementos entre as chaves, separados por
vrgulas.
$ echo pa{r, ranoi}a
para paranoia
$echo {a,o} {,s}
a as o os
b) expanso aritmtica
$ echo $((4*7))
28

10.6.8 Entrada interativa

read <linha> l uma linha da entrada-padro
echo n no imprime mudana de linha aps a mensagem.
#!/bin/bash
echo n Digite o seu nome:
read NOME SOBRENOME
echo Prazer em conhec-lo $NOME!

10.6.9 Expresses aritmticas

let <expresso>
#!/bin/bash
echo n Entre com dois nmeros:
read A B
let C=0
let C=A+B
echo $((C))

10.6.10 Estruturas condicionais

if <expresso1>
then
lista de comandos
elif <expresso2>
then
lista de comandos
else
comandos alternativos
fi

#!/bin/bash
SDATA=$(date +%H)
if [ $SDATA ge 6] && [ $SDATA le 11]; then
echo Bom dia!
29
Unisul Tecnologia de Redes Prof. Luiz Otvio
elif [ $SDATA ge 12] && [ $SDATA le 18]; then
echo Boa tarde!
elif [ $SDATA ge 19] && [ $SDATA le 23]; then
echo Boa noite!
fi

case <valor> in
padro1)
lista de comandos1;;
padro2)
lista de comandos2;;
*)
lista de comandos;;
esac

#!/bin/bash
echo n Entre com um nmero de 1 a 9:
read NUMERO
case $NUMERO in
1 | 3 | 5 | 7 | 9)
echo Seu nmero ($NUMERO) mpar.;;
2 | 4 | 6 | 8)
echo Seu nmero ($NUMERO) par.;;
*)
echo Foi solicitado um nmero de 1 a 9;;
esac

10.6.11 Estruturas de lao

for <varivel> in <lista de valores>
do
lista de comandos
done

#!/bin/bash
for x in $*
do
echo n \$x\,
done
echo e \b

while <expresso>
do
lista de comandos
done

#!/bin/bash
A=10
while [$A gt 0]
do
echo $A
A=$[$A 1]
done

until executa os comandos do lao at que a <expresso> seja verdadeira
30
Unisul Tecnologia de Redes Prof. Luiz Otvio
until <expresso>
do
lista de comandos
done

trap executa uma ao ao receber um sinal
trap <comando1>;<comando2>

exit sai de um script com o cdigo de sada n, n pode ser 0 (sucesso) ou diferente de 0 (fracassado).
Se n no for especificado, o cdigo de sada ser o mesmo do ltimo comando executado.

10.7 Funes

function <nome da funo> () {lista de comandos} ou
<nome da funo> () {lista de comandos}
#!/bin/bash
#esta funo calcula o fatorial de um nmero
fatorial ( )
{
let A=1
while [ $N gt 0 ]
do
let A=A* N
let N=N-1
done
echo $A
}
echo n Entre com o nmero:
read N
echo fatorial $N
exit

10.8 Exerccios:

1. Atribua um valor a uma varivel qualquer e depois execute uma outra shell (simplesmente digitando
bash). O valor desta varivel est disponvel neste outro ambiente? Por que?
2. Faa um script que o sistema informe as horas.

#!/bin/bash
echo Agora so date + %H horas e date + %M minutos

3. Faa um script que o sistema informe o nome da sua conta, as horas, o diretrio corrente e o seu
contedo:

#!/bin/bash
echo O nome da sua conta whoami
echo Agora so date + %H horas e date + %M minutos
echo O diretrio que voc est pwd
echo Os arquivos neste diretrio so: ; ls -aF

4. Implemente um script que receba um valor numrico de entrada. Este nmero deve ser maior ou igual a 0
e menor ou igual a 15; compare este valor de entrada com 7, informando se ele maior, menor ou igual a
7.
31
Unisul Tecnologia de Redes Prof. Luiz Otvio
5. Implemente um script para listar o contedo de um diretrio e apresentar o nmero total de arquivos.
6. Implemente um pequeno script de boas vindas ao usurio quando acessar o sistema. Estas boas vindas
devem ser dependentes do horrio; deve ainda informar o nome da conta do usurio e a hora.

11 Processo INIT

O processo init o primeiro programa executado pelo kernel de qualquer sistema operacional UNIX na
sua inicializao.
No momento em que o computador ligado ou reinicializado, o BIOS procura no primeiro setor do disco
(master boot record).
Selecionado para a carga do sistema operacional um programa para executar, que ser o carregador do
sistema operacional (boot loader).
O LILO e o GRUB so programas de carga do sistema operacional mais comuns no Linux.
Eles permitem selecionar qual partio ser utilizada para a carga do sistema operacional, possibilitando
assim a escolha de mltiplos sistemas operacionais ou mesmo verses diferentes do kernel do Linux.
Depois de carregado na memria principal, o kernel do linux, normalmente compactado,
descompactado antes de iniciar a sua execuo.
Logo em seguida exibida uma srie de mensagens enviadas pelo kernel, durante a deteco e
configurao do hardware existente no computador.
Depois de concluir a deteco e configurao do hardware, o kernel monta o root filesystem (o diretrio
/) a partir de um parmetro fornecido ao LILO pelo seu arquivo de configurao, /etc/lilo.conf ou ao
GRUB pelo seu arquivo de inicializao /boot/grub/menu.lst, e executa o processo init, que o pai de
todos os processos, carregando o programa /sbin/init.
Todos os outros processos so denominados como sendo filhos deste e so monitorados pelo init. Este o
ltimo processo que no pode ser abortado.

11.1 SysV init

Na inicializao SysV init, o processo init troca o estado do kernel para multitarefa e l o arquivo
/etc/inittab, definindo o nvel de execuo o Linux inicializar a seqncia de shells scripts.
Os nveis de execuo definem como o sistema operacional inicializar.
0 halt
1 monousurio
2 multiusurio, sem NFS
3 multiusrio com NFS
4 reservado
5 X11
6 - Reboot
Os shells scripts de inicializao esto localizados no diretrio /etc/rc.d.
Neste diretrio so encontrados os scripts de inicializao rc.sysinit, rc, rc.serial, rc.local e os diretrios
init.d, rc0.d, rc1.d, rc2.d, rc3.d, rc4.d, rc5.d e rc6.d.
Abrir o arquivo /etc/inittab:
[id]:[nveis_de_execuo]:[ao]:[processo] no arquivo /etc/inittab
10:0:wait:/etc/rc.d/rc0.d
O init.d possui vrios scripts de inicializao.
Cada um dos scripts aceita argumentos como start, stop, restart e status.
Ex: ./httpd start
Os diretrios rc0.d a rc6.d contm links simblicos para os scripts de inicializao exeistentes no
diretrio init.d.
Seqncia de inicializao SysV init
Processo init l o arquivo /etc/inittab e define o nvel de execuo do sistema
Processo init executa o script /etc/rc.d/rc.sysinit
O script /etc/rc.d/rc.sysinit executa o script /etc/rc.d/rc.serial (caso exista).
O processo init executa o script /etc/rc.d/rc que recebe o nvel de execuo do init como parmetro.
O script /etc/rc.d/rc executar os scripts de um dos diretrios: /etc/rc.d/rc0.d a /etc/rc.d/rc6.d
32
Unisul Tecnologia de Redes Prof. Luiz Otvio
O processo init executa o script /etc/rc.d/rc.local.
O processo init executa processos mingetty para configurar os terminais.
1:2345:respawn:/sbin/mingetty tty1 (linha encontra-se no /etc/inittab)
11.2 Comandos service e ntsysv

service inicializa, interrompe e reinicializa um servio.
service <servio> <ao>
ex: service http start

ntsysv gerenciador de servios de inicializao em forma de menu.

11.3 Desligando o sistema

Parada imediata
#shutdown h now
ou
#init 0
ou
#halt

Reboot imediata
#shutdown r now
ou
#init 6
ou
#reboot

Reboot daqui a 5 minutos
#shutdown r +5

Somente para um alerta aos usurios
#shutdown k now

Com uma mensagem personalizada para os usurios
#shutdown h +5 O sistema sair do ar em 5 minutos.

11.4 Perda da senha de root

No LILO
Ao ligar a mquina, quando aparecer o prompt LILO boot, digite:
linux single
Pressione <enter>, o sistema iniciar no modo monousurio e o superusurio root ser logado
automaticamente sem pedir a senha, e ento basta executar o comando:
#passwd
Para definir uma senha nova ao superusurio.

No GRUB
Ao ligar a mquina, quando aparecer a tela do GRUB, selecione o Linux e pressione <e>.
Ento aparecer a linha de comando de inicializao onde dever ser includo o nmero 1 ao final da
linha. Para isso pressione <e> novamente para editar a linha de comando e adicione um espao e o nmero
1 no final da linha.
33
Unisul Tecnologia de Redes Prof. Luiz Otvio
Agora basta pressionar <enter> e depois <b> que o computador ir iniciar no modo monousurio e o
superusurio root ser logado automaticamente sem pedir a senha, e ento basta executar o comando:
#passwd
Para definir uma senha nova ao superusurio.

12 Gerenciamento de sistemas de arquivos

Sistema de arquivos pode ser definido como uma estrutura criada no disco rgido (formatao lgica) que,
aps o particionamento permite que arquivos sejam criados, removidos, copiados, etc. Enquanto a partio
possibilita o sistema operacional gravar as informaes nesta rea do disco rgido, um sistema de arquivos
criado no disco rgido quando formatado. O linux suporta vrios sistemas de arquivos, sendo os principais
ext2, ext3, reiserfs e swap. Existem dois tipos de formatao:
baixo nvel tambm chamada de fsica, so criadas as trilhas e os setores do disco; e
alto nvel tambm chamada de lgica, criado o sistema de arquivos.

Particionar um disco
fdisk [opes] [dispositivo] cria as parties no disco rgido
-l exibe as parties e sai
-s exibe o tamanho da partio, a menos que seja uma partio MS-DOS

Configura parties de swap
mkswap [-c] <dispositivo> [tamanho em blocos]
-c verifica se o dispositivo contm blocos ruins antes de criar o sistema de arquivos

swapon [opes] [dispositivos] e swapoff [opes] [dispositivos] habilita e desabilita a partio de swap.

Criando um sistema de arquivos
Mkfs [opes] <dispositivo> cria um sistema de arquivos em um dispositivo de armazenamento
-v exibe as operaes que o comando mkfs executa
-c verifica a existncia de blocos ruins
-t <tipo sist> sistema de arquivos
ex: # mkfs t ext2 /dev/hdb1

Formatao baixo nvel
fdformat [opes] <dispositivo> <tipo drive> - efetua a formatao de baixo nvel de um disco flexvel, sem
criar um sistema de arquivos

Montando e desmontando discos
mount [opes] <dispositivos> <ponto de montagem>
-h exibe uma mensagem de ajuda

#mount t ext2 /dev/fd0 /mnt/floppy

umount <dispositivos> ou <ponto de montagem>

Verificando espao livre
df [opes] [dispositivos] verifica o espao no disco

Verificando o tamanho de arquivos e diretrios
du [opes] [arquivo ou diretrios] informa o espao ocupado pelos arquivos ou diretrios

Verificao e reparo de um sistema de arquivos
fsck [opes] <dispositivo> - verifica e repara um sistema de arquivos em um dispositivo de armazenamento

#fsck t ext2 /dev/hdb1

34
Unisul Tecnologia de Redes Prof. Luiz Otvio
Montando automaticamente sistemas de arquivos: /etc/fstab

O arquivo fstab possui entradas de dispositivos e/ou parties que contm os sistemas de arquivos. possvel
adicionar mais dispositivos e/ou parties editando o arquivo.
1
a
coluna dispositivo. o arquivo a ser montado.
2
a
coluna ponto de montgem
3
a
coluna sistema de arquivos
4
a
coluna especifica as opes de montagem
default motagem padro do dispositivo
exec permite que os programas sejam executados a partir do dispositivo
noexec no permite que os programas sejam executados a partir do dispositivo
auto monta o dispositivo automaticamente na inicializao
no auto o dispositivo deve ser especificado para a montagem
users permite que usurios comuns montem o dispositivo
no users no permite que usurios comuns montem o dispositivo
rw monta o dispositivo para leitura e gravao
ro monta o dispositivo somente para leitura
5
a
coluna dump do dispositivo
0 no faz dump do dispositivo
1 faz dump do dispositivo
6
a
coluna verificao e reparo do dispositivo
0 no faz verificao e reparo do dispositivo
1 faz verificao e reparo do dispositivo (ex: fsck)

Permitindo que usurios comuns montem e desmontem sistemas de arquivos
Drive de 3

Mude a linha
/dev/fd0 /mnt/floppy ext2 defaults, noauto 0 0

Para
/dev/fd0 /mnt/floppy ext2 defaults, noauto, user 0 0

Criando disquetes de inicializao (boot)

mkbootdisk [opes] <verso kernel> - cria um disquete de inicializao com o LILO
--device <dispositivo> especifica o dispositivo onde ser criado o disquete de boot
--verbose exibe as mensagens do programa durante a criao do disquete de incializao

# mkbootdisk verbose device /dev/fd0 2.4.18-3

13 Configurao do TCP/IP no Linux

Instalando uma mquina em uma rede existente. Se voc quiser instalar uma mquina GNU/Linux
em uma rede TCP/IP existente ento voc deve contatar qualquer um dos administradores da sua rede e
perguntar o seguinte:

Endereo IP de sua mquina
Nome da Mquina
Endereo IP da rede
Endereo IP de broadcast
Mscara da Rede IP
Endereo do Roteador
Endereo do Servidor de Nomes (DNS)

35
Unisul Tecnologia de Redes Prof. Luiz Otvio
Voc deve ento configurar seu dispositivo de rede GNU/Linux com estes detalhes. Voc no
pode simplesmente escolh-los e esperar que sua configurao funcione.
13.1
13.2 Configurao da interface Ethernet

As interfaces de rede no GNU/Linux esto localizadas no diretrio /dev e a maioria criada
dinamicamente pelos softwares quando so requisitadas. Este o caso das interfaces ppp e plip que so
criadas dinamicamente pelos softwares.
Abaixo a identificao de algumas interfaces de rede no GNU/Linux (o ? significa um nmero
que identifica as interfaces seqencialmente, iniciando em 0):

eth? - Placa de rede Ethernet e WaveLan.
ppp? - Interface de rede PPP (protocolo ponto a ponto).
slip? - Interface de rede serial
plip? - Interface de porta paralela
fddi? - Interfaces de rede FDDI.
dlci??, sdla? - Interfaces Frame Relay, respectivamente para para dispositivos de encapsulamento
DLCI e FRAD.
tr? Interface Token Ring
eql - Balanceador de trfego para mltiplas linhas

13.3 A interface loopback

A interface loopback um tipo especial de interface que permite fazer conexes com voc mesmo.
Todos os computadores que usam o protocolo TCP/IP utilizam esta interface e existem vrias razes porque
precisa fazer isto, por exemplo, voc pode testar vrios programas de rede sem interferir com ningum em sua
rede. Por conveno, o endereo IP 127.0.0.1 foi escolhido especificamente para a loopback, assim se abrir
uma conexo telnet para 127.0.0.1, abrir uma conexo para o prprio computador local.
A configurao da interface loopback simples e voc deve ter certeza que fez isto (mas note que
esta tarefa normalmente feita pelos scripts de inicializao existentes em sua distribuio).

[root@zion:~]# ifconfig lo 127.0.0.1

Caso a interface loopback no esteja configurada, voc poder ter problemas quando tentar
qualquer tipo de conexo com as interfaces locais, tendo problemas at mesmo com o comando ping.
Depois de configurada fisicamente, a interface precisa receber um endereo IP para ser
identificada na rede e se comunicar com outros computadores, alm de outros parmetros como o
endereo de broadcast e a mscara de rede. O comando usado para fazer isso o ifconfig (interface
configure).
Para configurar a interface de rede Ethernet (eth0) com o endereo 192.168.1.1, mscara de rede
255.255.255.0, podemos usar o comando:

[root@zion:~]# ifconfig eth0 192.168.1.1 netmask 255.255.255.0 up

O comando acima ativa a interface de rede. A palavra up pode ser omitida, pois a ativao da
interface de rede o padro. Para desativar a mesma interface de rede, basta usar o comando:

[root@zion:~]# ifconfig eth0 down

Digitando ifconfig so mostradas todas as interfaces ativas no momento, pacotes enviados,
recebidos e colises de datagramas. Para mostrar a configurao somente da interface eth0, use o comando:
ifconfig eth0

13.4 Configurando uma interface durante o boot

36
Unisul Tecnologia de Redes Prof. Luiz Otvio
As interfaces de rede podem ser configuradas automaticamente durante o boot. Para isso existem
os arquivos /etc/sysconfig/network-scripts/ifcfg-*. Veja por exemplo o ifcfg-eth0:

DEVICE=eth0
BOOTPROTO= static
ONBOOT=yes
IPADDR=192.168.72.100
NETMASK=255.255.255.0
BROADCAST=192.168.72.255
NETWORK=192.168.72.0
USERCTL=no

Caso a interface fosse configurada por DHCP e no com um nmero fixo, teramos o seguinte:

DEVICE=eth0
BOOTPROTO=dhcp
DHCP_HOSTNAME=zion
ONBOOT=yes
IPADDR=
NETMASK=
BROADCAST=
NETWORK=
USERCTL=no

13.5 Definindo diversos endereos IP para a mesma interface

Este interessante e til recurso do GNU/Linux conhecido como IP Aliasing e permite fazer nossa
interface de rede local responder por diversos endereos IP diferentes, mesmo sendo de classes de rede
diferentes. Para usurios externos, a impresso que a rede tem "muitas" mquinas, quando na realidade
apenas uma responde por todos estes endereos virtuais.
Este recurso a base para a construo de Mquinas virtuais baseadas em endereo IP (usado por
daemons como Apache, proftpd e outros). A configurao deste recurso simples, supondo que temos a
interface eth0 com o endereo atual 192.168.1.1:
Digite ifconfig eth0:0 192.168.1.10 netmask 255.255.255.0 - Isto cria um apelido para a placa de
rede, chamado eth0:0, que responder as requisies para o endereo 192.168.1.10.
Execute o comando ifconfig (sem parmetros) para verificar se a nova interface foi ativada. Voc
dever ver algo como:

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 endereo de Hardware o mesmo para ambos os dispositivos (porque a mesma placa de
rede est respondendo endereos diferentes).
Se necessrio ajuste as rotas ou gateway com o comando route.
37
Unisul Tecnologia de Redes Prof. Luiz Otvio
Podem ser especificados quantos apelidos voc quiser e para qualquer faixa de endereos que
desejar:

[root@zion:~]# ifconfig eth0:1 192.168.1.11 netmask 255.255.255.0
[root@zion:~]# ifconfig eth0:2 10.0.0.10 netmask 255.255.255.0
[root@zion:~]# ifconfig eth0:3 200.132.12.10 netmask 255.255.255.0

Para desativar uma interface virtual, utilize o comando:

[root@zion:~]# ifconfig eth0:1 down.

ATENO: Quando voc desativa uma interface fsica (eth0), todas as interfaces virtuais tambm
so desativadas.

13.6 Configurando uma rota no Linux

A configurao da rota feita atravs da ferramenta route. Para adicionar uma rota para a rede
192.168.1.0 acessvel atravs da interface eth0 basta digitar o comando:

[root@zion:~]# route add -net 192.168.1.0 eth0

Para apagar a rota acima da tabela de roteamento, basta substituir a palavra add por del. A palavra
net quer dizer que 192.168.1.0 um endereo de rede para especificar uma mquina de destino, basta usar a
palavra -host. Endereos de mquina de destino so muito usadas em conexes de rede apenas entre dois
pontos (como ppp, plip, slip). Por padro, a interface especificada como ltimo argumento. Caso a
interface precise especificada em outro lugar, ela dever ser precedida da opo -dev.
Para adicionar uma rota padro para um endereo que no se encontre na tabela de roteamento,
utiliza-se o gateway padro da rede. Atravs do gateway padro possvel especificar um computador
(normalmente outro gateway) que os pacotes de rede sero enviados caso o endereo no confira com os da
tabela de roteamento. Para especificar o computador 192.168.1.1 como gateway padro usamos:

[root@zion:~]# route add default gw 192.168.1.1 eth0

O gateway padro pode ser visualizado atravs do comando route -n e verificando o campo
gateway. A opo 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 configurao ficaria assim:

route add -net 192.168.1.0 eth0
route add default gw 192.168.1.1 eth0

13.7 Automatizando processos na rede

Todo o processo de automatizao da rede encontra-se em: /etc/init.d/network ou
/etc/rc5.d/S10network.
Ex: automatizar o processo de um alias para uma interface e tornar a mquina capaz de rotear pacotes
ipv4.
Cria-se um script:
#!/bin/bash
ifconfig eth0:1 192.12.23.1 netmask 255.255.255.0
echo 1 > /proc/sys/net/ipv4/ip_forward
38
Unisul Tecnologia de Redes Prof. Luiz Otvio

Torne este arquivo executvel, e insira no arquivo /etc/init.d/network, na penltima linha, antes do
comando exit.
Para verificar se surtiu efeito a alterao, digite no diretrio /etc/init.d o comando ./network. Este
arquivo ser executado. Verifique se surtiu efeito a alterao digitando simplesmente ifconfig.
Outra forma de configurar a rede, endereos IP, gateways, etc, utilizar o aplicativo netconfig.

13.8 Hostname

Todas as mquinas que integram uma rede TCP/IP devem ter um nome pelo qual so conhecidas
pelas outras mquinas da rede. Esse nome chamado de hostname. O comando utilizado para se configurar
o hostname o hostname.
[root@zion:~]# hostname zion.admredes

Para verificar o nome da mquina, usa-se o comando hostname sem parmetros:

[root@zion:~]# hostname
zion.admredes

O hostname tambm pode ser configurado automaticamente durante o boot, atravs do arquivo
/etc/sysconfig/network. Vejamos um exemplo:

NETWORKING=yes
HOSTNAME="zion.admredes"
NISDOMAIN=""
GATEWAY=
GATEWAYDEV=

Com esse arquivo, o nome da estao vai ser inicializado automaticamente durante o boot.

Arquivos de configurao

13.9 O arquivo /etc/hosts

Este arquivo contm uma relao entre o endereo IP e o nome de computadores. 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 freqentemente. 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

Voc pode especificar mais que um nome de computador por linha como demonstrada pela
primeira linha, a que identifica a interface loopback.

13.10 O arquivo /etc/networks

39
Unisul Tecnologia de Redes Prof. Luiz Otvio
O arquivo /etc/networks tem uma funo similar ao arquivo /etc/hosts. Da mesma forma que cada
mquina da rede pode ter um nome, as prprias redes tambm podem ter nomes. Esse arquivo serve para
fazer a relao entre nomes de redes e nmero IP. Ele contm um banco de dados simples de nomes de redes
contra endereos de redes. Seu formato consiste em dois campos por linha e seus campos so identificados
como:

Nome_da_Rede Endereo_IP_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.

13.11 O arquivo /etc/resolv.conf

Esse arquivo informa como vai ser a consulta ao servidor DNS. 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 os endereos de servidores DNS externos so especificados nele. Existem trs palavras
chaves normalmente usadas que so:

Domain: Especifica o nome do domnio padro, para que no seja necessrio digitar todo o
domnio para se acessar as mquinas da rede 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 DNS para resoluo de nomes. Podem ser
especificados at trs servidores.

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 (Ex.
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.

Outros arquivos de configurao relacionados com a rede

13.12 O arquivo /etc/services

O arquivo /etc/services um banco de dados simples que associa um nome amigvel a humanos a
uma porta de servio amigvel a mquinas. um arquivo texto de formato muito simples, cada linha
representa um item no banco de dados. Cada item dividido em trs campos separados por qualquer nmero
de espaos em branco (tab ou espaos). Os campos so:
40
Unisul Tecnologia de Redes Prof. Luiz Otvio

nome porta/protocolo apelidos # comentrio

nome: Uma palavra simples que representa o nome do servio sendo descrito.

porta/protocolo Este campo dividido em dois sub-campos.
porta: Um nmero que especifica o nmero da porta em que o servio estar disponvel. Muitos
dos servios comuns tm designados um nmero de servio. Estes esto descritos no RFC-1340.

protocolo: Este sub-campo pode ser ajustado para tcp ou udp. importante notar que o item
18/tcp muito diferente do item 18/udp e que no existe razo tcnica porque o mesmo servio precisa existir
em ambos. Normalmente o senso comum prevalece e que somente se um servio esta disponvel em ambos
os protocolos tcp e udp, voc precisar especificar ambos.

apelidos: Outros nomes podem ser usados para se referir a entrada deste servio.

comentrio: Qualquer texto aparecendo em uma linha aps um caractere "#" ignorado e tratado
como comentrio.

41

Anda mungkin juga menyukai