Sie sind auf Seite 1von 40

Capítulo 9 - Soluções Diversas

FlagShip – O Clipper do Linux


FlagShip é uma linguagem de quarta geração que traduz o código das linguagens xBase em linguagem C para
diversos ambientes Unix e Linux. Este software foi desenvolvido pela empresa Multisoft sediada em Munique
(Alemanha).

Por rodar em ambiente Unix este software tira proveitos das características dos ambiente o qual esta
trabalhando, tais como :
- multi-tarefas;
- maior segurança;
- multi-usuários
- não há limitação da RAM utilizada.

Mas estas vantagens acima estão diretamente ligadas ao ambiente operacional, mas as vantagens não param,
pois a Multisoft criou uma grande compatibilidade com o Clipper Summer 87 e 5.x (ambos softwares da
Computers Associates).

Destaco as principais características :


- compatibilidade com a linguagem CA-CLIPPER;
- as bases de dados DBF/DBT poderão ser usadas;
- capacidade de gerenciamento de até 4Gb em arquivos DBF;
- processamento servidor não necessitando ter estações poderosas;
- diminuição da corrupção na base de dados ou índices;
- foram criada 160 novas funções/comandos;
- menor tráfego na rede;
- criação de aplicativos CGI/WEB

Mas o FlagShip tem suas limitações principalmente na área de vídeo, pois não tem ambiente gráfico e o
tempo de resposta do vídeo em modo texto é menor que no Clipper (no ambiente DOS o Clipper escrevia a
informação diretamente na memória de vídeo, o que não é mais possível devido às características do ambiente
LINUX/UNIX).

Instalação

Para a instalação é necessária uma área de 25Mb de espaço em disco. O FlagShip poderá ser encontrado no
CD do Conectiva Linux desde a versão Guarani ou então no endereço eletrônico abaixo:

http://www.fship.com
Aplicações Avançadas em Linux

Para esta instalação existe a necessidade de se instalar os seguintes pacotes,caso não tenham sidos instalados :
- gcc-2*rpm
- libc-*rpm,
- libc-include*rpm,
- libc-static-*rpm,
- libc-devel-*rpm,
- binutils-*rpm,
- *kernel-source-*rpm

Para verificar se o pacote já está instalado utilize o comando rpm –qa nomedopacote

Logue como root e monte o cd que contenha o FlagShip (no Conectiva Linux 5.1 ou 6.0 utilize o CD 5 –
Aplicativos Comerciais).

mount /mnt/cdrom

Vá até o diretório onde está o RPM do software

cd /mnt/cdrom/FlagShip

e instale através do seguinte comando (dependendo da versão do FlagShip poderá haver mudanças na
numeração do arquivo).

rpm –ivh FlagShip-eval-4.48-7452.i386.rpm

Após a instalação o software criará a seguinte estrutura de diretórios:

Bibliotecas :/usr/lib
Arquivos header :/usr/include
Arquivos de fontes e documentação :/usr/FSsrc
Manual :/usr/FSsrc/manual
Executáveis e scripts :/usr/bin
Parâmetros do compilador :/etc/FSconfig

A documentação o software é bem completa (mais de 1500 páginas) e poderá ser acessada pelo comando
abaixo:

fsman

Página 2
Aplicações Avançadas em Linux

Para se compilar um programa, é necessário apenas seguir a sintaxe do comando abaixo no diretório onde se
encontra as fontes do seu programa:

FlagShip programa.prg –o nomedoprogramaexecutável

Na compilação são reportadas as seguintes fases de verificação de sintaxe e diretivas:


- Precompilação;
- converção dos arquivos PRG para a linguagem C;
- compilação (utilizando o compilador C do sistema operacional);
- link edição.

Caso haja necessidade de criação de banco de dados ou alteração de estrutura, poderá ser usado o programa
dbu, este programa tem as mesmas funcionalidades do dbu para Clipper, para utilizá-lo tecle dbu na linha de
comando.

dbu

Migrando Clipper para FlagShip


Na migração dos programas desenvolvidos em Clipper para a FlagShip alguns cuidados e procedimentos
deverão ser realizados, tais como :

Migração dos arquivos


Através do ftp transfira os arquivos nos seguintes modos:

Modo Binary para arquivos tipo dbf,dbt e frm.


Modo ASCII para arquivos prg e txt.

Compatibilidade.
De forma a garantir a máxima compatibilidade, inclua na primeira linha do programa principal o comando:
#include "fspreset.fh"
Com isso não necessitará trocar os nome de arquivos e diretórios de maiúsculo para minúsculo ou trocar as
barras invertidas utilizadas em sistemas DOS para barras normais no sistema Linux. Para a edição dos
arquivos fontes poderá ser utilizado qualquer editor texto (vi, mcedit, joe,..).

Impressão.
No sistema DOS o Clipper envia a impressão diretamente à porta da impressora (exemplo lpt1), mas em
sistemas Linux a impressão deverá ir para área de spool e depois o sistema operacional se encarregará de
enviar o arquivo até a impressora. Devido a esta característica do S.O. algumas alterações no programa fonte
são necessárias.

Exemplo:

Para a impressão de um arquivo textes.txt, deve se utilizar um dos comandos abaixo:


cp teste.txt /dev/lp1 (copia diretamente o arquivo para a porta de impressão lp1)

Página 3
Aplicações Avançadas em Linux

cat teste.txt > /dev/lp1 (copia diretamente arquivo para a porta de impressão lp1)
lpr teste.txt (imprime através de SPOOL, este comando é o mais adequado)

1) Para imprimir diretamente na porta de impressão


Inclua o comando seguinte para imprimir diretamente na porta lp1:
SET PRINTER TO /dev/lp1

2) Para imprimir utilizando SPOOL.


SET PRINTER TO rel.prn
.... comandos...
run lpr rel.prn

Todos os demais comandos de impressão podem continuar como no Clipper.


