Você está na página 1de 79

1

Administrao de Sistemas (ASIST)


- Instalao de servidores LINUX
- Administrao de Utilizadores
- Administrao da rede
2
Distribuies LINUX
O ncleo (kernel) do sistema operativo LINUX implementa as
funcionalidades bsicas mais importantes, tais com gesto de dispositivos,
processos e memria e interage directamente com o HARDWARE.
Pode-se dizer que o ncleo o sistema operativo. O ncleo LINUX est
em permanente desenvolvimento como cdigo aberto, e gratuito.
O ncleo fornece acima de tudo uma plataforma estvel para que o
SOFTWARE de nvel mais elevado possa funcionar.
Ncleo LINUX
HARDWARE
SOFTWARE
Para se poder tirar partido das capacidades do ncleo
necessrio recorrer a um conjunto extenso de programas
auxiliares que permitem obter um sistema funcional.
Alguns destes programas auxiliares tm funes criticas de arranque, como por
exemplo carregar o ncleo para a memria e passar-lhe o controlo. Ou at
ajudar no processo de instalao do sistema operativo na mquina.
Ao conjunto NCLEO + PROGRAMAS d-se o nome Distribuio, as
distribuies no so necessariamente grtis.
3
Instalao de distribuies LINUX
A maioria das distribuies actuais dispe de programas de
instalao assistida de nvel bastante elevado que protegem
o utilizador de questes para as quais no sabe as respostas.
A soluo de instalao assistida quase sem opes, tem a vantagem de trazer o
LINUX para os utilizadores correntes, mas para os administradores pode ter
inconvenientes.
As decises que o programa de instalao toma autonomamente, sem perguntar,
podem comprometer determinados objectivos especficos.
Felizmente em muitos caso possvel optar por um modo perito (expert) no qual o
programa de instalao tome menos decises e faz mais perguntas.
Por outro lado a maioria das configuraes pode ser alterada aps a instalao inicial.
O aspecto que coloca mais problemas a diviso dos discos em parties, depois de
concluda a instalao inicial ser muito difcil de alterar.
4
Discos e parties em LINUX
No sistema operativo LINUX a maioria dos recursos de HARDWARE so
identificados por entradas especiais no directrio de sistema /dev. Os vrios
discos existentes so identificados de acordo com o tipo de interface que utilizam.
DISCOS IDE : /dev/hda /dev/hdb /dev/hdc /dev/hdd
DISCOS SCSI ou SATA : /dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde
A maioria dos discos (no os CD/DVD e outros discos mveis) est dividida em
parties. Trata-se de uma diviso lgica do disco que est definida numa zona
inicial do disco (MBR) conhecida por tabela de parties.
Cada partio existente num disco independente das restantes, podendo cada uma
conter tipos de dados (formataes) totalmente diferentes, eventualmente
associadas a sistemas operativos diferentes. Entre outras informaes a tabela de
parties contm associado a cada partio um identificador do formato da mesma.
As parties existentes num disco so identificadas por nmeros crescentes desde 1.
Exemplo: /dev/hdc2 = 2 partio do disco master do controlador IDE2.
5
Tabela de parties exemplos fdisk (LINUX)
HOST1# fdisk /dev/sda
Command (m for help): p
Disk /dev/sda: 73.4 GB, 73407868928 bytes
255 heads, 63 sectors/track, 8924 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 101 811251 83 Linux
/dev/sda2 102 8924 70870747+ 5 Extended
/dev/sda5 102 202 811251 82 Linux swap
/dev/sda6 203 711 4088511 83 Linux
/dev/sda7 712 4757 32499463+ 83 Linux
/dev/sda8 4758 8797 32451268+ 83 Linux
/dev/sda9 8798 8924 1020096 83 Linux
HOST12# fdisk /dev/hda
Command (m for help): p
Disk /dev/hda: 20.0 GB, 20003880960 bytes
255 heads, 63 sectors/track, 2432 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 13 104391 83 Linux
/dev/hda2 14 778 6144862+ 83 Linux
/dev/hda3 779 1415 5116702+ 83 Linux
/dev/hda4 1416 2432 8169052+ 5 Extended
/dev/hda5 1416 1925 4096543+ 83 Linux
/dev/hda6 1926 1990 522081 82 Linux swap
/dev/hda7 1991 2432 3550333+ 83 Linux
6
Tabela de parties exemplo Windows
Uma partio uma zona contigua de um disco, cujos limites (incio e fim) esto
definidos na tabela de parties.
A tabela de parties associa a cada partio um identificador do formato do
sistema de ficheiros que l se encontra.
7
Formatao das parties
A principal vantagem da existncia de parties que cada uma pode ser usada de
forma totalmente independente.
Cada partio pode ser usada pelos sistemas operativos para guardar dados,
tipicamente organizados em directrios (pastas) e ficheiros. A forma como os dados
so organizados e guardados conhecida por formato do sistema de ficheiros
(file system).
Existem muitos formatos de sistema de ficheiros. Na actualidade nos ambientes
Windows da Microsoft usa-se o NTFS, embora ainda se use tambm FAT. No
sistema operativo Linux os mais usados so o EXT2 e EXT3
O sistema de ficheiros guarda vria informao sobre os objectos, nomeadamente a
sua localizao dentro da partio e atributos tais como o nome e ACL. Toda
esta informao fica armazenada em estruturas guardadas na prpria partio, o
processo de criar estas estruturas conhecido por operao de formatao.
Aps a operao de formatao obtm-se um sistema de ficheiros
completamente vazio.
8
Acesso aos sistemas de ficheiros
A forma lgica como os sistemas operativos facultam acesso aos sistemas de
ficheiros residentes nas vrias parties dos vrios dispositivos de armazenamento
existentes varia, nos sistemas DOS/Windows usam-se as letras de drive. As letras
A: e B: so tradicionalmente reservadas para os discos flexveis (actualmente em
desuso) e o primeiro sistema de ficheiros em disco fica com a letra C:.
Os sistemas Linux (e Unix em geral) usam uma filosofia diferente, escolhe-se um
sistema de ficheiros (partio) para assumir o papel de raiz (root). Os outros
sistemas de ficheiros existentes, seja qual for o seu tipo, vo ser integrados no
sistema de ficheiros de raiz atravs de uma operao designada por montagem.
A montagem consiste numa associao lgica criada pelo sistema operativo entre um
directrio vazio e um sistema de ficheiros residente numa outra partio/disco.
Aps a montagem, o sistema
operativo redirecciona para a
partio montada, todos os
acessos ao directrio vazio.
/ (raiz)
/etc
/mnt
/usr
/usr/local
/mnt/cdrom1
/ // /dev dev dev dev/ // /hdb hdb hdb hdb
/ // /dev dev dev dev/sda1 /sda1 /sda1 /sda1
/ // /dev dev dev dev/hda2 /hda2 /hda2 /hda2
Montagem Montagem Montagem Montagem
9
Planeamento das parties e sistemas de ficheiros
Os programas de instalao automtica, encarregam-se de analisar os discos
existentes, e em funo disso definir as parties e caractersticas dos sistemas de
ficheiros a criar.
Na maioria dos casos tomam as decises correctas, mas falta-lhes o conhecimento
sobre os propsitos exactos do sistema.
Por esta razo em alguns casos as decises podem revelar-se erradas.
Felizmente na maioria dos casos
dada oportunidade de intervir
durante a instalao no sentido de
fazer escolhas relativas s parties a
criar.
No exemplo ao lado, atravs da
alterao directa da tabela de
parties. Em outros casos so dados
vrias vrios modelos possveis a
escolher.
10
Capacidade das parties
Sendo mais complexo alterar as parties depois de concluda a instalao, o ideal
que desde logo elas sejam as correctamente dimensionadas para os objectivos
pretendidos.
Numa primeira anlise podemos afirmar que o aproveitamento ideal do disco
obtido com uma partio nica. Isso verdade porque as parties tornam-se
limites estticos que no podem ser ultrapassados sob o ponto de vista de
capacidade.
Sob o ponto de vista de segurana estes limites so vantajosos pois permitem
atribuir a diferentes partes do sistema espaos prprios no disco, impedindo
perturbaes entre elas.
Por exemplo, se as reas dos utilizadores (homes) se encontrarem numa
partio diferente do sistema (raiz), ento se um utilizador cometer um
erro e encher a sua rea de trabalho isso no vai afectar a partio de sistema.
(embora afecte os outros utilizadores pois a partio fica cheia)
11
Capacidade das parties e cotas
Para criar independncia entre utilizadores sob o ponto de vista de espao em disco,
criar uma partio para cada utilizador no prtico.
A alternativa o sistema de cotas em que o sistema operativo mantm um controlo
constante sobre o espao que cada utilizador/grupo est a usar numa dada partio.
As cotas apenas podem ser definidas ao nvel de partio
O facto de as cotas apenas funcionarem ao nvel de partio pode condicionar a forma como
o disco deve ser dividido em parties.
No boa ideia ter as reas dos utilizadores na partio de raiz e estabelecer cotas nessa
partio pois quando ficar sem cota o utilizador vai ter dificuldades em usar o sistema.
Muitas vezes necessrio que atribuir no uma mas vrias cotas, por exemplo:
- Cota rea de utilizador - Cota de rea WEB
- Cota para correio electrnico - Cota na partio de sistema
Para cada uma ser necessria a existncia de uma partio separada.
12
Capacidade da partio RAIZ
A partio RAIZ destina-se ser a base do
sistema de ficheiros, durante a fase inicial de
arranque do sistema operativo tudo de
que o ncleo dispe, s mais tarde possvel
montar outras parties.
A partio RAIZ deve ter capacidade para conter todo o sistema operativo base,
incluindo elementos cujas dimenses podem crescer ao longo da vida do sistema
tais como ficheiros de configurao, dados e registos.
Na prtica, atendendo s capacidades actuais dos dispositivos de armazenamento,
num servidor baseado em discos correntes, no faz qualquer sentido usar uma
partio de raiz de tamanho inferior a 8 Gbytes.
Aumentar o espao disponvel no sistema relativamente simples pois basta
adicionar (montar) novas parties, eventualmente residentes em novos discos. Este
procedimento pode depois ser rematado com a utilizao de ligaes simblicas
para produzir a estrutura de ficheiros necessria.
13
Por outras palavras a quantidade de memria central de um sistema servidor deve
ser tal que a memria virtual apenas seja usada muito esporadicamente. Por esta
razo no h interesse em ter parties SWAP muito grandes, geralmente usa-se a
regra de usar um espao em disco igual quantidade de memria central.
Capacidade das parties SWAP
A partio SWAP funciona como memria
virtual, dada a lentido do funcionamento dos
discos em comparao com a memria central,
deve ser vista como um mecanismo tampo
que evita que a memria se esgote.
Desde que exista espao em disco livre (no atribudo a nenhuma partio),
sempre possvel acrescentar novas parties SWAP pois o sistema operativo tem
capacidade de usar simultaneamente vrias destas parties, eventualmente em
discos distintos.
14
Tipos de sistema de ficheiros
O sistema operativo LINUX suporta uma grande
variedade de sistemas de ficheiros, actualmente o
mais usado o ext3 (third extended filesystem).
A maioria dos programas de instalao de
distribuies LINUX actuais assume o ext3 como
valor por omisso.
Tal como acontece para as parties do disco, normalmente possvel intervir
durante a instalao para alterar o tipo de sistema de ficheiros. Algumas das
alternativas actuais ao ext3 que tm vantagens interessantes, so o ReiserFS e o XFS.
Todos estes sistemas de ficheiros recentes so do tipo journaling, isso significa que
as alteraes realizadas so guardadas num registo e apenas so transferidas para o
sistema de ficheiros em momentos oportunos.
Na prtica isto significa que aps uma falha grave no h necessidade de verificar a
integridade da totalidade do sistema de ficheiros, tal como acontecia por exemplo
com o ext2.
15
RAIZ inicial e mdulos
O facto de um tipo de sistema de ficheiros ser suportado pelo LINUX no significa
que o ncleo o consiga usar como raiz inicial. A raiz inicial (muitas vezes um
RAMDISK temporrio) usada pelo ncleo como base de trabalho durante o
arranque da mquina, entre outros ficheiros contm mdulos do ncleo (kernel
loadable module - KLM).
Dada a enorme variedade de capacidades que actualmente o ncleo LINIX possui
necessrio seleccionar as mais importantes e mais usadas. Apenas essas so includas
integramente no ncleo, as restantes so suportadas atravs do carregamento de
mdulos adicionais.
Por sua vez o carregamento de mdulos exige um sistema de ficheiros j montado,
isto tem uma implicao imediata: o sistema de ficheiros inicial (raiz inicial) tem
de ser integralmente suportado pelo ncleo, o seu suporte no pode ser carregado
de um mdulo.
Os ncleos includos nas distribuies actuais suportam ext2 e ext3 sem recurso a mdulos,
contudo o mesmo no se aplica necessariamente aos sistemas de ficheiros ReiserFS e xfs.
16
Parmetros de formatao do sistema de ficheiros
A formatao dos sistema de ficheiros recorre a programas externos com o nome
mkfs seguido do tipo de sistema de ficheiros, por exemplo mkfs.ext3 ou
mkfs.ext2.
mke2fs [ -c | -l filename ] [ -b block-size ] [ -f
fragment-size ] [ -g blocks-per-group ] [ -i bytes-per-
inode ] [ -j ] [ -J journal-options ] [ -N number-of-
inodes ] [ -n ] [ -m reserved-blocks-percentage ] [ -o
creator-os ] [ -O feature[,...] ] [ -q ] [ -r fs-revision-level
] [ -E extended-options ] [ -v ] [ -F ] [ -L volume-label ]
[ -M last-mounted-directory ] [ -S ] [ -T filesystem-type
] [ -V ] device [ blocks-count ]
Os programas de instalao automtica
de distribuies LINUX invocam estes
programas com as parmetros que
consideram adequados tendo em vista a
partio em causa e o tipo de utilizao
que vai ter.
De entre os vrios parmetros sobre os quais vale a pena ponderar encontra-se o
tamanho de bloco e o nmero de bytes por i-node, valores elevados permitem uma
performance mais elevada, mas podem conduzir ao desaproveitamento do espao
quando os ficheiros tm dimenso mais reduzida.
No exemplo acima, a opo -T permite indicar o tipo de utilizao que o sistema
vai ter e deixa para o comando a definio dos parmetros ptimos.
17
Configurao da interface de rede
Num sistema servidor as interfaces de rede devem ser configuradas estaticamente
Utilizar configurao dinmica, tipicamente atravs do protocolo DHCP cria uma
dependncia externa no sistema (servio DHCP externo). Num servidor, para o qual
se pretende uma elevada fiabilidade/disponibilidade, todas as dependncias
externas so de evitar.
A configurao esttica da interface de rede exige a colaborao do administrador da
rede que dever fornecer os vrios elementos:
- Endereo IP esttico + mascara de rede + endereo do encaminhador da rede
- Nome do domnio DNS endereos dos respectivos servidores de nomes
A nica desvantagem da configurao esttica a necessidade de uma sintonia
permanente entre o administrador da rede e o administrador do sistema servidor. As
alteraes de configurao na rede tm de ser manualmente realizadas no servidor.
18
Formas de instalao do LINUX
As distribuies LINUX disponibilizam vrias formas de
instalao, a maioria delas baseada no prprio LINUX.
O arranque do sistema de instalao (LINUX) normalmente realizado atravs de
um CD/DVD. Na realidade qualquer forma de arranque do LINUX poder ser
usada, por exemplo directamente do MS-DOS/MS-WINDOWS ou atravs de uma
EPROM.
As distribuies actuais so compostas por um grande volume de software
(actualmente muitas ultrapassam as duas dezenas de CDs). Contudo, na prtica a
maioria das instalaes recorre apenas a uma fraco deste software.
A instalao de rede usa apenas um CD (ou at menos do que isso ) para
colocar o sistema de instalao em funcionamento e de seguida usa a rede (ligada
INTERNET) para obter o software em repositrios (mirrors) criados para este
efeito. Desde que se possua uma ligao INTERNET com capacidades mnimas,
esta sem dvida uma alternativa muito prtica.
19
Instalao do LINUX - HARDWARE
O variedade de HARDWARE existente o responsvel pela
maioria das dificuldades no processo de instalao de
distribuies LINUX.
Se o HARDWARE muito recente devemos ter o cuidado de usar uma distribuio
com ncleo o mais recente possvel para haver alguma garantia que esse
HARDWARE suportado.
O procedimento correcto escolher o HARDWARE para o SOFTWARE que
vamos usar, assim antes de adquirir o HARDWARE temos de verificar se a
distribuio LINUX que vamos usar suporta esse HARDWARE.
A aquisio de HARDWARE especial de elevado custo termina muitas vezes
numa desiluso quando se chega concluso que no h sistemas operativos capazes
de tirar partido dele.
Os controladores de disco so uma fonte de problemas pois se no so suportados
pelo ncleo do sistema de instalao, esta torna-se de todo impossvel.
20
Bases de dados de utilizadores e grupos
A forma standard de um sistema operativo UNIX guardar as definies relativas
a utilizadores e grupos atravs dos ficheiros de texto /etc/passwd e
/etc/group. O ficheiro /etc/shadow usado como auxiliar do /etc/passwd.
bash-3.00$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
nobody:x:65534:65534:Nobody:/:/bin/sh
sshd:x:77:77:system user for openssh:/var/empty:/bin/true
www:x:98:98:Gestor WWW:/users/home/www:/usr/bin/tcsh
i977805:x:2176:102:Joaquim Cardoso Morais:/users/home/i977805:/bin/csh
artur:$1$s2b9pyc6$46nIOl8G1fGrymmvsJejG/:1203:98:Artur:/users/home/artur:/bin/bash
-bash-3.00$ cat /etc/group
root:x:0:
bin:x:1:
nogroup:x:65534:
sshd:x:77:
users:x:100:
inf:x:102:
profs:x:98:
dom_users:x:1003:artur,i977805
21
Gesto de utilizadores e grupos locais
A maioria das distribuies actuais dispe de programas de gesto de
utilizadores em modo grfico que permitem realizar a maioria das tarefas bsicas.
Em modo de texto existe um conjunto de comandos standard no LINUX:
useradd ; usermod ; userdel ; groupadd ; groupmod ; groupdel ; chfn ;
chsh ; passwd.
A terceira alternativa consiste na manipulao directa dos ficheiros, este tipo de
operao envolve algum risco pois h necessidade de evitar qualquer tipo de
incoerncia ou sobreposio de identificadores.
Estes comandos tm a vantagem de terem uma solidez aprovada e realizarem
algumas validaes e operaes acessrias.
Quando os utilizadores esto definidos em repositrios remotos, a forma como
so geridos coincide com a forma de gesto desses repositrios e no pode, na
maioria dos casos, ser realizada no sistema local.
22
Name Service Switch (NSS)
A necessidade de diversificar os repositrios de informao de configurao do
sistema (entre outros, bases de dados de utilizadores e grupos) levou ao
desenvolvimento de sistemas alternativos, um dos mais importantes o sistema
centralizado NIS (Network Information Service), tambm conhecido por Yellow
Pages.
Atravs do NSS, o LINUX consegue integrar de forma eficaz as muitas alternativas
disponveis na actualidade. Trata-se de um sistema modular, por isso a adio do
suporte de novos tipos de repositrio faz-se por simples adio de um mdulo.
NSS
Sistema operativo
Consultas
libnss_dns.so
libnss_ldap.so
libnss_files.so
libnss_nis.so
libnss_winbind.so
libnss_mysql.so
/etc
Servidores
DNS
Servidores
LDAP
Servidores
NIS
Windows 2003
Server
Servidor
MySQL
23
Ficheiro de configurao /etc/nsswitch.conf
O servio NSS configurado atravs do ficheiro /etc/nsswitch.conf, o principal
papel definir a ordem pela qual os vrios repositrios disponveis vo ser usados.
Note-se que cada mdulo NSS possui ficheiros de configurao prprios, por
exemplo o libnss_ldap.so usa o ficheiro de configurao /etc/ldap.conf.
bash-3.00$ cat /etc/nsswitch.conf
#
passwd: files ldap winbind nis
shadow: files nis
group: files ldap winbind nis
hosts: files nis dns winbind
No exemplo as definies de utilizador sero pesquisadas pela seguinte ordem:
1 Ficheiros locais (/etc/passwd) 2 Servidores LDAP
3 Servidores Windows 4 Servidores NIS
Ser usado o primeiro que for encontrado
24
Autenticao dos utilizadores
Apesar das suas fraquezas, o mecanismo de autenticao de utilizadores mais usado
continua a ser a associao de uma palavra secreta (password) ao nome de
utilizador.
Quem s tu ?
Prova-o !
Devido ao seu carcter secreto, o manuseamento das passwords dos utilizadores
tem de ser tratado com cuidados especiais. Como as passwords so normalmente
armazenadas juntamente com as restantes definies dos utilizadores, a diversificao
dos tipos de repositrio suportado veio complicar a autenticao.
Como resposta a estes e outros desafios foi criado um servio destinado
exclusivamente aos procedimentos de autenticao, os Pluggable Authentication
Modules (PAM).
25
Pluggable Authentication Modules (PAM)
A forma tradicional de autenticao de utilizadores em UNIX consiste em comparar
um digest da password que foi fornecida pelo utilizador com o digest que est
armazenado na base de dados. Mesmo usando algoritmos recentes como o MD5 ou o
SHA, o melhor manter os digest secretos, foi com esse objectivo que esta
informao foi transferida do ficheiro /etc/passwd para o ficheiro /etc/shadow.
Alm da necessidade da manter confidencial o digest, o facto de o sistema no ter
acesso password (apenas o digest), impede a implementao de autenticao
challenge-response. O sistema PAM introduziu uma grande flexibilidade
permitindo a utilizao de diversos mecanismos suportando diversos tipos de
repositrio.
Tal como o NSS trata-se de um sistema modular, cada modulo implementa
determinada funcionalidade, nem todas relacionados com o acesso a repositrios:
pam_radius.so
pam_ldap.so
pam_ftp.so
pam_listfile.so
pam_winbind.so
pam_shells.so
pam_cracklib.so
pam_issue.so pam_time.so
pam_rootok.so
pam_mysql.so
pam_mail.so pam_unix.so
26
PAM Cadeias/Sequncias de mdulos
Cada mdulo intervm numa dada ordem, resultado dessa interveno pode ter
vrios tipos de impacto no resultado do processamento do conjunto:
required em caso de sucesso continua a cadeia, em caso de falha tambm
continua a processar os mdulos seguintes, mas a cadeia vai devolver falha .
sufficient em caso de sucesso, no existindo falhas required anteriores,
devolve sucesso e termina a cadeia. Em caso de falha regista uma falha optional e
continua a processar a cadeia.
optional - em caso de sucesso continua a cadeia, em caso de falha regista uma
falha optional e continua a processar a cadeia.
binding - em caso de sucesso, no existindo falhas anteriores devolve sucesso e
termina a cadeia. Em caso de falha continua a processar os mdulos seguintes, mas a
cadeia vai devolver falha.
requisite em caso de sucesso continua a cadeia, em caso de falha termina de
imediato e devolve falha.
27
PAM - Configurao
Os ficheiros de configurao do sistema PAM so normalmente guardados na pasta
/etc/pam.d/, para cada servio pode existir um ficheiro de configurao diferente,
quando uma aplicao pretende usar o PAM, necessita de fornecer um identificador
do tipo de autenticao que corresponde a um nome de um ficheiro de configurao.
-bash-3.00$ cat /etc/pam.d/system-auth
#%PAM-1.0
auth required pam_env.so
auth sufficient pam_unix.so likeauth nullok
auth sufficient pam_ldap.so use_first_pass
auth required pam_deny.so
account sufficient pam_unix.so
account sufficient pam_ldap.so use_first_pass
account required pam_deny.so
password required pam_cracklib.so retry=3 minlen=2 dcredit=0 ucredit=0
password sufficient pam_unix.so nullok use_authtok md5 shadow
password sufficient pam_ldap.so
password required pam_deny.so
session optional pam_mkhomedir.so skel=/etc/skel/ umask=0022
session required pam_limits.so
session required pam_unix.so
Autenticao
Verificao de
validade/acesso
Alterao da
password
Gesto da
sesso
Exemplo com as
4 cadeias:
28
PAM Alguns mdulos comuns
Mdulo password que verifica a solidez da nova password que o utilizador est a digitar, alm de
verificar a no dicionrio do sistema, pode tambm fazer algumas verificaes adicionais.
pam_cracklib
Pode ser usado em qualquer das cadeias, permite devolver sucesso ou falha em funo de uma lista
residente num ficheiro, por exemplo com uma lista de utilizadores autorizados.
pam_listfile
Mdulo auth que devolve sempre sucesso para o administrador e devolve sucesso para os outros
utilizadores, a menos que exista o ficheiro /etc/nologin.
pam_nologin
Mdulo session que apresenta uma mensagem aps a entrada no sistema (message of the day).
pam_motd
Mdulo auth que permite apresentar uma mensagem antes da autenticao do utilizador.
pam_issue
Modulo de interface com repositrios LDAP, suporta as funcionalidades auth, account e password.
pam_ldap
Mdulo auth e account que faz a verificao de mail no inicio da sesso.
pam_mail
Mdulo auth e session que permite manipular as variveis de ambiente segundo um ficheiro de
configurao, geralmente /etc/security/pam_env.conf.
pam_env
Pode ser usado em qualquer das cadeias, devolve sempre falha. Usado para testes ou para finalizar
uma cadeia.
pam_deny
Pode ser usado em qualquer das cadeias, implementa as funcionalidades tradicionais do UNIX pr-
PAM.
pam_unix
29
rea de trabalho do utilizador (HOME)
Dependendo da finalidade do sistema e utilizadores do sistema, torna-se muitas vezes
necessrio proporcionar uma pasta pessoal e privada para armazenamento
permanente de dados do utilizador. Esta pasta conhecida por HOME
DIRECTORY ou apenas HOME.
A localizao/nome da pasta pessoal est definida no registo do utilizador, para
muitos tipos de servio fundamental uma pasta sobre a qual o utilizador possua
direitos de escrita, tipicamente as permisses usadas so 700. Para servios de
utilizador em que existe conceito de directrio corrente, tais como FTP ou a linha de
comando (acessos por terminal), a HOME ser o directrio inicial.
-bash-3.00$ ls -la /etc/skel/
total 32
drwxr-xr-x 3 root root 4096 Out 17 2006 ./
drwxr-xr-x 76 root root 8192 Mai 30 10:20 ../
-rw-r--r-- 1 root root 24 Jun 13 2005 .bash_logout
-rw-r--r-- 1 root root 191 Jun 13 2005 .bash_profile
-rw-r--r-- 1 root root 124 Jun 13 2005 .bashrc
-rw-r--r-- 1 root root 3793 Ago 23 2005 .screenrc
drwx------ 2 root root 4096 Ago 26 2004 tmp/
Os programas que criam utilizadores
podem tambm criar a respectiva
HOME, normalmente usam como
modelo a pasta /etc/skel/.
Depois de copiado o contedo o proprietrio/grupo alterado (comando chown)
e as permisses podem ser ajustadas com o comando chmod.
30
rea de trabalho do utilizador - permisses
A privacidade da rea de trabalho do utilizador consegue-se retirando todas as
permisses aos outros utilizadores e grupos, ou seja 700.
Por exemplo a UMASK 0022, que bastante usada, indica que os bits de valor 2 (permisso de
escrita) devem ser desactivados para o grupo e para outros.
As permisses podem ser facilmente alteradas com o comando chmod, mas no que
diz respeito aos novos ficheiros e pastas criados depois disso, as permisses com que
so criadas so determinadas pela UMASK. Trata-se de uma mscara de negao de
bits de permisso, ou seja indica os bits que devem ser desactivados.
4 2 1 4 2 1 4 2 1
r w x r w x
BITS (16)
Valor decimal dos BITS
Representao simblica
GROUP OTHERS
4 2 1
r w x
OWNER
4 2 1 8
Tipo de
Objecto
Permisses
Especiais
O valor da UMASK pode ser alterado com o comando umask, mas no se mantm
de umas sesses para as outras, ter de ser definido no inicio de cada sesso.
Determinadas aplicaes podem
exigir outros tipos de permisso,
por exemplo para o apache
poder divulgar uma pgina Web
numa pasta no interior da HOME,
a HOME necessita de ter a
permisso x para others.
31
Variveis de ambiente
HOME
As variveis de ambiente so um conjunto de dados associado a cada processo que
pode ser usado para diversas finalidades, uma das mais comuns guardar informao
sobre o sistema e contexto em que o processo/aplicao se encontra.
As variveis de ambiente podem ser marcadas para exportao (herana pelos
processos filhos). Devido exportao acabam por afectar todos os processos do
sistema, muitas vezes com grande impacto no seu funcionamento.
MANPATH
HOSTNAME
USER
LANG
LANGUAGE
TERM
PATH
LD_LIBRARY_PATH
A maioria dos processos e aplicaes em funcionamento num sistema operativo
LINUX so desencadeados a partir de uma SHELL, tipicamente /bin/sh (na
realidade /bin/bash).
O arranque da SHELL por isso a altura apropriada para ajustar as variveis de
ambiente, isso consegue-se usando os ficheiros de arranque da SHELL.
32
Ficheiros de arranque da SHELL
Uma vez que a SHELL usada como base para o lanamento de aplicaes, o local
ideal para configurar o ambiente que vai depois ser herdado por todos os processos
lanados. Isto particularmente vlido para a SHELL inicial ou de login.
Cada tipo SHELL usa ficheiros de arranque distintos, a SHELL tradicional /bin/sh
executa os ficheiros /etc/profile e de seguida .profile na HOME ( ~/.profile).
A SHELL /bin/sh na actualidade simulada pela BASH, quando invocada como
BASH (/bin/bash) usa a seguinte sequncia de ficheiros de arranque: /etc/profile ;
~/.bash_profile ; ~/.bash_login ; ~/.profile.
A C SHELL /bin/csh ou /bin/tcsh executa a seguinte sequncia de ficheiros de
arranque: /etc/csh.cshrc ; /etc/csh.login ; ~/.cshrc ; ~/.login.
Uma caracterstica a reter que os ficheiros da rea do utilizador so executados em
ltimo lugar, por isso podem alterar o que foi feito nos ficheiros de sistema (/etc/*).
33
bash-3.00$ cat /etc/profile
# /etc/profile -*- Mode: shell-script -*-
# (c) MandrakeSoft
if ! echo ${PATH} |grep -q /usr/X11R6/bin ; then
PATH="$PATH:/usr/X11R6/bin"
fi
if [ "$UID" -ge 500 ] && ! echo ${PATH} |grep -q /usr/games ; then
PATH=$PATH:/usr/games
fi
umask 022
USER=`id -un`
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
HOSTNAME=`/bin/hostname`
export PATH USER LOGNAME MAIL HOSTNAME
for i in /etc/profile.d/*.sh ; do
if [ -x $i ]; then
. $i
fi
done
unset i
Ficheiro /etc/profile tpico
Pasta com mais ficheiros a executar
Definio da UMASK
Definio da variveis
Variveis a exportar
34
Cotas de utilizadores e grupos
As cotas servem para controlar e limitar o espao que cada utilizador ou grupo usa
numa determinada partio. Alm do espao ocupado tambm possvel limitar o
nmero de objectos.
O objectivo das cotas garantir uma partilha equitativa de um recurso que limitado,
evitando que o abuso de alguns comprometa o trabalho dos restantes.
O controlo de cotas realizado pelo ncleo durante as operaes de manuseamento
do sistema de ficheiros, o ncleo regista as alteraes realizadas pelo utilizador e em
funo das variaes actualiza o registo do utilizador ou grupo.
O controlo de cotas pelo ncleo no realizado em valor absoluto.
Supe-se que o ponto de partida um registo de cotas correcto.
As cotas de utilizador dizem respeito aos recursos ocupados por cada utilizador, as
cotas de grupo referem-se ao somatrio dos recursos ocupados por todos os
membros de cada grupo.
35
Cotas montagem da partio
O primeiro passo para activar a contabilizao de cotas numa dada partio alterar
as opes de montagem no ficheiro /etc/fstab, incluindo as opes usrquota
e/ou grpquota.
Os programas de suporte de cotas verificam o /etc/fstab para saberem quais as
parties onde existe suporte de cotas. Por exemplo durante o arranque do sistema
executado o comando quotaon a.
O comando quotaon informa o ncleo de que deve comear a controlar as cotas
numa determinada partio. Esta operao pressupe que a contabilizao de cotas
nessa partio j existe e est actualizada.
A opo -a faz com que o comando active as cotas em todas as parties referidas
no /etc/fstab que tm as opes usrquota ou grpquota.
O comando quotaoff desactiva o controlo de cotas pelo ncleo numa dada
partio.
36
Cotas contabilizao inicial
O ncleo regista variaes de cota e actualiza o registo absoluto em funo dessas
variaes. A validade inicial do registo absoluto no da responsabilidade do ncleo.
O comando quotacheck tem como misso efectuar a contabilizao absoluta das
cotas, normalmente s necessrio executar uma vez, a menos que uma falha grave
danifique o registo existente nos ficheiros (a)quota.user e/ou (a)quota.group
localizados na raiz da partio correspondente.
O comando quotacheck deve ser executado com precauo, as cotas devem estar
desactivadas (quotaoff) e no devem ocorrer alteraes na partio durante o
processo. Por esta razo o comando quotacheck tenta remontar a partio em
modo leitura-apenas.
Aps a execuo do comando quotacheck os ficheiros (a)quota.user e/ou
(a)quota.group esto reparados e actualizados podendo ento ser executado o
comando quotaon para que o ncleo se encarregue de os manter.
37
Cotas definio de valores
O valor da cota mxima tm de ser definido utilizador a utilizador (cotas de
utilizador) ou grupo a grupo (cotas de grupo).
Tanto para as cotas de espao (blocos de 1024 octetos) como de objectos (i-nodes)
so definidos dois limites: soft e um hard mais elevado. O limite soft pode ser
excedido por um perodo de tempo mximo conhecido por grace period.
Os valores de cota definidos como zero sero considerados sem limite.
Os vrios limites de cota podem ser alterados com o comando setquota e o
comando edquota, este ltimo interage atravs de um editor de texto.
-bash-3.00$ /usr/sbin/setquota
setquota: Bad number of arguments.
setquota: Usage:
setquota [-u|-g] [-F quotaformat] <user|group>
<block-softlimit> <block-hardlimit> <inode-softlimit> <inode-hardlimit> -a|<filesystem>...
setquota [-u|-g] [-F quotaformat] <-p protouser|protogroup> <user|group> -a|<filesystem>...
setquota [-u|-g] [-F quotaformat] -b -a|<filesystem>...
setquota [-u|-g] [-F quotaformat] -t <blockgrace> <inodegrace> -a|<filesystem>...
setquota [-u|-g] [-F quotaformat] <user|group> -T <blockgrace> <inodegrace> -a|<filesystem>...
Bugs to: mvw@planets.elm.net, jack@suse.cz
38
Cotas apresentao do estado
Cada utilizador pode visualizar a sua situao de cotas com o comando quota, ao
administrador este comando permite visualizar as cotas de qualquer utilizador.
O comando repquota permite ao administrador obter o estado geral das cotas no
sistema de ficheiros.
39
Interfaces de rede
Designa-se por interface de rede o conjunto de componentes de hardware que
permitem a ligao fsica de um computador a um dado tipo de infra-estrutura de
rede. Relativamente ao MR-OSI, a interface de rede implementa funcionalidades
do nvel 1 e nvel 2.
Quando o ncleo LINUX detecta uma interface de rede associa-lhe um identificador
apropriado. Uma vez que podem existir vrios dispositivos do mesmo tipo, os
identificadores tm um sufixo numrico que comea em zero.
Por exemplo as interfaces do tipo ETHERNET sero identificadas por eth0; eth1;
eth2; , na ordem em que so detectadas.
Para que o ncleo possa detectar uma interface de rede (ou qualquer hardware) necessita que o
respectivo suporte (driver) esteja includo no ncleo, ou seja adicionado atravs de um mdulo.
40
Administrao de interfaces de rede - ifconfig
O comando ifconfig um dos meios directos de que o administrador dispe para
manusear as interfaces de rede de um sistema LINUX.
-bash-3.00$ /sbin/ifconfig --help
Usage:
ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>]
[add <endereo>[/<tam_prefixo>]] [del <endereo>[/<tam_prefixo>]]
[[-]broadcast [<endereo>]] [[-]pointopoint [<endereo>]]
[netmask <endereo>] [dstaddr <endereo>] [tunnel <endereo>]
[outfill <NN>] [keepalive <NN>] [hw <HW> <endereo>] [metric <NN>]
[mtu <NN>] [[-]trailers] [[-]arp] [[-]allmulti] [multicast]
[[-]promisc] [mem_start <NN>] [io_addr <NN>] [irq <NN>] [media <tipo>]
[txqueuelen <NN>] [[-]dynamic] [up|down] ...
O campo <AF> (Address Family) serve para identificar a pilha/famlia de
protocolos o valor por omisso inet que representa o IPv4. Outros valores
suportados so por exemplo o inet6 e o ipx. A forma e a aplicao de muitos
dos restantes parmetros depende de AF.
41
Administrao de encaminhamento - route
O comando route permite manipular a tabela de encaminhamento (routing) do
ncleo do sistema operativo. com base na tabela de encaminhamento que o
ncleo sabe como fazer chegar os pacotes ao destino correcto.
/sbin/route [ add | del ] [ -net | -host ]
[ REDE/IP-DESTINO ] [ netmask MSCARA-DE-REDE ]
[ gw GATEWAY ] [ [dev] INTERFACE ]
[root@server ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
172.16.16.2 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
172.16.16.4 0.0.0.0 255.255.255.255 UH 0 0 0 ppp2
193.136.62.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.62.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0.3
172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1.7
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1.6
172.22.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
172.23.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1.5
172.24.0.0 192.168.62.7 255.252.0.0 UG 0 0 0 eth0.3
172.28.0.0 192.168.62.8 255.252.0.0 UG 0 0 0 eth0.3
0.0.0.0 193.136.62.1 0.0.0.0 UG 0 0 0 eth0
Usado sem argumentos o comando route apresenta a tabela de encaminhamento:
42
Configurao IPv4 de uma interface de rede
Para configurar uma interface de rede IPv4 apenas so necessrios dois elementos:
o endereo IP local e a respectiva mascara de rede. Os outros elementos so
redundantes e podem ser deduzidos.
Endereo IPv4
+
Mscara de rede
Endereo de broadcast
Esta informao no suficiente para um funcionamento normal de um sistema
em rede, mas sob o ponto de vista de informao associada a uma interface de
rede a necessria.
Endereo da rede local
+
Mscara de rede
Tabela de
encaminhamento
-bash-3.00$ /sbin/ifconfig eth0 192.168.111.150 netmask 255.255.255.0
-bash-3.00$ /sbin/route add -net 192.168.111.0 netmask 255.255.255.0 eth0
-bash-3.00$ /sbin/ifconfig eth0
eth0 Link encap:Ethernet Endereo de HW 00:0C:29:FE:E7:F8
inet end.: 192.168.111.150 Bcast:192.168.111.255 Masc:255.255.255.0
UP BROADCASTRUNNING MULTICAST MTU:1500 Mtrica:1
RX packets:243766872 errors:0 dropped:0 overruns:0 frame:0
TX packets:249142107 errors:0 dropped:0 overruns:0 carrier:0
colises:0 txqueuelen:1000
RX bytes:3379540387 (3.1 GiB) TX bytes:1843450578 (1.7 GiB)
43
Comando ip
O comando ip junta as funcionalidades de vrios comandos relacionados com a
administrao de rede, de entre eles o comando ifconfig e o comando route.
Acrescenta ainda vrias outras funcionalidades bastante importantes.
/sbin/ip [ ... ] [ link | addr | route | rule | neigh | tunnel |
maddr | mroute | monitor | xfrm ] ...
Usando o comando ip, o exemplo anterior seria:
-bash-3.00$ /sbin/ip addr add 192.168.111.150/24 broadcast + dev eth0
-bash-3.00$ /sbin/ip route add 192.168.111.0/24 eth0
-bash-3.00$ /sbin/ip addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:0C:29:FE:E7:F8 brd ff:ff:ff:ff:ff:ff
inet 192.168.111.150/24 brd 192.168.111.255 scope global eth0
# /sbin/ip route show
172.16.16.11 dev ppp9 proto kernel scope link src 172.16.16.1
172.16.16.10 dev ppp8 proto kernel scope link src 172.16.16.1
193.136.62.0/24 dev eth0 proto kernel scope link src 193.136.62.11
192.168.62.0/24 dev eth0.3 proto kernel scope link src 192.168.62.11
172.18.0.0/16 dev eth1.7 proto kernel scope link src 172.18.0.1
default via 193.136.62.1 dev eth0
44
Caminho por omisso (default route)
S possvel enviar pacotes IPv4 para destinos (redes) que constem na tabela
de encaminhamento.
claro que no possvel manter entradas na tabela de encaminhamento para todas
as redes IPv4 existentes a nvel global.
Se isso fosse possvel rapidamente se iria verificar que com a excepo das redes
locais, todas as outras seriam representadas por linhas idnticas na tabela de
encaminhamento pois o primeiro salto para chegar a qualquer dessas redes sempre
o mesmo: o router local de ligao internet. Esse o default router.
INTERNET
(TODAS AS OUTRAS REDES)
Rede Local A
ROUTER
2
Rede Local B
Rede Local C
Rede Local D
ROUTER 1
O Router 1 ser o primeiro n do caminho por
omisso para as redes A e B.
O Router 2 ser o primeiro n do caminho por
omisso para as redes D e C.
45
Mltiplos endereos / interface
At ao ncleo 2.4 o suporte de vrios endereos sobre a mesma interface fsica era
conhecido por ip alias, para o efeito aos nomes das interfaces era acrescentado um
sufixo na forma :n, por exemplo eth0:0, eth0:1, so alias da interface eth0,
cada um com o seu prprio endereo IP diferente do da interface eth0.
Nos ncleos mais recentes, com o comando ip addr add possvel atribuir
vrios endereos a uma mesma interface. Para manter a compatibilidade com o
comando ifconfig prtica corrente manter a mesma terminologia usando a opo
label do comando ip.
[root@server]# /sbin/ip address add 192.168.199.35/24 brd + dev eth0
[root@server]# /sbin/ip address add 192.168.199.37/24 brd + dev eth0 label eth0:0
[root@server]# /sbin/ip address show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:80:c8:f8:4a:51 brd ff:ff:ff:ff:ff:ff
inet 192.168.199.35/24 brd 192.168.199.255 scope global eth0
inet 192.168.199.37/24 brd 192.168.199.255 scope global secondary eth0:0
[root@server]# /sbin/ifconfig
eth0 Link encap:Ethernet HWaddr 00:80:C8:F8:4A:51
inet addr:192.168.199.35 Bcast:192.168.199.255 Mask:255.255.255.0
eth0:0 Link encap:Ethernet HWaddr 00:80:C8:F8:4A:51
inet addr:10.10.20.10 Bcast:10.10.20.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
46
Suporte de VLAN
Ao contrrio de um alias que definido no nvel de rede (Ex.: IPv4), uma VLAN
definida no nvel de ligao lgica, por isso existe uma separao real tal como se
tratassem de meios fsicos separados.
Para se conseguir esta separao a norma IEEE 802.1q define a forma de etiquetar as
tramas de nvel 2 para que no se misturem entre si. O identificador de VLAN um
nmero de 0 a 4095, os equipamentos de rede devem tratar estas tramas etiquetadas
(labeled) de tal forma que no se misturem identificadores de valores diferentes.
O comando vconfig usado para criar uma VLAN numa interface fsica existente:
[root@server]# /sbin/vconfig add eth0 9
Aps a execuo do comando acima torna-se vlida a interface eth0.9, todas as
tramas emitidas atravs de ela transportam a etiqueta IEEE 802.1q com o valor 9.
De igual modo, nesta interface apenas sero recebidas tramas com etiqueta IEEE
802.1q contendo o valor 9.
Para remover uma VLAN usa-se o mesmo comando:
VLANID
# /sbin/vconfig rem eth0.9
47
Configurao automtica da rede
No sendo muito aconselhvel em servidores, a configurao automtica
fundamental nos postos de trabalho.
A configurao automtica da rede IPv4 faz-se com recurso a servidores DHCP
existentes na rede, em LINUX o comando/servio dhclient permite configurar por
este meio todas ou algumas das interfaces de rede. Depois de obter o endereo para
uma interface, o servio mantm-se em execuo para controlar o aluguer (lease)
do endereo, procedendo aos refrescamentos necessrios junto do servidor DHCP.
O servio ifplugd particularmente til em postos de
trabalho com vrias interfaces de rede, este servio
monitoriza constantemente o estado das ligaes
fsicas.
Quando um cabo ligado encarrega-se de activar a
respectiva interface, quando um cabo desligado
remove a respectiva interface de rede no sistema
operativo.
48
Servidor DHCP
O servidor DHCP (dhcpd) recebe pedidos de clientes
enviados sob a forma de datagramas UDP que
inicialmente so emitidos para o endereo
255.255.255.255.
A misso do servidor observar o endereo fsico
(MAC) de origem responder com todos os dados
necessrios para o cliente poder configurar a rede.
Embora o servidor DHCP possa ser configurado com endereos MAC estticos,
torna-se particularmente til o facto de poder gerir autonomamente uma gama de
endereos IP. Para que a atribuio dinmica de endereos seja vivel tem de ser
limitada no tempo, daqui surge o conceito de aluguer (lease) que no existia no
BOOTP onde as atribuies eram vitalcias.
Alm do endereo IP, o servidor envia muito mais informao ao cliente, tais como
nome do domnio e endereos dos servidores de nomes, essa informao pr-
configurada no servidor, normalmente no ficheiro /etc/dhcpd.conf.
49
Internet Daemon INETD/XINETD
Grande parte dos servios de um sistema LINUX so assegurados por processos
servidores autnomos, esta metodologia assegura a mais elevada disponibilidade e
performance.
Alm dos servios de elevado grau de utilizao e com necessidade de elevada
performance, acumulam-se muitas vezes uma grande variedade de servios menores
que apesar da reduzida utilizao tm de estar disponveis em permanncia.
O Internet Daemon foi desenvolvido para substituir vrios processos servidores
durante a fase em que esto espera de ser contactados por clientes. Quando o
contacto ocorre o Internet Daemon invoca o programa apropriado para prestar os
servio.
O Internet Daemon configurado atravs do ficheiro /etc/inetd.conf ou
/etc/xinetd.conf, em qualquer dos casos, para cada servio necessrio especificar
o protocolo a usar (TCP ou UDP), o nmero de porto (ou identificador do servio
definido em /etc/services) e o programa que implementa o servio.
50
Resoluo de nome DNS - cliente
A resoluo de nomes de mquinas (obteno do respectivo endereo IP) pode
comear por recorrer ao ficheiro /etc/hosts, mas na maioria dos casos acaba por
necessitar do servio DNS.
A resoluo de nomes por DNS consiste no envio do nome qualificado a um
servidor de nomes. Os parmetros para configurar o sistema DNS cliente so apenas
os endereos dos servidores de nomes.
Uma vez que podem surgir nomes no qualificados para serem resolvidos, ser
necessrio adicionar-lhes um nome de domnio antes de os enviar ao servidor. Para
esse efeito pode ser definido o domnio local e uma lista de domnios de pesquisa.
Em LINUX o ficheiro de configurao do cliente DNS o /etc/resolv.conf.
[root@server ~]# cat /etc/resolv.conf
domain dei.isep.ipp.pt
search isep.ipp.pt
nameserver 192.168.60.7
nameserver 192.168.60.11
nameserver 193.136.62.3
51
Filtragem comando iptables
O comando iptables permite administrar a filtragem do trfego de rede realizada
pelo ncleo. Existem 4 tabelas: filter; nat; mangle e raw, destas as mais
usadas so as 2 primeiras, por omisso a tabela usada filter. Algumas opes
importantes so:
Em cada cadeia pode ser definida uma sequncia de regras com uma numerao
implcita com incio no valor 1. A numerao importante para algumas operaes
como a eliminao de regras ou insero de regras.
Cada tabela tm determinadas cadeias de regras pr definidas, mas outras podem
ser criadas. Para as duas principais tabelas:
filter : INPUT; FORWARD e OUTPUT.
nat : PREROUTING; OUTPUT; POSTROUTING
iptables A - adicionar regra
iptables D - eliminar regra
iptables I - inserir regra
iptables R - substituir regra
iptables L - listar regras
iptables P - definir poltica da cadeia
52
IPTABLES Comportamento por omisso
Para cada cadeia de regras necessrio definir o comportamento por omisso, ou seja
o que se vai passar se para um dado pacote a cadeia for processada at ao final sem
que nenhuma das regras de verifique.
De entre os quatro comportamentos possveis (ACCEPT; DROP; QUEUE e
RETURN) o que deve ser adoptado como comportamento por omisso (poltica da
cadeia) DROP.
iptables P INPUT DROP
iptables P OUTPUT DROP
iptables P FORWARD DROP
Nesse caso as regras da cadeia devero ter como resultado ACCEPT. Esta
metodologia a mais indicada sob o ponto de vista de segurana, mas tambm mais
trabalhosa.
53
IPTABLES - regras
Existe uma grande variedade de critrios que se podem usar, algumas mais comuns
so:
-p [!] protocolo
-s [!] endereo[/mascara]
-d [!] endereo[/mascara]
-i [!] interface
-o [!] interface
--dport [!] porta1[:porta2]
--sport [!] porta1[:porta2]
No contexto de cada regra definido o que fazer em caso de um pacote obedecer
regra:
-j COMPORTAMENTO
-g CADEIA
Exemplo:
iptables P FORWARD DROP
iptables A FORWARD i eth0 s 195.20.10.23/32 o eth2 p tcp j ACCEPT
iptables A FORWARD i eth0 d 193.136.0.0/16 p tcp dport 8080:8081 j ACCEPT
54
Scripts
Designa-se por script um pequeno programa interpretado contido num simples
ficheiro de texto directamente executvel.
Em outros sistemas no UNIX a parte final do nome de um ficheiro (extenso)
usada para indicar o seu contedo, no caso particular de um script a extenso
poder indicar a linguagem usada e por isso qual o interpretador a usar.
Em LINUX/UNIX usa-se o contedo dos primeiros bytes do ficheiro para o
classificar (magic number). Independentemente do nome/extenso do
ficheiro.
No caso de ficheiros de texto contendo programas interpretados (scripts) a
primeira linha identifica o interpretador que deve ser usado, alm disso sendo
um script, dever ter a permisso de execuo activa.
55
Shebang
O shebang (de hash+bang) a sequncia #! na primeira coluna da
primeira linha dos scripts UNIX. Os caracteres #!, ou seja 0x2321 so o
magic number que identifica o ficheiro como sendo um script.
A parte restante da linha do shebang serve para identificar o programa
interpretador que deve ser usado para executar o script contido no ficheiro.
#!/bin/bash
--- --
-- -- --
#!/usr/bin/perl
--- --
-- -- --
#!/bin/csh
--- --
-- -- --
#!/bin/sh
--- --
-- -- --
#!/usr/bin/pyton
--- --
-- -- --
#!/usr/bin/php
--- --
-- -- --
Como nas linguagens interpretadas usadas as linhas comeadas por # so
consideradas comentrios, o shebang no interfere com o script propriamente
dito.
56
Shell Scripts
O objectivo dos programas classificados como shell fornecer um meio de
interaco com o sistema atravs de comandos. Os comandos podem agrupados em
sequncia num script constituindo assim um verdadeiro programa interpretado,
para se tirar todo o proveito dos shell scripts so disponibilizados comandos de
controlo tais como a deciso e os ciclos de repetio.
Os shell scripts so uma ferramenta importante para o administrador pois
permitem automatizar muitas tarefas e esto sempre acessveis, basta um
editor de texto.
Muitos preferem usar a CSHELL devido semelhana da sua sintaxe com a
linguagem de programao C.
Uma vez que nos sistemas LINUX actuais tanto a shell tradicional (sh/bash) como a C
shell (csh/tcsh) esto sempre disponveis a opo por uma ou outra uma escolha quase
pessoal. Normalmente a opo recai sobre a shell que usa diariamente em modo interactivo.
Outras linguagens como por exemplo PERL e PYTON possuem potencialidades muito
maiores, com bibliotecas bastante extensas, mas exigem a familiarizao do administrador.
57
Shell Scripts exemplo simples em BASH
No DEI as passwords dos utilizadores s podem ser alteradas junto do PDC do
domnio windows, para que o comando habitual passwd atinja esse objectivo foi
substitudo por um pequeno script em BASH.
-bash-3.00$ cat /usr/bin/passwd
#!/bin/bash
echo -e "\n\n\n"
echo "Alterao de password geral do utilizador `id -nu` no DEI"
echo -e "\n"
SMBPASSWD=""
for LOC in /usr/local/samba/bin /usr/local/bin /usr/bin ; do
if [ -x ${LOC}/smbpasswd ]; then
SMBPASSWD=${LOC}/smbpasswd
break;
fi
done
########################
if [ -z "${SMBPASSWD}" ]; then
echo "Existe um problema na instalao desta mquina"
echo " favor contactar os administradores de rede"
exit 1
fi
${SMBPASSWD} -r mafalda2
########################
58
Execuo programada - servio CRON
A possibilidade de programar a execuo de comandos, por exemplo scripts tem
enormes vantagens para o administrador. Permite definir a execuo peridica de
tarefas, por exemplo em horrios apropriados a operaes de manuteno.
Nos sistema LINUX o servio CRON (crond) o mais usado para atingir estes
objectivos, o ficheiro /etc/crontab o principal ficheiro de configurao. As
linhas de comando do ficheiro de configurao apresentam a seguinte forma:
Especificao de data/hora
S
P
C
Utilizador
S
P
C
Comando e argumentos
Minuto
S
P
C
Hora
S
P
C
Dia do ms
S
P
C
Ms
S
P
C
Dia da semana
0 a 59 0 a 23 1 a 31 1 a 12 0 a 7
Os valores nmericos de dia da
semana e ms podem ser
substitudos por nomes. Nos
dias da semana o valor 0 e o
valor 7 so duas alternativas
para especificar Domingo.
Os valores de data/hora podem ser especificados em
intervalos ou por enumerao. O smbolo * representa o
intervalo de todos os valores possveis para esse campo.
59
Servio CRON exemplos /etc/crontab
*/5 * * * * root /usr/bin/mrtg /etc/mrtg/mrtg.cfg
5,35 * * * * root /etc/LinuxHealth >/dev/null 2>&1 &
45 2 * 8 6 root /root/make-backup >/dev/null 2>&1 &
As gamas de valores podem ser associadas a um valor de passo na gama de valores, no
exemplo acima */5 (0-59/5) nos minutos significa percorrer os minutos de 5 em 5,
ou seja equivalente a 0,5,10,15,20,25,30,35,40,45,50,55.
O ficheiro /etc/crontab apenas pode ser usado pelo administrador, mas o servio
crond tambm est acessvel aos outros utilizadores atravs de ficheiros de
configurao normalmente guardados em /var/spool/cron/, estes devem ser
manipulados indirectamente atravs do comando crontab e.
O formato idntico ao do /etc/crontab, mas o nome do utilizador (6 campo)
omitido pois est implcito.
O acesso dos utilizadores ao servio CRON pode ser controlado usando os
ficheiros /etc/cron.allow e /etc/cron.deny.
60
Segurana em rede
O ambiente de rede, em especial em redes WAN, caracteriza-se pela grande
dificuldade em controlar o acesso aos dados que nela circulam. A nica alternativa
recorrer a algoritmos de cifragem. A abordagem tradicional (simtrica) exige que os
dois intervenientes possuam uma chave secreta (pr-partilhada). A criptografia de
chave pblica, mais recente, usa chaves diferentes para cifrar e decifrar e com isso
torna a distribuio de chaves muito mais simples.
CIFRAR Dados
Dados cifrados
DECIFRAR Dados
Chave
secreta
Chave
secreta
CIFRAR Dados
Dados cifrados
Dados DECIFRAR
CIFRAR Dados
Dados cifrados
DECIFRAR Dados
Chave pblica de B
CIFRAR Dados
Dados cifrados
Dados DECIFRAR
A
B
A B
Chave privada de A
Chave privada de B
Chave pblica de A
61
Autenticao em rede
Antes de haver preocupaes com a confidencialidade dos dados (recorrendo
criptografia), temos de nos assegurar que estamos a transaccionar dados com a
entidade correcta. Essa a misso da autenticao.
Geralmente a autenticao est associada cifragem
Criptografia simtrica: a autenticao est assegurada partida pois apenas duas
entidades possuem a chave secreta. Note-se que este facto apenas delega o problema
da autenticao para a fase anterior de distribuio de chaves. Tipicamente a
distribuio de chaves secretas recorre a um outro segredo pr-partilhado, como por
exemplo a password do utilizador.
Criptografia de chave pblica: a autenticao no est assegurada porque as chaves
usadas para cifrar so pblicas. Se a chave pblica, qualquer um a pode usar.
No entanto, uma vez que a chave privada conhecida por apenas uma entidade, esse
facto pode ser usado para garantir a autenticao. Basta garantir a autenticidade das
chaves pblicas pois apenas o detentor da respectiva chave privada poder decifrar.
62
Certificados de chave pblica
A criptografia de chave pblica simplificou muito a distribuio de chaves, mas esta
simplificao eliminou a autenticao que estava implcita na criptografia simtrica.
Contudo garantindo a autenticidade das chaves pblicas o problema fica resolvido.
Um certificado de chave pblica contm a identificao do proprietrio da chave
pblica (Subject), a identificao do emissor do certificado (Issuer), a chave
pblica e assinatura digital do conjunto realizada pelo emissor do certificado.
Identificao do emissor do certificado
Data de validade e verso
Identificao do proprietrio da chave
Chave pblica
Assinatura digital
Chave privada
do emissor do
certificado
Os clientes aceitam o certificado com base na confiana sobre o emissor do
certificado, data de validade do mesmo e identificao do proprietrio da chave.
63
Certificado de chave pblica - exemplo
[root@server ~]# openssl x509 -in /etc/cert/redecert.pem -text
Certificate:
Data:
Version: 1 (0x0)
Serial Number: 2 (0x2)
Signature Algorithm: md5WithRSAEncryption
Issuer: C=PT, ST=PORTO, L=PORTO, O=DEI.ISEP, OU=DEI,
CN=DEICA/emailAddress=dei@dei.isep.ipp.pt
Validity
Not Before: Jun 20 11:37:28 2007 GMT
Not After : Jun 17 11:37:28 2017 GMT
Subject: C=PT, ST=PORTO, L=PORTO, O=DEI.ISEP, OU=DEI,
CN=rede.dei.isep.ipp.pt/emailAddress=dei@dei.isep.ipp.pt
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
Modulus (1024 bit):
00:cc:38:e2:e6:5d:ff:43:6d:ff:43:12:94:03:db:
8f:5c:28:61:1a:61:0d:d5:5e:04:dd:20:a9:d8:99:
0c:53:e3:c6:23:b0:6c:4d:fe:6b:9e:b8:00:ea:23:
1d:55:fa:e7:9a:9b:1b:fa:ef:e0:0d:2c:e0:e1:43:
31:2d:b1:37:b5:27:68:01:e0:3d:d8:bf:96:15:bb:
25:31:ec:6c:38:5e:2f:17:4c:b5:14:5e:8c:de:1b:
14:20:b9:9c:fb:fe:41:5e:ea:68:17:ab:50:a7:9f:
6d:93:b3:30:0f:c2:09:2b:7b:43:a4:06:1b:2a:e8:
d2:e5:ca:ff:71:e1:69:9c:fb
Exponent: 65537 (0x10001)
Signature Algorithm: md5WithRSAEncryption
97:e9:b2:9d:f1:ca:16:37:43:21:3a:11:61:03:d7:4b:de:f9:
06:f9:ee:02:4e:6e:08:25:bc:e3:98:e8:1d:bf:9f:43:5b:cb:
6c:20:d0:6e:7c:d2:53:f2:29:3b:f9:6e:aa:c3:e0:ab:f8:8f:
06:83:95:9f:dc:a8:94:bb:a8:50:67:34:de:64:0a:02:29:f0:
1b:1d:f1:bc:51:09:37:f9:15:23:14:5d:b6:98:85:86:d4:37:
ff:58:d0:74:24:2f:0d:da:d9:c4:02:89:7f:e6:6c:98:c3:f0:
8e:42:77:45:3d:a1:ae:a2:8c:20:83:83:c5:2b:cc:58:7c:d7:
2f:06:32:c6:fa:95:b3:de:5f:48:76:54:08:7a:df:b1:58:a8:
8d:d9:74:94:57:c1:57:5b:79:32:f1:71:02:77:bb:6f:2a:9f:
42:94:ef:37:d1:03:da:db:9f:b6:11:8a:4b:d4:e4:34:48:86:
a0:e3:ce:9e:a3:f4:97:86:37:e1:b9:d4:af:de:a8:e9:ce:2a:
70:aa:8f:c5:90:d9:71:48:a8:9b:8b:f0:2e:6c:42:7e:c3:bf:
b6:8e:80:79:2f:ed:81:cb:3a:01:69:ce:c0:e8:9f:fe:ce:0a:
bf:08:89:4b:68:d0:d5:9b:78:9a:e6:e5:19:92:6c:93:7f:c5:
a0:89:f9:45
64
Certificados auto-assinados
Um certificado de chave pblica auto-assinado , como o nome indica, emitido pelo
prprio proprietrio da chave pblica. Como tal tem um valor reduzido sob o ponto
de vista de autenticao. Este tipo de certificado exige normalmente uma instalao
manual, sendo um procedimento necessrio para instalar um certificado de uma
entidade de raiz (ROOT CA).
Como o nome indica, as entidades certificadoras de raiz
so o inicio de uma rvore de entidades certificadoras de
confiana. O certificado da ROOT CA auto-assinado
por isso a sua instalao tem de ser realizada
manualmente.
Depois de instalar/aceitar um certificado de raiz,
qualquer certificado emitido por qualquer elemento da
rvore ser aceite sem interveno do utilizador.
65
Comando openssl (LINUX)
O comando openssl fornece uma interface de linha de comando para acesso
biblioteca openssl que suporta SSL v2 e v3 e TLS v1. Entre outras funcionalidades
o comando openssl permite gerir certificados de chave pblica.
openssl req a finalidade principal gerar uma chave e emitir um pedido de
certificao da mesma. O pedido de certificao deve depois ser processado por uma
entidade certificadora que emitir o respectivo certificado. Este comando tambm
pode ser usado para produzir um certificado auto-assinado, por exemplo:
openssl req -nodes -x509 -keyout ttt.key -out ttt.crt -days 3650 -newkey rsa:1024
openssl x509 processamento de certificados, por exemplo usado pela
entidade certificadora para produzir o certificado a partir de um pedido de certificado.
O comando openssl pode usar o ficheiro de configurao openssl.cnf, algumas
operaes, nomeadamente de gesto de certificados como autoridade certificadora
exigem o uso deste ficheiro de configurao.
66
Registo de actividades System Logger
Embora cada componente/servio do sistema possa criar registos de actividade
prprios, o ideal que exista um servio central nico para gerir esses registos.
Os clientes do servio syslogd enviam-lhe informaes, o syslogd responsvel
por classificar essas informaes e eventualmente registar as mesmas.
SYSTEM LOGGER
(syslogd)
NSS
httpd
dhcpd
crond
ftpd
inetd
Ficheiros
locais
Servios
remotos
syslogd
remotos
syslogd
remotos
( ...)
Servidor
Outros
processos/aplicaes
Comando logger
(SHELL)
67
As mensagens enviadas para o syslogd contm dois elementos que permitem a sua
classificao rpida:
Servio de origem (facility) que pode assumir os seguintes valores: auth,
authpriv, cron, daemon, kern, lpr, mail, mark, news, security (o
mesmo que auth), syslog, user, uucp e local0 at local7.
Gravidade ou Prioridade (severity, priority ou level) que pode ter os
seguintes valores, por ordem crescente de gravidade: debug, info, notice,
warning, warn (igual ao anterior), err, error (igual ao anterior), crit, alert,
emerg, panic (igual ao anterior).
Estes dois elementos podem ser agrupados na forma {facility}.{severity} e com
base neste conjunto que o syslogd determina o que fazer com cada mensagem.
O ficheiro de configurao /etc/syslog.conf determina o comportamento do
syslogd.
syslogd classificao de mensagens
68
A configurao do servio syslogd (/etc/syslog.conf) resume-se a especificar regras
para o par {facility}.{severity} e associar essas regras a aces que definem o
que fazer com as mensagens. Cada linha do ficheiro constituda por dois campos
separados por um ou mais espaos: uma mascara {facility}.{severity} e uma aco.
Exemplo:
syslogd configurao
kern.* /var/adm/kernel
mail.*;mail.!=info /var/adm/mail
*.alert root,administrator
mail.=info @server2.domain.pt
mail,news.=info *
kern.info;kern.!err |/root/kern-info
No caso de existirem vrias regras (linhas) aplicveis a uma dada mensagem, todas
elas sero aplicadas em paralelo a essa mensagem.
69
O servio syslogd permite a recepo de mensagens remotas atravs da rede,
usando pacotes UDP dirigidos ao porto 514, para que isso seja possvel necessrio
que o syslogd receba o argumento -r no arranque. Por motivos de segurana, na
maioria das instalaes essa possibilidade est inicialmente inactiva.
Muitos dispositivos de rede tais como impressoras, comutadores, routers e access-
points podem ser configurados para enviar mensagens syslog para um dado
endereo/mquina. Essa informao de configurao pode mesmo ser fornecida na
resposta do servidor DHCP (option log-servers ).
O administrador de um cluster de servidores Linux/Unix pode por esta via
centralizar os registos numa nica mquina, colocando em todas as restantes um
ficheiro /etc/syslog.conf semelhante a:
syslogd registo centralizado
*.* @servidor.domino
Ou enviando apenas uma parte das mensagens, realizando assim uma filtragem local
em cada mquina e enviando para o registo central apenas as mais importantes.
70
syslogd consulta de registos
Na maioria dos casos as mensagens que o syslog recebe acabam por ser
acrescentadas a um ficheiro de texto identificado no /etc/syslog.conf. Na
maioria dos sistema Linux adopta-se o directrio /var/log/ para colocao destes
ficheiros.
SYSTEM LOGGER
(syslogd)
Ficheiros locais
Servidor Unix/Linux
Impressora de rede
Servidor
Servidor Unix/Linux
Comutador (switch)
Tratando-se de ficheiros de texto, a sua consulta directa, recorrendo-se a um vasto
conjunto de comandos disponveis para esse efeito, alguns dos mais importantes so:
cat; less; tail; more; grep; cut; sed
71
Registo de entradas e sadas - wtmp
Dada a sua importncia, existe um sistema independente para registar as entradas e
sadas dos utilizadores no sistema. Cabe aos programas que controlam essas entradas
e sadas recorrer a este registo para o manter actualizado, ele constitudo por trs
ficheiros:
utmp (normalmente /var/run/utmp) contm, para cada terminal, o nome do
terminal, o nome do utilizador actual, a origem do utilizador (maq. remota) e a
data/hora a que efectuou o login. Quando o utilizador sa, o registo eliminado.
lastlog (normalmente /var/log/lastlog) contm, para cada UID, a hora e local
(terminal/mquina remota) da ltima entrada no sistema (login).
wtmp (normalmente /var/log/wtmp) contm o registo de todas as entradas e
sadas no sistema.
72
Consulta do registo de entradas e sadas
Entrada de utilizador
(LOGIN)
rwho
lastlog
X
Sada do utilizador
(LOGOUT)
utmp
wtmp
FICHEIROS
Comandos de
consulta
users
w
who
last
ac
lastlog
Exemplo de resultado do comando last:
[root@server ~]# last -5
andre pts/0 beavis.dei.isep. Wed Nov 12 16:35 still logged in
dei pts/0 beavis.dei.isep. Wed Nov 12 11:46 - 14:12 (02:25)
i090763 pts/4 srv3.dei.isep.ip Wed Nov 12 09:36 - 09:54 (00:17)
i080751 pts/3 srv3.dei.isep.ip Wed Nov 12 08:52 - 10:02 (01:10)
i040478 pts/2 srv2.dei.isep.ip Wed Nov 12 08:51 - 10:03 (01:11)
wtmp begins Sat Nov 1 12:59:40 2004
73
Cpias de arquivo e segurana
Em vrios contextos h a necessidade de copiar para sistemas de armazenamento
externo os dados residentes nos servidores (sistema de ficheiros).
Arquivo quando existe um volume significativo de informao que deixou de ser
necessria para o funcionamento actual do sistema, mas tem de ser preservada, essa
informao pode ser copiada para dispositivos externos e posteriormente removida
do sistema libertando espao.
Segurana qualquer sistema est sujeito a perdas de dados, por erro dos
utilizadores, por falha do hardware/software ou por aces maliciosas. Cabe ao
administrador manter um calendrio de cpias de segurana adequado para que estas
estejam suficientemente actualizadas para resolver as situaes de perdas de dados
que venham a ocorrer no sistema.
Sob o ponto de vista de segurana os sistemas redundantes podem ser considerados
uma alternativa a esta metodologia. No so mais do que o levar deste conceito ao
extremo em que as actualizaes das cpias so realizadas de forma totalmente
sincronizada com as alteraes que ocorrem no original.
74
Tipos de cpias de segurana
Cpias integrais de discos ou parties uma cpia deste tipo permite recuperar
de forma expedita um sistema totalmente destrudo (recuperao usando novo
hardware), consiste na cpia integral, do disco ou da partio sector a sector, como tal
independente dos tipos de sistemas de ficheiros que residem no disco, tudo,
incluindo a tabela de parties copiado. Tem contudo alguns inconvenientes
importantes: exige que o disco no esteja a ser usado quando se realiza o backup e
exige que o disco para o qual se realiza a recuperao (restore) seja exactamente
igual ao disco original. Em Unix o comando dd permite realizar cpias deste tipo.
Cpias integrais de sistemas de ficheiros este tipo de cpia percorre todas as
entradas do sistema de ficheiros de uma partio e copia-as, bem como todas as
propriedades de cada objecto. aconselhvel que o sistema de ficheiros no esteja a
ser usado ou pelo menos esteja a ser pouco usado no momento da cpia. Em Linux
os comandos dump e restore permitem realizar este tipo de cpias i-node a i-
node, por esta razo o sistema de ficheiros deve estar desmontado, estes comandos
no trabalham objecto a objecto. O comando tar tambm permite realizar este tipo
de cpias, mas trabalha directamente com objectos (ficheiros, directrios, etc).
75
Cpias incrementais
As cpias integrais de sistemas de ficheiros so operaes demoradas (dependendo
do tamanho do sistema de ficheiros e do tipo de suporte para a cpia), depois de
criada uma cpia integral, possvel recorrer a cpias incrementais.
Sistema de ficheiros
Estado A
Cpia integral A
Sistema de ficheiros
Estado B
Sistema de ficheiros
Estado C
Cpia incremental B Cpia incremental C
Sistema de ficheiros
Estado A
Sistema de ficheiros
Estado B
Sistema de ficheiros
Estado C
BACKUP
RESTORE
A cpia incremental consiste em registar as diferenas entre o estado actual do
sistema de ficheiros e o estado que est registado na cpia integral ou
incremental anterior. O ponto de partida sempre uma cpia integral.
76
Cpias incrementais comandos Linux
A sucesso de cpias incrementais no deve ser prolongada indefinidamente pois
acabaria por tornar a operao de restauro muito morosa. Uma prtica corrente
realizar uma cpia integral todos os fins de semana (quando o sistema est a ser
menos usado) e realizar cpias incrementais diariamente.
Em Linux, tanto os comandos dump/restore como o comando tar suportam
cpias incrementais.
Exemplo com dump do sistema de ficheiros /home para a unidade de fita /dev/nst0. Cpia integral e 1
cpia incremental. O nmero (level) indica se se trata de uma cpia integral (level=0) ou se cpias
incrementais (level=1,2,):
dump 0uf /dev/nst0 /home
dump 1uf /dev/nst0 /home
Exemplo com tar do sistema de ficheiros /usr para ficheiros de arquivo. Cpia integral e 1 cpia
incremental. O primeiro comando detecta que o ficheiro /var/log/usr.snar no existe e por essa razo
assume que se trata da cpia integral, os comandos seguintes apenas vo guardar as alteraes no sistema
de ficcheiros relativas ao estado que est registado no /var/log/usr.snar:
tar --create --file=archive.1.tar --listed-incremental=/var/log/usr.snar /usr
tar --create --file=archive.2.tar --listed-incremental=/var/log/usr.snar /usr
77
Cpias parciais
Uma cpia parcial abrange apenas uma parte do sistema. Normalmente o objectivo
salvaguardar dados referentes a um dado subsistema ou servio, tais como servidores
Web, servidores de bases de dados, etc.
A cpia parcial pode ser realizada em Unix com recurso ao comando tar, para esse
efeito necessrio localizar todos os ficheiros e directrios associados ao subsistema
ou servio em causa.
Muitos servios dispe de comandos prprios para realizar cpias de salvaguarda, por
exemplo o servio MySQL dispe do comando mysqldump. Nestes casos
claramente vantajoso usar estes comandos especialmente concebidos para o efeito.
Exemplo de produo de uma cpia de segurana comprimida para uma instalao particular do
servidor Apache:
tar -cvzf apache2.tar.gz /etc/apache2/* /var/www/cgi-bin /var/www/htdocs \
/etc/sysconfig/apache2 /etc/init.d/apache2
78
Sistemas de suporte para as cpias
Tradicionalmente as cpias de arquivo e segurana usam como suporte unidades de
fita de acesso sequencial que se caracterizam por um baixo custo para grandes
capacidades. Tratando-se de meios amovveis tem a vantagem de proporcionar uma
capacidade ilimitada. Note-se que a necessidade de troca manual das unidades de fita
um inconveniente importante, a menos claro que se disponha de um sistema
robotizado para esse efeito. A operao com unidades de fita tem algumas
particularidades, mas tanto os comandos dump/restore como o comando tar
suportam unidades de fita.
Actualmente, em muitas aplicaes, torna-se praticvel a utilizao de discos que
actualmente tm custos relativamente baixos e capacidades muito elevadas.
Seja qual for o tipo de suporte, h uma necessidade absoluta de garantir
a separao fsica entre o sistema original e as respectivas cpias.
As cpias do sistema contm frequentemente informao reservada, este facto
deve estar presente quando se faz o seu manuseamento. Por exemplo, quando
as cpias so realizadas atravs de uma rede.
79
Software de cpia
Os comandos Unix mencionados (dump/restore e tar) em combinao com o
servio crond e algumas linhas de programao em shell permitem implementar
sistemas de cpia de arquivo e segurana totalmente eficazes.
Existem contudo programas mais fceis de utilizar, muitas vezes estes programas
recorrem internamente aos comandos dump/restore e tar.
Um dos exemplos open source mais divulgados o Amanda, trata-se de uma
arquitectura cliente/servidor em rede que consiste num servidor onde so criadas as
cpias de arquivo/segurana e de clientes que so usados nas mquinas cujos dados
se pretende copiar:
Backup Server
(Amanda server)
(Amanda client)
Server 1
(Amanda client)
Server 2
(Amanda client)
Server 3
(Amanda client)

Você também pode gostar