Exemplo:
report form teste to print
set device to print
set print on

Lembre-se que o Linux gerencia a impressão independente de estar local ou remota.

Segurança
Segurança é o principal ponto a ser verificado após a instalação e configuração de um servidor. Nos
capítulos deste livro foram abordados muitos procedimentos de segurança com que o administrados deverá se
preocupar. Iremos agora abordar alguns itens genéricos sobre a segurança em um servidor, dos quais destaco
os pontos abaixo:

Serviços TCP Port


Alguns serviços do TCP Port poderão ser usados para entrar em seu sistema, são eles:

Netstat (tcp/15)
Mostra todas as informações sobre sua conexão atual (enderecos, dns, portas, etc)

Systat (tcp/11)
Mostra qualquer/todos os processos que estão sendo rodados no servidor, quando acessado via telnet através
da porta 11, qualquer pessoa pode ver os processos dentro do servidor.

Finger (tcp/79)
Apresenta informações completas de usuários logados/não-logados em seu sistema (shells, diretórios, logins,
etc). Existe alguns Bugs (falhas na segurança) que podem ser usados remotamente.

Para deixar sua instalação mais segura, edite o arquivo /etc/inetd.conf e comente (#) as seguintes linhas:

Página 4
Aplicações Avançadas em Linux

#finger stream tcp nowait nobody /usr/sbin/tcpd in.fingerd -w


#systat stream tcp nowait nobody /usr/sbin/tcpd /bin/ps -auwwx
#netstat stream tcp nowait root /usr/sbin/tcpd /bin/netstat –a

Desta forma somente o root poderá utilizar estes comandos.

Na distribuição do Conectiva Linux estas portas estão fechadas por default (padrão).

Telnet Server
É um serviço que habilita um usuário a acessar um terminal remotamente. O uso deste serviço, deixa o
sistema muito vulnerável. Existe uma ferramenta útil para que possamos habilitar o telnet server e ao mesmo
tempo se precaver, esta ferramenta se chama ttysnoop.
Esse daemon faz com que se possa ver tudo o que está acontecendo nos terminais, caso o administrador
verifique algum problema ou mau uso este poderá matar os processos destes terminais.

Configurando o ttysnoop
Edite o arquivo /etc/inetd.conf para que possamos desabilitar o in.telnetd.
Comente a linha:
#telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
No mesmo arquivo habilite o serviço in.telnetsnoopd, descomentando a seguinte linha:
telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetsnoopd
Iremos definir em quais os terminais o acesso vai ser monitorado. Para isso, edite o arquivo /etc/snooptab e
inclua as seguintes linhas:
# tty snoopdev type execpgm
ttyp0 /dev/tty6 login /bin/login
ttyp2 /dev/tty5 login /bin/login

Neste exemplo acima, foram definidos dois terminais para o monitoramento.


Quando alguém acessar telnet de sua máquina, simplesmente o snoopdev será direcionado para os consoles
/dev/tty6 (ALT+F6) e /dev/tty5 (ALT+F5).
Desta forma o administrador poderá verificar tudo o que esta ocorrendo. Após configurado reinicie o servidor.

Monitoramento de arquivos
O monitoramento de permissão de arquivos é fundamental para manter a integridade do servidor. Auditar
regularmente o seu sistema a procura de arquivos sem autorização e não necessitando o uso de permissão de
setudi ou setgid. Os programas “Set-user-ID-root” rodam como root indiferente de quem está rodando-os, são
com freqüência uma causa de Buffer Overflows. Afim de evitar este tipo de ocorrência, iremos rodar o
comando abaixo com a finalidade de avaliar quais são os arquivos com esta permissão:

root# find / -type f -perm +6000 -ls

59520 30 -rwsr-xr-x 1 root root 30560 Apr 15 1999 /usr/bin/chage


59560 16 -r-sr-sr-x 1 root lp 15816 Jan 6 2000 /usr/bin/lpq

Página 5
Aplicações Avançadas em Linux

root# chmod -s /usr/bin/chage /usr/bin/lpq


root# ls -l /usr/bin/lpq /usr/bin/chage

-rwxr-xr-x 1 root root 30560 Apr 15 1999 /usr/bin/chage


-r-xr-xr-x 1 root lp 15816 Jan 6 2000 /usr/bin/lpq

Verifique todos os arquivos com permissão de escrita por todos e caso sejam encontrados arquivos estranhos
altere a sua permissão para somente leitura (read).
Utilize o seguinte comando para de verificar este problema:

root# find / -perm -2 ! -type l –ls

Em operações normais os arquivos localizados no diretório /dev e /tmp são comuns de terem este tipo de
direitos.

Localize todos os arquivos que não tenham nenhum dono (owner) ou que não pertençam a nenhum grupo,
pois provavelmente podem ser indicação de tentativa de intrusão. Localize os arquivos através do comando
abaixo e apague os arquivos estranhos.

# find / -nouser -o -nogroup

Proteja o LILO com senha, desta forma quando forem passados parâmetros para o Kernel este solicitará a
senha de acesso previamente armazenada no lilo.conf . Para cadastrar uma senha, edite o arquivo /etc/lilo.conf
e insira as linhas restricted e password e reinicialize o servidor. Veja exemplo abaixo:

# arquivos /etc/lilo.conf
image = /boot/vmlinuz-2.2.17
label = Linux
read-only
restricted
password = coloque_a_senha_aqui

Os sites abaixo deverão ser consultados com freqüência, pois trazem dicas, soluções sobre implementação de
segurança.

http://www.linuxsecurity.com/

http://www.linuxsecurity.com.br/

http://www.net-security.org/

http://www.unsecurity.com.br/

Página 6
Aplicações Avançadas em Linux

Monitoramento FTP (WU-FTPD)

Um dos usos mais comuns em servidores Linux é a utilização como servidor FTP. Este serviço geralmente é
disparado pelo inetd na maioria das versões do Linux. Uma forma de podermos ter um log dos acessos e
transferências através do FTP é de colocar junto a inicialização do serviço FTP, o qual gravará no arquivo
/var/log/messages todos os comandos utilizados em cada sessão do FTP.

Para isso altere a linha spserviço FTP no arquivo /etc/inet.conf para:

ftp stream tcp nowait root /usr/sbin/tcpd wu.ftpd –l –L –i –o

Desta forma com as seguintes opções:

–l cada sessão do FTP é gravada no syslog;


-L todos os comando enviados ao servidor FTP são gravados no syslog;
-i todos os arquivos recebidos pelo servidor serão gravados no /usr/adm/xferlog e
–o todos os arquivos enviados pelo servidor Linux serão gravados no /usr/adm/xferlog.

No-Break
As quedas de energia causam grandes problemas a servidores , pois podem causar queima de componentes
internos do sistema, aumentando o tempo de indisponibilidade do mesmo. Apesar de hoje a disponibilidade
do fornecimento de energia elétrica está em torno de 99,9%.
Vários destes distúrbios são muito rápidos e imperceptíveis para que os usuários e administradores notem,
mas podem travar um roteador ou reiniciar um switch. Estes problemas são muito comuns.
Mostraremos algumas estatísticas abaixo:

- 34% das quedas da rede são por alimentação ruim (Estudo da IBM).
- 99% dos problemas de alimentação são energia fraca ou repentinas quedas de energia. Somente os no-
breaks podem proteger contra isso.
- 45% das perdas de dados são causadas por problemas de alimentação.

Ao pesquisar no-breaks, leve em consideração o seguinte:

- Liste todos os equipamentos que você tem e que necessitam de proteção. Lembre-se de incluir
monitores, terminais, discos rígidos, modems externos e quaisquer outros equipamentos no caminho
crítico dos problemas potenciais de energia.
- Calcule o consumo total de corrente de seus equipamentos. Esta informação vem impressa
provavelmente atrás de cada equipamento.
- Multiplique o consumo de corrente total pela tensão de operação (110 ou 220 V), dependendo da região
e obtenha a especificação de Volt-Ampère (VA) total.

Página 7
Aplicações Avançadas em Linux

- Multiplique o valor total em VA por 0,75.


- Selecione um no-break com capacidade em VA maior ou igual à capacidade obtida pelo cálculo do
passo anterior.
- Para acomodar expansões futuras, é recomendável adquirir um no-break com valor em VA maior.

Um dos no-breaks mais conceituados no mercado são os da marca APC, mais qualquer outro poderá ser
utilizado para esta finalidade. Abaixo descrevo o procedimento de instalação do no-break APC.

Instalação – SMART-APC

Instale smupsd, com o arquivo rpm que reflita este pacote.


NOTA: Se há uma versão smupsd mais antiga, você deverá finalizar antes de instalar a mais nova.

Conecte seu SMART-UPS para seu sistema com o APC Cabo Sinalizando Inteligente incluiu com o APC
produto da PowerChute.
Crie um vínculo simbólico do dispositivo consecutivo (para qual o Smart-UPS é fixo) para /dev/ups, por
exemplo.

ln -s /dev/cua0 /dev/ups

Alternadamente, edite /etc/rc.d/init.d/smupsd.init e mude o nome de dispositivo passado em linha de


comando.
Ou inicie o daemon como root através de um reboot ou manualmente:

/etc/rc.d/init.d/smupsd.init start

Veja os log de mensagens em /var/log/messages. Quando o daemon iniciar, você deverá ver algo como o
seguinte:

Nov 14 10:27:09 devil smupsd: Monitoring UPS on /dev/ups


Nov 14 10:27:09 devil smupsd: Listening for messages on port 4321
Nov 14 10:27:09 devil smupsd: Logging to file /var/log/smupsd
Nov 14 10:27:09 devil smupsd: UPS battery charge level is 100%

Se você não confiar neste daemon, poderá excutar em modo debug passando a opção –d na linha de comando.
Em modo debug, smupsd monitorará o Smart-UPS, mas na verdade não fechará seu sistema ou dará poder de
shutdown ao Smart-UPS.
Alternadamente, você poderá inicar o smupsd com a opção –p, esta opção inibe smupsd de comandar o Smart-
UPS dar poder de shutdown no sistema Linux.
Note isso com versões atuais de núcleo 2.0.X e LinuxThreads, o processo de daemon aparecerá multiplios
processos na console, porque o kernel nomeia atualmente para processo diferente IDs para cada linha.
Se você tem outros servidores Linux, pode-se usar smupsd para fecha-los em cascata. Você deve passar o
nome da máquina master (principal) o qual está conectado fisicamente o Smart-UPS, para o progrma smupsd
que roda na máquina slave (escravo) com o flag -h.
O programa gráfico upsmon monitorará parâmetros de UPS selecionados de qualquer hosts, começando com
o nome do host para qual o Smart-UPS está conectado como o único argumento de linha de comando. Se
nenhum argumento é especificado, o programa upsmon monitora localhost.

Página 8
Aplicações Avançadas em Linux

Por default (padrão), smupsd aceitarão pedidos de qualquer upsmon ou outro smupsd que originam de
qualquer host. Dependendo de sua configuração de rede, isto poderia apresentar um problema de segurança.
Quando smupsd é começado com a opção de -s, obedece os parâmetros na cadeia tenha acesso configuração
do arquivo /etc/hosts.allow e /etc/hosts.deny, como descreve nas man pages no item hosts_access. Note isso o
host só poderá ser designado valores numérico atualmente (IP).
Por exemplo, restringir o uso do programa de upsmon de qualquer host, mas o qual smupsd está rodando (i.e.,
localhost), passe o parâmetro -s fazem sinal a smupsd no smupd.init, grave e somente o seguinte para
/etc/hosts.allow:
smupsd: 127.0.0.1

Quando gravando num arquivo de log, o programa smupsd só grava informações numéricas separadas por
espaço branco, desta forma fica mais fácil de criar relatórios de logs.
Por exemplo, a pessoa poderia importar um arquivo de log diretamente em um programa de planilha
eletrônica e poderá criar um gráfico da UPS com a temperatura da bateria no curso de uma semana. O dados
escrito ao arquivo estão na seguinte ordem:

- Data de último UPS prova;


- Tempo de último UPS;
- Carga da bateria (por cento);
- Carga de produção (por cento);
- Voltagem de linha (entrada);
- Mínima voltagem de linha;
- Máxima voltagem de linha;
- Voltagem de saída;
- Freqüência da linha (Hz);
- Voltagem da bateria;
- Temperatura de bateria (graus Celsus).

O arquivo de log se parecerá algo como:

08/18/97 14:55:00 100 29 122.2 118.9 122.8 122.2 60.00 27.6 31.9
08/18/97 15:05:10 100 29 122.8 118.3 122.8 122.8 60.00 27.6 31.9
08/18/97 15:15:09 100 29 120.9 119.6 122.8 122.8 60.00 27.6 31.9
08/18/97 15:25:11 100 29 121.5 120.2 123.5 121.5 60.00 27.6 31.9

Operação

smupsd trabalha como segue:

O Smart-UPS é lido a cada 10 segundos.


O nível de carga da bateria é gravado
- no startup (inicio do processo);
- sempre que alcança 100%;
- sempre que alterar por 10% ou o último valor lido.

Página 9
Aplicações Avançadas em Linux

Quando o Smart-UPS chaveia para uso em bateria, este permanece no modo de bateria durante 30 segundos,
para que o smupsd possa avisar sobre power failed (falha de energia elética), transientes (como surtos e self-
test) são ignorados.
Quando smupsd determina a falta de energia elétrica, grava no log e continua monitorando o nível de tesnão
da bateria a cada 10 segundos.
Se a qualquer hora durante a falha de energia esta for reestabelecida, smupds esperarão novamente por 30
segundos para indicar que a energia foi re-estabelecida e gravar esta ocorrencia no log.
Enquanto o UPS está em bateria, se a tensão da bateria ficar abaixo de um valor pré-estabelecido (falta: 40%)
ou o número de minutos especificou no flag -m decorreu (falta: no limit), smupsd notifica o init e inicia o
processam de shutdown do sistema.
Com a falta /etc/inittab prove com o Conectiva e RedHat uma paralisação do sistema a ser programado agora
durante 2 minutos. Serão notificados todos os usuários no sistema sobre esta paralisação iminente.
Se a tensão retorna, smupsd notificará init que cancelará a paralisação, se já não começou.
Depois de 2 minutos, o sistema começará a paralisação do sistema. Um dos últimos processos a finalizar será
smupsd. Quando smupsd recebe um SIGTERM depois de pedir uma paralisação do sistema, instruirá o Smart-
UPS para dar shutdown, após um período pré-definido (o tempo padrão é 20 segundos) (a menos que smupsd
fosse inicializado com o flag -p).
Então, logo após a paralisação do sistema estar completa, o Smart-UPS desligará. Quando a energia re-
estabelecer, a UPS se re-iniciará novamente.

Monitoramento de Disco Rígido (Winchester / Hard disk)

Os discos rígidos dos principais fabricantes deste tipo de dispositivo já implementaram a tecnologia
S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology).

Usando a tecnologia S.M.A.R.T. , virtualmente qualquer componente inteligente ou dispositivo dentro de um


computador pode comunicar seu estado de confiança ao seu usuário e administrador de sistema, prover
proteção que pode prevenir tempo de manutenção de sistema, diminuição de produtividade, e até mesmo a
perda de valiosos dados.

Pelo S.M.A.R.T. poderá fazer diagnósticos avançados, que monitoram as operações internas de um disco
rígido e fornecem advertência para muitos tipos de problemas potenciais. Se descobrir, o disco rígido poderá
ser programado para substituição antes que a perda de dados ocorra. Tendo como resultado: produtividade
mais alta e aumento na segurança dos dados.

Nos últimos anos, unidades de disco passaram de seguro para extremamente seguro. E, com levels2 de
qualidade de produto que alcança 99,96 % e problemas de campo a nível tão baixo quanto 0,27 %.
Deve verificar se o disco rígido à ser utilizado em servidores tem a tecnologia S.M.A.R.T. para maior
segurança e confiabilidade do servidor.

É disponível em Linux algum software que fornecem ao administrador ou usuários do sistema informações
sobre as condições do disco rígido. O software UCSC SMART SUITE é um dos mais utilizados, devido as
informações geradas serem bem completas e detalhadas, este software poderá ser encontrado no site:

http://freshmeat.net

Página 10
Aplicações Avançadas em Linux

O arquivo ucsc-smartsuite-2.0Beta2.tar dispõe do arquivo binário compilado para Kernel 2.2.14 (foi testado
com Kernel 2.2.17 e funcionou sem problemas) e também os arquivos fontes caso necessite recompilar para a
sua versão de Kernel.

Após o arquivo estar no servidor, copie para o diretório /opt/appl, após a cópia use o comando abaixo e será
criando um diretório como o nome do arquivo sem a extensão .tar.

tar – xvf ucsc-smartsuite-2.0Beta2.tar

Entre no diretório ucsc-smartsuite-2.0Beta2 e lá será encontrado 02 (dois) arquivos executáveis que serão
utilizados no monitoramento.

smartd – responsável pela daemon de monitoração


smartcl – utilitário de controle e informação.

Primeiramente inicie o programa smartd.


./smartd

Este arquivo deverá ser incluído no /etc/rc.d/rc.local (caso utilize as distribuições RedHat , Conectiva ...) para
que toda vez que o servidor for iniciado este seja carregado automaticamente ou no arquivo de inicialização
da distribuição Linux utilizada.

SMARTCTL
Sintaxe do comando:

smartctl [opção] [device]

Onde:

Opção
-a
mostra todas as informações

-i
verifica se o dispositivo suporta a tecnologia S.M.A.R.T.

-c
verifica se o dispositivo tem algum aviso de falha

Device
Disco rígido a ser monitorado (IDE e/ou SCSI).

Exemplo:

Página 11
Aplicações Avançadas em Linux

./smartcl –a /dev/hda

Resultado do comando acima.

Device: ST310212A Supports ATA Version 5


Drive supports S.M.A.R.T. and is enabled
Check S.M.A.R.T. Passed

General Smart Values:


Off-line data collection status: (0x82) Offline data collection activity
completed without error

Self-test execution status: ( 0) The previous self-test routine completed


without error or no self-test has ever
been run

Total time to complete off-line


data collection: (2400) Seconds

Offline data collection


Capabilities: (0x1d) SMART EXECUTE OFF-LINE IMMEDIATE
NO Automatic timer ON/OFF support
Abort Offline Collection upon new
command
Offline surface scan supported
Self-test supported

Smart Capablilities: (0x0003) Saves SMART data before entering


power-saving mode
Supports SMART auto save timer

Error logging capability: (0x01) Error logging supported

Short self-test routine


recommended polling time: ( 2) Minutes

Extended self-test routine


recommended polling time: ( 14) Minutes

Vendor Specific SMART Attributes with Thresholds:


Revision Number: 16
Attribute Flag Value Worst Threshold Raw Value

Página 12
Aplicações Avançadas em Linux

( 1)Raw Read Error Rate 0x0008 081 078 000 000001f4c215


( 3)Spin Up Time 0x0006 098 098 000 000000000000
( 4)Start Stop Count 0x0013 100 100 020 000000000002
( 5)Reallocated Sector Ct 0x0013 100 100 036 000000000016
( 7)Seek Error Rate 0x0009 054 053 030 00050017bf8d
( 9)Power On Hours 0x0012 100 100 000 000000000047
( 10)Spin Retry Count 0x0013 100 100 090 000000000000
( 12)Power Cycle Count 0x0013 100 100 000 000000000070
(197)Current Pending Sector 0x0030 100 100 000 000000000000
(198)Offline Uncorrectable 0x0030 100 100 000 000000000000
(199)UDMA CRC Error Count 0x000a 200 200 000 000000000000
SMART Error Log:
SMART Error Logging Version: 0
No Errors Logged

O administrador poderá utilizar a função cron para executar o programa uma vez por dia.

Desta forma poderão ser verificados problemas e ser feita a programação de parada do servidor, antes que
qualquer problema mais grave danifique irremediavelmente o disco rígido.

Monitoramento Placa-Mãe (Motherboard)


Com a expansão da tecnologia e o barateamento dos componentes eletrônicos, hoje há um grande número de
placas-mãe com monitoramento de velocidade das ventoinhas, temperatura da CPU e tensões da fonte(+5V,-
5V,+12V,-12V).
Desta forma o administrador poderá ser avisado de qualquer anomalia em componentes vitais da placa-mãe,
evitando um colapso parcial ou total do servidor.
Na Internet há inúmeros softwares de monitoramento um dos mais destacados é KhealthCare e poderá ser
encontrado no site:

http://homepages.fh-giessen.de/~hg7229/khealthcare/

Este software tem uma interface gráfica para verificar e configurar os parâmetros que deverão ser
monitorados. Para que este software reconheça qual o sistema de monitoramento de sua placa mãe, é
necessário primeiramente instalar um software chamado lm_sensor-xxxx.rpm. Este software também poderá
ser encontrado no site abaixo mencionado.

http://www.netroedge.com/~lm78/

Página 13
Aplicações Avançadas em Linux

Caso o usuário utilize o Conectiva Linux 6.0, este pacote se encontra no CD de instalação.

Para a instalação do lm_sensor-xxxx.rpm, utilize o seguinte comando.

rpm –ivh lm_sernsor-xxxxx.rpm

Após ter feito isso rode o programa abaixo para a configuração. Este software reconhece vários tipos de
circuitos integrados responsáveis pelo monitoramento da placa-mãe.

sensors-detect

Página 14
Aplicações Avançadas em Linux

Será aberto um menu conforme abaixo, com várias perguntas, tecle simplesmente [ENTER], pois desta forma
irá instalar uma configuração padrão.

Após a instalação é avisado ao administrador para incluir os módulos do software na inicialização do sistema,
nos servidores baseados em RedHat e Conectiva, deverão ser incluídas as linhas no arquivo /etc/rd.d/rc.local.

Poderão ser iniciados os módulos manualmente, desta vez deverá ser colocado o comando modprobe
XXXXXX na linha de comando.

Após ter iniciado manualmente os módulos, rode o programa khealthcare e uma tela mostrará qual o circuito
integrado de monitoramento que está sendo usado, clique OK para abertura da tela principal.

Para iniciar o KhealthCare

/usr/bin/khealthcare

Tela Inicial.

Página 15
Aplicações Avançadas em Linux

Na tela principal, poderão ser visualizadas as informações de monitoramento da placa-mãe e poderão ser
configurados os limites máximos e mínimos.

Valores atuais

Limites máximos e mínimos


configurados.
No menu principal selecione o item Options.

Na aba General poderá ser selecionado:

Página 16
Aplicações Avançadas em Linux

Notification Interval
Intervalo de Notificação em segundo

Docking
Neste item poderão ser selecionadas quais as características à serem monitoradas.

Automatic Shutdown
Poderá ser realizado a shutdown do servidor Linux caso algum limite monitorado seja ultrapassado.

Aba Monitoring

Poderão ser habilitados os itens a serem monitorados, a severidade da falha (1 ou 3) e habilitar o beep (no
alto-falante) de forma a avisar através de um sinal sonoro que algum item monitorado ultrapassou o limite.

Página 17
Aplicações Avançadas em Linux

Aba Temp Sensors

Deverá ser configurado qual tipo de elemento sensor usado no monitoramento da temperatura.

Página 18
Aplicações Avançadas em Linux

Após a configuração selecione o botão OK, desta forma as configurações serão salvas. Para finalizar este
aplicativo selecione no menu principal o item File e depois Exit.

Acesso Remoto (VNC)

VNC (Virtual Network Computing) é um programa de acesso remoto a computadores através de interfaces
gráficas ou browser. O VNC surgiu como um projeto de pesquisa da Olivetti Research Laboratories, e
posteriormente comprada pela AT&T, cujo objetivo era de criar um "terminal gráfico" de rede extremamente
leve.

Abaixo segue algumas vantagens :


- VNC é gratuito;
- O visualizador do VNC utiliza somente 160Kbytes;
- Utiliza conexão TCPIP para a comunicação;
- Muito bom para ser usado em treinamento, pois pode-se acessar múltiplos computadores;

Página 19
Aplicações Avançadas em Linux

- VNC trabalha com uma infinidade de plataformas (SOLARIS, AIX, HP-UX, LINUX, Windows NT,
Windows 9x, MAC e PalmPilot entre outras)

No endereço abaixo, poderão ser encontradas mais informações sobre este software.

http://www.uk.research.att.com/vnc/

Como funciona o VNC


O VNC utiliza dois componentes independentes, o programa servidor e o programa visualizador (instalado no
cliente). O programa servidor fornece o ambiente ao qual os clientes podem se conectar. Desta forma a
máquina a qual deseja que os usuários acessem, deve estar com o programa servidor rodando e a máquina
cliente deve estar rodando o VNC Viewer ou com browser suportando JAVA (Netscape 3.0 ou superior,
Internet Explorer 3.0 ou posterior, ou qualquer outro browser com Java).

Instalando o VNC no Windows

A instalação do VNC versão Windows é muito simples. O arquivo comprimido poderá sem encontrado no
endereço abaixo.

http://www.uk.research.att.com/vnc/download.html

Após descompactá-lo em um diretório temporário, rode o programa setup.exe, para a instalação é apenas
responder com ENTER as perguntas do instalador.

Ao se iniciar o programa WinVNC será mostrada uma tela conforme a figura abaixo.

Página 20
Aplicações Avançadas em Linux

Esta janela de configuração irá ser apresenta na primeira vez que executar o programa. Caso haja necessidade
de fazer outras configurações, o usuário deverá clicar com o botão direito no mouse no System Tray do
Windows (conforme mostrado abaixo) e deverá selecionar o item Properties para alterar a configuração.

Deverá ser cadastrada uma senha, que será solicitado a todo usuário externo que acesse o seu computador
através do programa vncviwer. No item Display Number por default (padrão) o valor é 0 (zero), podendo ser
alterado para outros valores, o número selecionado neste item será utilizado para acesso a tela neste
computador. Depois de configurado o VNC, poderá ser utilizado a qualquer momento através do programa
WinVNC.exe.

Caso necessite de mais informações acesse o endereço eletrônico abaixo.

http://www.uk.research.att.com/vnc/

Instalando o VNC no Linux

No Conectiva Linux o VNC poderá ser encontrado no CD1 e está no formato RPM. Para instalação, tenha
privilégios de root e siga os seguintes passos:

No prompt monte o cd-rom.

Página 21
Aplicações Avançadas em Linux

mount /dev/cdrom

Vá até o diretório onde estão localizados os RPM da Conectiva.


cd /mnt/cdrom/conectiva/RPMs

Instale o pacote RPM do VNC (o pacote RPM contendo o VNC poderá ter os números intermediários
diferentes dependendo da versão instalada ou da distribuição Linux utilizada).

rpm –ivh vnc-3.3.3-4cl.i386.rpm

Para verificar se o pacote VNC está instalado utilize o comando rpm –qa|grep vnc .

O pacote VNC é composte de 3 programas básicos.

vcpasswd – onde será cadastrado a senha de acesso do VNC


vncviewer – visualizada o a tela do computador remoto
vncserver – exporta a tela para um computador remoto

Para executá-los é necessário somente rodá-lo no prompt da distribuição Linux. O programa vncviewer
deverá ser executado dentro do modo gráfico do Linux. Para exportar a tela no Linux, basta apenas executar
o programa vncserver no prompt do terminal texto ou gráfico.

Conectando a um desktop remoto

Viewer via Windows


Estando o VNC servidor iniciado um computador de um usuário ou num servidor através de uma rede TCPIP.
Necessita agora rodar o arquivo VNCVIEWER.EXE na máquina cliente que utilize o windows (que também
poderá ser um ou executar o atalho correspondente no menu do VNC, se você também tem o servidor
instalado na máquina cliente). O cliente do VNC irá iniciar mostrar a seguinte janela.

Página 22
Aplicações Avançadas em Linux

Você deverá fornecer inserir o nome (para isso o arquivo c:/windows/hosts deverá estar configurado
corretamente) ou o endereço IP do computador a ser controlado, seguindo por um sinal de dois pontos e pelo
número zero. Depois de feito isso clique no botão OK.

VNC Authentication irá requisitar a senha para acessado (conforme figura abaixo) e clique em OK.

Agora abrirá uma janela como a imagem do computador acessado. Poder ser utilizado o teclado e o mouse
livremente. Conforme mostrado na figura.

Página 23
Aplicações Avançadas em Linux

Caso o desktop remoto tenha resolução maior do que o computador local (o qual roda o visualizador)
aparecerá barras de rolagem na janela do VNC. Também é possível colocar o visualizador em modo tela cheia
através da janela de opções do cliente, para permitir uma melhor visualização do desktop remoto.

A janela de opções do cliente pode ser acessada pelo botão Options... na janela de conexão ou pelo menu de
sistema no canto superior esquerdo da janela do visualizador. O menu de sistema também pode ser acessado
pela barra de tarefas do Windows.
Se o visualizador estiver em modo tela cheia, deverá teclar [Ctrl] + [Esc] para exibir a barra de tarefas, e com
a barra de tarefas visível você deve clicar em um espaço vazio da barra de tarefas para que ela receba o foco,
caso contrário o VNC Viewer em tela cheia não permitirá que a barra de tarefas receba o clique do botão
direito do mouse e você não poderá acessar o menu de sistema das janelas. A figura seguinte mostra o menu
de sistema do visualizador do VNC, com a opção full screen (tela cheia) selecionada.

Página 24
Aplicações Avançadas em Linux

Viewer via Linux

Para utilizar o VNC a fim de visualizar a tela de um computador remoto no Linux, basta rodar o programa
vncviewer no ambiente gráfico do Linux.

Abra um terminal gráfico em qualquer ambiente gráfico e no prompt digite vncviewer, como mostrado na
figura abaixo.

Na execução deste comando, uma janela abrirá solicitando o número IP do computador remoto e o número do
display, estas informações deverão estar separadas por dois pontos (ex. 192.168.1.2:0), como mostrado no
exemplo abaixo.

Página 25
Aplicações Avançadas em Linux

Após a inclusão da informação solicitada, será pedido uma senha de acesso. Esta senha é a senha cadastrada
no VNC servidor da estação que deseja acessar.

Após ser inserido a senha e teclado ENTER, uma janela iniciará com a tela do computador remoto, como
mostrado abaixo.

Na área superior da janela, será mostrado o número do IP do computador acessado ou apelido. Para aparecerá
o nome (apelido) do computador, este deverá estar relacionado no arquivo /etc/hosts do servidor Linux.

Página 26
Aplicações Avançadas em Linux

Para fechar o aplicativo, deve clicar com o botão direito do mouse na área superior da janela e selecione o
item Fechar .

Viewer via browser

Podemos acessar o computador remoto através de um browser. Para isso necessitamos informar ao browser a
URL contendo o nome ou o endereço IP do computador a ser controlado e indicar como número de porta o
número 5800 + o número do desktop a ser conectado.
Por exemplo, para se conectar o primeiro e único desktop do PC cujo nome é advlinux a URL seria:
http:advlinux:5802, ou para se conectar ao segundo desktop do servidor Linux cujo endereço IP é
192.168.1.100 a URL seria: http:192.168.1.100:5802.

O resultado é uma página HTML contendo somente um Applet Java, como mostra a figura a seguir.

Poderá então digitar a senha do desktop remoto, ou clicar no botão Options para ver a janela de opções do
applet .

Página 27
Aplicações Avançadas em Linux

Janela de opções do visualizador do VNC dentro do browser Netscape Communicator.

O desktop remoto aparece dentro do applet, como mostra a figura abaixo.

Desktop remoto via Netscape Communicator.

Na figura acima esta sendo mostrada uma tela do servidor Linux com resolução maior do que a do
computador rodando Windows com o VNC Viewer, para demonstrar que diferentes resoluções de tela não é
problema para o VNC.

Página 28
Aplicações Avançadas em Linux

Este software mostra claramente a sua versatilidade nos diversos tipos de ambientes operacionais, podendo
ser muito útil na realização de suporte em ambientes coorporativos.

GKrellM (Monitoração do Servidor)

O software GKrellM desenvolvido por Bill Wilson realiza o monitoramento das principais atividades do
servidor, através de uma interface gráfica o administrador poderá acompanhar processos, nível de utilização
de recursos entre outras informações.

As principais informações monitoradas estão relacionadas abaixo:

- nome do servidor;
- data e hora do sistema;
- monitoramento de temperatura e tensão (voltagem);
- monitoramento de processos através de histogramas;
- monitoração dos discos rígidos;
- informação sobre a área de swap;
- monitoração de caixa postal (e-mail);
- monitoramento do nível de atividades da rede;
- monitoramento de conexões ppp;

Este software poderá ser instalado nas mais diversas distribuições Linux (RedHat 6.x/7.x, Conectiva Linux,
SuSE entre outros).

No site abaixo , poderão ser obtidas mais informações sobre o software e download do executável.

http://web.wt.net/~billw/gkrellm/gkrellm.html

Para o Conectiva Linux, utilize o pacote RPM para RedHat versão 6.

Para o funcionamento deste software são necessários os pacotes gtk 1.2, gdk 1.2, glib 1.2 e imlib1 instalados.

Para verificar se estes pacotes estão instalados e suas versões estão corretas, execute com root os comandos:

rpm –qa|grep gtk


rpm –qa|grep gdk
rpm –qa|grep glib
rpm –qa|grep imlib1

Página 29
Aplicações Avançadas em Linux

Caso não estejam instalados ou versões antigas, estes arquivos poderão ser encontrados no CD ou site da sua
distribuição Linux.

Após ter baixado o pacote RPM (gkrellm-x.x.x-x.i386.rpm), instale através do seguinte comando (x.x.x-x
representa a versão do software).

rpm –ivh gkrellm-x.x.x-x.i386.rpm

Através do ambiente gráfico de sua preferência execute o comando:

/usr/X11R6/bin/gkrellm

Automaticamente o GkrellM mostrará uma tela com informações semelhantes à mostrada abaixo:

Página 30
Aplicações Avançadas em Linux

Nome do Servidor.
Data e hora do sistema.

Porcentagem da
utilização da CPU.

Quantidade de usuários e
processos simultâneos

Informações da Placa-mãe.

Taxa de transferência de
Leitura e gravaçãodo
disco rígido.

Taxa de I/O
das placas de
rede do
servidor.

Quantidade de memória RAM e


SWAP disponível e disponível

Para configurar ou fechar o programa, clique com o botão do lado direito do mouse sobre o nome do servidor
(top da tela).

Página 31
Aplicações Avançadas em Linux

Com as informações mostradas o administrador poderá acompanhar a utilização do servidor e utilizar estas
informações para justificar implementações na rede ou no servidor.

Página 32
Aplicações Avançadas em Linux

Conexão Telnet (Emulação de Terminal)


TELNET (Protocolo de Terminal Virtual) é o protocolo de comunicação que estabelece a conexão entre
computadores. Através dessa conexão remota, pode-se executar programas e comandos em outra máquina,
como se estive na frente do terminal remoto.

Muitas vezes estamos longe da console Linux, mas necessitamos entrar no sistema como um terminal a fim de
alterarmos ou iniciarmos algum procedimento. De forma a resolver estes problemas, utiliza-se o método de
acesso remoto, este acesso utilizará um software de emulação de terminal texto através da rede, que
possibilitará o acesso ao ambiente Shell (C-shell, K-shell) ou SSH (Security Shell) do servidor Linux no
ambiente Windows 9x/2000.

Na console do servidor Linux, logue como root (superusuário) e siga o seguinte procedimento:

Edit o arquivo /etc/inetd.conf e retire o comentário das seguintes linhas

# antes da mudança
#telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
#login stream tcp nowait root /usr/sbin/tcpd in.rlogind
#auth stream tcp nowait nobody /usr/sbin/in.identd in.identd –l –e –o
# fim

Após ter editado as linhas, estarão da seguinte forma.

telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd


login stream tcp nowait root /usr/sbin/tcpd in.rlogind
auth stream tcp nowait nobody /usr/sbin/in.identd in.identd –l –e –o

Agora reinicialize o inetd com o seguinte comando.

killall –HUP inetd

Verifique no arquivo /etc/services se existe a linha abaixo, caso contrário inclua.


#inicio da modificação
telnet 23/tcp
#fim

Os espaços acima são TAB.

Desta forma as modificações realizadas, estarão ativas.

Página 33
Aplicações Avançadas em Linux

Devemos configurar a estações de trabalho, para isso será utilizado o software PuTTY, desenvolvido por
Simon Tatham, este software é freeware e poderá ser livremente distribuído.

O software PuTTY será encontrado no endereço :

http://www.chiark.greenend.org.uk/~sgtatham/putty/

A solução adotada é de fácil utilização, não necessitando de grandes conhecimentos para configurá-lo. Após
ter baixado o arquivo, simplesmente execute-o num ambiente Windows 9x/2000 e uma janela será aberta com
esta.

Esta é a tela inicial e de configuração, para uma correta emulação no ambiente Linux, nas figuras abaixo
somente são mostradas os menus que necessitam de alteração em relação à configuração padrão do software.
Para realizar a configuração, selecione os itens mostrados na janela do lado esquerdo. Para iniciar a emulação
complete o campo Host Name (com o número IP do servidor ou nome do servidor) e selecione o botão Open.

Página 34
Aplicações Avançadas em Linux

Configuração

Os itens mostrados na configuração, dispensa a necessidade de maiores explicações, pois são bem simples e
de fácil compreensão.

No item Terminal

Configure conforme mostrado.

Página 35
Aplicações Avançadas em Linux

Item Keyboard.

Item Windows.

Página 36
Aplicações Avançadas em Linux

Item Appearance.

Outras configurações poderão ser adotadas dependendo da sua configuração ou distribuição Linux

Tela de emulação
Exemplo do PuTTY acessado o software mc no servidor Linux.

Página 37
Aplicações Avançadas em Linux

Este é um software que todo o administrador Linux usará diariamente, devido a sua versatilidade e não
necessidade de um procedimento de instalação, podendo o executável poderá estar num diretório que o
administrador acessará através do ambiente windows.

Página 38
Aplicações Avançadas em Linux

FTP (Transferência de arquivos)

O protocolo FTP (File Transfer Protocol) é muito utilizado para transferência de arquivos de diferentes
ambiente e sistemas operacionais, esta troca ocorre de maneira confiável e eficiente. Desta maneira, quando o
usuário na máquina cliente invoca uma conexão FTP com um servidor remoto, inicia um processo de
negociação para o estabelecimento da conexão TCP. Após esta ser realizada com sucesso, é estabelecida uma
Conexão de Controle entre cliente e servidor, através da qual são transmitidos os comandos enviados pelo
cliente ao servidor e as respostas a esses comandos no sentido contrário (servidor ao cliente). Quando o
usuário solicita uma transferência de dados, é estabelecida uma Conexão de Dados. Mostraremos uma
solução prática para transferência de arquivos entre o ambientes Windows9x e o servidor Linux. Para esta
solução utilizaremos o software i.Ftp desenvolvido por Matthew Allen e poderá ser encontrado no site:

http://www.ozemail.com.au/~fret/iftp.html

Após ter baixado o arquivo , descompacte num diretório (por exemplo c:\ftp), neste diretório serão colocados
todos os arquivos para a execução do programa, agora execute o arquivo ftp.exe. Será apresentada uma tela
semelhante abaixo.

Connect
Manipulação de arquivos

Cliente Servidor

Página 39
Aplicações Avançadas em Linux

Para conectar com o servidor Linux, clique sobre o Ícone Connect e preencha os campos Host Address, User
ID e Password.

Após o correto preenchimento, clique sobre o botão Connect e automaticamente a conexão será realizada (a
figura anterior mostra a tela já com a conexão realizada).

Pronto, agora é só navegar entre os diretórios para enviar ou receber arquivos.

Página 40

Das könnte Ihnen auch gefallen