Powered By Blogger

Translate

quinta-feira, 23 de setembro de 2010

Permissões Part.01

A primeira coisa que temos que entender quando falamos em controlar os acessos, são as permissões.

Permissão, antes de tudo, é o que o usuário pode ou não fazer quando está logado no sistema.
Quando executamos o comando:

# ls -ld /fls/private/
# ls -ld /fls/private/drwxr-xr-x 4 root user 4096 Ago 20 08:36 /fls/private
Na saída do comando acima, temos várias informações sobre o diretório /home/user, mas o que vamos analisar nessa saída, são as permissões do diretório, representadas pela sopa de letrinhas drwxr-xr-x
Na tabela acima temos as permissões que podemos designar para os usuários (rwx) e as pessoas que vão usar as permissões (ugo).
Bem, vamos lá… essa sopa de letrinhas que comentei acima, é a responsável por definir o que é chamado de permissão no Linux. Isso quer dizer que, esse conjunto de letras, irá permitir que usuários possam gravar, ler, ou entrar em um diretório!
No Linux, qualquer arquivo ou diretório precisa ter um dono, um grupo e permissões; ou seja, vamos ter 3 permissões e 3 pessoas que vão usar essas permissões.


Isso quer dizer que sempre temos que falar se o usuário (u), poderá ler, escrever ou executar um arquivo ou diretório. Ou ainda, se o grupo (g) desse diretório vai poder ler, escrever, ou executar o arquivo ou diretório. E por último, se os outros (o), vão poder ler, escrever ou executar esse arquivo ou diretório.
Lembrando aqui que outros (other), são os usuários cadastrados no sistema que não fazem parte do grupo e nem são os donos arquivo ou diretório!
Para mudar as permissões, usamos o comando chmod (change mode). Vamos aprender a usar esse comando. Eu comentei que damos permissão para 3 pessoas: user, group, other e que temos 3 tipos de permissões: read, write, executable.
Sabendo disso, precisamos apenas configurar as permissões que queremos para as pessoas. Ah,e detalhe… cada bloquinho de rwx, representa permissão para alguém! Exemplo:

fb:/tmp# touch file.txt
fb:/tmp# ls -l file.txt

-rw-r--r-- 1 root root 0 Set 23 09:47 file.txt

Parte.02

Acima, apenas criamos um arquivo no diretório /tmp.Vamos analisar as permissões: rw-r–r– .
Como falei, cada bloquinho de rwx indica a permissão para alguém… Então, se separarmos as permissões do arquivo que acabamos de criar temos:



Nas permissões acima, o dono (owner) terá permissão de leitura (r) e gravação (w). O grupo (g) e os outros (o) terão permissão somente de leitura (r).
Agora, vamos mudar as permissões do arquivo.txt:

# chmod u=rwx,g=rw,o=r arquivo.txt

# ls -l arquivo.txt
-rwxrw-r– 1 root root 0 2009-01-28 05:54 arquivo.txt

Acima, apenas dissemos que o dono (u) tem permissão total, leitura(r), gravação(w) e execução (x); o grupo tem permissão de leitura (r) e gravação (g) e o resto do povo, isto é, os outros (o) tem apenas permissão de leitura (r).
E onde tem os tracinhos ‘-‘, quer dizer que não tem permissão nenhuma!
Essa forma de dar permissões (usando letras) é chamada de literal; e usa operadores aritméticos… No exemplo, usei o ‘=’; mas além dele temos:
= Aplique exatamente assim
+ Adicionar mais essa
- Tirar essa

Parte.03

Agora, pensando no diretório private, que falei logo no início do post. O pessoal que faz parte do grupo private, deve ter permissão para entrar, ler e escrever nesse diretório! Mas o usuário fabio e qualquer outra pessoa que não faz parte do grupo, nem pode ver o que tem lá dentro!
Por padrão, a permissão para qualquer diretório criado é rwxr-xr-x. Então, os usuários que fazem parte do grupo private, só podem entrar e ler o conteúdo do diretório. Vamos fazer um teste tentando criar um arquivo dentro do diretório private com o usuário fabio:

$ whoami
fabio

fb:~$ cd /fls/private/

$ touch fabio.txt
touch: cannot touch `fabio.txt’: Permissão negada


Bem, o fabio, apesar de fazer parte do grupo private, não conseguiu criar um arquivo dentro do diretório! Isso acontece por conta das permissões! Vejam:

# ls -ld /fls/private/
drwxr-xr-x 2 root private 1024 2009-01-02 00:27 /fls/private/

No bloquinho de permissões do grupo, diz que o grupo pode ler e executar. No caso, executar seria entrar no diretório… e para escrever… nada!
Por isso que o fabio não conseguiu criar o arquivo. Vamos mudar isso… 
Então, como root, vamos aplicar permissão de escrita para o grupo no diretório private:

# chmod u=rwx,g=rwx,o= /fls/private

No comando acima, usando a forma literal, estamos aplicando permissão total para o dono (u), o grupo (g), e, como é o diretório que só o pessoal do financeiro vai acessar, não colocamos nada de permissão para outros (o=).
Vejam como ficou:

Parte.04


# ls -ld /fls/private/
drwxrwx— 2 root private 1024 2009-01-02 00:27 /fls/private/
Bom, aproveitando, vejam agora também a outra forma que também é utilizada para dar permissões; é o modo octal (usando números)!
Vejam a tabela:
1 – execução (x)
2 – gravação (w)
4 – leitura (r)
É a mesma lógica… só que agora, usando números!!! Sendo assim, as permissões que definimos acima, usando números, ficaria assim:
# chmod 770 /fls/private/
# ls -ld /fls/private/
drwxrwx— 2 root private 1024 2009-01-02 00:27 /fls/private/
E o valor das permissões para cada pessoa, vem da soma: 4+2+1 = 7.
É importante falar que os dois modos de definir permissão (literal e octal), são bons! Mas a melhor parte da notícia, é que é você quem escolhe qual dos dois melhor se adapta.

Webmin


site: http://www.webmin.com



O Webmin é um gerenciador de sistema baseado numa interface web desenvolvida em Perl. Com este utilitário você pode administrar seus Servidores pela rede via web.

Algumas das tarefas que você pode fazer com o Webmin atualmente:
  • Mudar senhas, configurar o crontab, configurar scripts de inicialização, backup, configuração do pam, quotas, gerência de processos, pacotes, usuários e grupos.
  • Configura e administrar servidores majordomo, cvs, sendmail, qmail, postfix, fetchmail, jabber, samba, postgresql, proftpd, ssh, squid, wu-ftpd, apache, dhcp, dns bind, MySQL.
  • Configura rede, exportações NFS, NIS, PPP, túneis SSL.
  • Adminstração de impressoras, gerenciadores de boot, cd-roms, raid, partições, lvm, clustering.
  • Além de outras coisas como shell via web, gerenciador de arquivos, módulos perl, etc.


Particionamento

Script de Backup

# instalar o pacote SMBFS
mount -t smbfs -o username=usuario_compartilhamento,password=senha_compartilhamento //192.168.0.45/bkp_samba /mnt/windows
montado=`mount | grep /backup`



# SE A MONTAGEM NÃO ESTIVER UP ENTÃO FECHA, CASO CONTRÁRIO REALIZA O BACKUP
if [ -z "$montado" ]; then
    exit 1
else


tar -cvf backup_etc.tar.gz /etc
Data=`date "+%d%m%Y"`
mv backup_etc.tar.gz backup_etc-$Data.tar.gz
mv *.gz /mnt/windows
umount /mnt/windows




fi


# FIM DAS INSTRUÇÕES

segunda-feira, 13 de setembro de 2010

Comandos

1) Ejetar Cd-rom
    # eject            = abre cdrom
    # eject -t         = fecha cdrom

2) Saber sistema de Arquivo que suporta o Kernel
    # cat /proc/filesystems

3)  Deletar usuário e sua pasta home
     # userdel -r nomeusuario

4) Comando para listar apenas as linhas comentadas de um arquivo
    # grep arquivo -e ^#

5) Comando para procurar pequena descrição sobre comandos do sistema
    # whatis ls

ls (1) - lista o conteudo do diretório
ls (1) - list directory contents
LS (6) - display animations aimed to correct users who accident...

sexta-feira, 10 de setembro de 2010

Samba


http://www.samba.org/
Para mais detalhes Clique aqui - Howto Samba


Com o servidor Samba, é possível compartilhar arquivos, compartilhar impressoras e controlar o acesso a determinados recursos de rede

Instalando os Pacotes Necessários

# aptitude install samba
# aptitude install smbfs

Vamos gerar um backup do arquivo de configuração do Samba

# cd /etc/samba/
# cp smb.conf smb.conf.backup

Vamos editar o smb.conf e apagar todo seu coteudo

# vi smb.conf

E adicionar o conf no arquivo

# Arquivo Configuracao do SAMBA

# Autor : Fbiancardi
# Data Criacao: 22/06/2009
# Release : 04


 [global]
workgroup = colaboradores
server string = Server_SMB
netbios name = samba
name resolve order = lmhost host wins bcast
admin users = fabio
invalid users = root
socket options = TCP_NODELAY
log file = /var/log/samba/%m.log
max log size = 1000
interfaces = 192.168.5.232/24 eth0
hosts allow = 192.168.5.0/24 192.168.6.0/24 192.168.7.0/24 192.168.8.0/24
winbind use default domain = no
keepalive = 20
template shell = /bin/false
dns proxy = no
unix password sync = no
os level = 20
syslog only =yes
syslog = 1
bind interfaces only = true
panic action = /usr/share/samba/panic-action %d


# Compartilhamento

[financeiro]


comment = financeiro
path = /home/samba/financeiro
valid users = user
write list = user fabio
force group = financ
create mask = 0775
directory mask = 0775
browseable = no
vfs object = full_audit
full_audit:facility = LOCAL5
full_audit:priority = NOTICE
full_audit:prefix = %u|%I|%S
full_audit:success = rename rmdir unlink
full_audit:failure = none
veto files = /*.exe/*.mpg/*.jpg/*.gif/*.bmp/*.avi/*.pps/*.ppt/*.mp3/*.tif

 
 
Criar usuário no sistema


# adduser fabio
passwd# ********

Criar usuário no Samba

adicionar


#smbpasswd –a fabio
passwd# ********


Basicamente funciona assim:


user, fabio seráo usuários do financeiro, e a pasta é /samba/financeiro
Então eu tenho que garantiar que exista esse grupo, e os usuários estejam nesse grupo

#groupadd financeiro


#gpasswd -a fabio financeiro

Depois eu ajusto as permissões da pasta:

#chgrp financeiro /home/samba/financeiro


#chmod 775 /home/samba/financeiro ou
#chmod 770 /home/samba/financeiro (caso quem nao for do financeiro nem entra na pasta)

Depois eu tenho que setar herança de grupo nessa pasta para que tudo que for criado lá dentro seja do grupo financeiro:


#chmod g+s /home/samba/financeiro

Iniciando o Serviço

# /etc/init.d/samba start

Testando as Configurações

# testparm

Loaded services file OK.


WARNING: You have some share names that are longer than 12 characters.
These may not be accessible to some older clients.
(Eg. Windows9x, WindowsMe, and smbclient prior to Samba 3.0.)
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions


Ao pressionar enter ira listar seu arquivo de configuração

Lixeira no Samba

Habilitando para todos os compartilhamentos

Edite o arquivo smb.conf e insira as linhas abaixo

[global]

vfs objects = recycle
recycle:keeptree = yes
recycle:versions = yes
recycle:repository = lixeira
recycle:exclude = *.tmp, *.log, *.obj, ~*.*, *.bak, *.iso

recycle:exclude_dir = tmp, cache


Explicando cada linha:
[global] // Geral, o que esta contido nessa parte, vai ficar para todos os compartilhamentos.
vfs objects = recycle // Ativa a lixeira
recycle:keeptree = yes // Não deixa que os arquivos fiquem misturados, cria o caminho certo de onde o arquivo foi excluído.
recycle:versions = yes // Não sobrescreve os arquivos deletados, criar diferentes nomes.
recycle:repository = lixeira //dessa forma ele ira cria no diretório raiz de cada compartilhamento
recycle:exclude = *.tmp, *.log, *.obj, ~*.*, *.bak, *.iso // Aqui ignoramos alguns arquivos.
recycle:exclude_dir = tmp, cache // Mesma coisa, mas neste caso são pastas não importantes.


Agora Vamos compartilhar o diretorio que conterá os itens excluidos

[lixeira]
path = /fls/trash
writeble =yes

Isso deixara a pasta visivel para os usuarios

quinta-feira, 9 de setembro de 2010

Caracter Especial

Para que o comando rm delete o arquivo deve-se colocar -- para que ele não reconheça o - como uma opção.



Então o comando ficaria assim:

# rm -- -10.0.0.0.jlogin

Proteger Diretório

Tirando permissão até de root


Segue um comando esquecido por administradores e de muita utilidade, principalmente quando estamos quebrando a cabeça resolvendo algum problema e quando vamos ver até pioramos a situação, trata-se do comando:

# chattr

Uma das utilidades deste comando é simplesmente modificar atributos em arquivos para nem sequer o root apagar, principalmente quando não se tem backup de alguns arquivos de configuração recém modificados.

Seu uso é bem simples:

# chattr +i arquivo (coloca o atributo)


# chattr -i arquivo (retira o atributo)

Testando...

# chattr +i teste
# rm teste

rm: remove write-protected regular file `teste'? y
rm: não foi possível remover `teste': Operação não permitida

SSH-RSA


SSH por ROOT




SSH para realizar uma conexão sem senha utilizando autenticação com chave RSA.


maquina cliente 192.168.0.210
maquina servidor 192.168.0.99

na maquina cliente 192.168.0.210
#ssh-keygen -t rsa

obs: deixar em branco

ira gerar duas chaves

id_rsa id_rsa.pub

transferir o arquivo para o servidor 192.168.0.99
#scp -P 222 id_rsa.pub root@192.168.0.99:/root/.ssh

obs: no diretorio oculto

No servidor 192.168.0.99

ir na pasta oculta

#cd /root/.ssh

renomear o id_rsa.pub

# mv id_rsa.pub authorized_keys

quarta-feira, 8 de setembro de 2010

Cacic

CACIC - Configurador Automático e Coletor de Informações Computacionais


O Cacic é capaz de fornecer um diagnóstico preciso do parque computacional e disponibilizar informações como o número de equipamentos e sua distribuição nos mais diversos órgãos, os tipos de softwares utilizados e licenciados, configurações de hardware, entre outras. Também pode fornecer informações patrimoniais e a localização física dos equipamentos, ampliando o controle do parque computacional e a segurança na rede.

Desenvolvedor: DATAPREV - Empresa de Tecnologia e Informações da Previdência Social

Linguagens de Programação: Php, Perl, Python e Delphi

SGBD: MySQL

 Coletar informações sobre hardwares;

 Alertar o administrador quando o sistema for alterado ou houver troca de hardware;
 Coletar informações sobre softwares instalados;
 Identificar compartilhamentos e aplicar restrições de segurança necessárias;
 Coletar informações de patrimônio;
 Mostrar as informações citadas acima em uma interface WEB.

O CACIC é composto de 2 módulos:



 AGENTE, que é um programa responsável por coletar as informações citadas acima dos computadores;
 GERENTE, que é instalado no servidor e é quem administra os AGENTES.


Pré-requisitos para instalação do GERENTE:


 Sistema Operacional Linux;
 Perl (compiladores e interpretador);
 Servidor Web Apache2;
 Interpretador PHP5;
 MySQL v5.0 ou superior;
 ProFTPd (servidor FTP);
 Postfix (ou qualquer outro MTA);
 Módulo extra necessário: php5-mysql, php4-gd, php5-mcrypt, libapache2-mod-php5.

Instalando os pacotes

Todos os passos a seguir devem ser executados como root

Atualizando a lista de pacotes disponíveis:

# aptitude update

Instalando o MySQL:

# aptitude install mysql-server


Ele abrirá o configurador, defina as configurações padrões e defina a senha do usuário administrador.

Instalando o proftpd:

# aptitude install proftpd

No final da instalação ele abrirá o configurador do ProFTP, escolha como ele será carregado, entre inetd ou standalone, escolha standalone.



No final desta configuração abra o arquivo /etc/proftpd.conf e adicione no final do arquivo as linhas a seguir:

DefaultRoot ~

RequireValidShell off

A primeira linha tornará o diretório home do usuário a raiz do ftp, já a segunda permite que o usuário do cacic baixe arquivos do ftp sem ter shell válido.


Agora adicionaremos o usuário que será utilizado pelo cacic para downloads e updates:

# adduser --shell /bin/false --home /var/www/ftpcacic ftpcacic

Agora vamos criar o diretório onde os agentes buscarão atualizações:

# mkdir /var/www/ftpcacic/agentes

# chown ftpcacic.ftpcacic /var/www/ftpcacic/agentes

Reinicie o servidor de ftp:

# /etc/init.d/proftpd restart

Vamos agora testar se o ftp está funcionando corretamente:

# ftp ip-do-servidor

login: ftpcacic

senha: senha-do-ftpcacic
ftp> quit

Se você conseguiu logar no ftp é porque ele está funcionando corretamente.

Instalando o Apache2 + PHP5:

# aptitude install apache2 php5-dev php5 php5-mysql php5-gd php5-mcrypt libapache2-mod-php5

Configurando o PHP

O register_globals do PHP deve ser habilitado e o warnings deve ser configurado para não mostrar erros. Os módulos do Apache também devem ser habilitados.

No Debian Linux e seus derivados estas configurações devem ser feitas no arquivo /etc/php5/apache2/php.ini e as alterações são as seguintes:


register_globals=On
register_long_arrays=On
error_reporting=E_COMPILE_ERROR
E_ERROR
E_CORE_ERROR
extension=mysql.so
extension=gd.so
extension=mcrypt.so

Configurando o Apache2

Vamos configurar a utilização do ISO-8859-1 como charset default.


Edite o arquivo /etc/apache2/apache2.conf e altere a variável:

AddDefaultCharset ISO-8859-1

Baixando e acessando o gerente



Baixando o gerente

Faça seu cadastro no site Software Público e baixe o agente e o gerente no servidor onde você está trabalhando.


Vamos descompactar o gerente:

# tar -zxvf cacic-v222.tar.gz -C /var/www/

Agora vamos trocar o dono do diretório /var/www/cacic2:

# chown -R www-data /var/www/cacic2

Configurando o gerente pelo navegador:


Abra seu navegador e digite o endereço a seguir:
http://<IP_GERENTE>/cacic2/instalador/index.php

ATENÇÃO: Neste momento será utilizado um instalador automático do CACIC, onde o administrador deve responder as perguntas em tela para a configuração do mesmo.

Siga todas as instruções que serão mostradas no assistente, onde ele exibir um X significa que o item foi checado no servidor e não foi satisfeita, corrija o problema e entre novamente no assistente.

Acessando o gerente

Acesse via navegador o endereço /cacic2 no IP do servidor gerente: Os arquivos serão enviados do diretório repositório, criado na descompactação do arquivo cacic-v222.tar.gz, para a pasta do ftp agentes/:



http://<IP_GERENTE>/cacic2/

Faça login utilizando o usuário e senha escolhidos na etapa de instalação:


Usuário: <LOGIN_DO_USUÁRIO>
Senha: <SENHA_DO_USUÁRIO>



Cadastrando as redes


Agora clique em [Administração], depois [Cadastros] e em [SubRedes]. É nesta página que se cadastra as redes que serão monitoradas pelo CACIC. Para isso é necessário que você conheça as configurações da sua infra-estrutura de rede.



Faça o levantamento das redes que serão cadastradas. Somente serão coletadas as informações de redes cadastradas. Serão necessárias:


 As configurações TCP/IP;
 O servidor de FTP, login e senha para ftp para o gerente;
 O servidor de FTP, login e senha para ftp para o agente;
 O caminho do servidor de update para o FTP.

Criando a nossa primeira rede


Agora clique no botão [Incluir Nova Subrede]. Deverão ser preenchidas as informações obtidas anteriormente.


 Local: Local onde a rede se situa;
 Subrede e máscara: aqui deve ser colocado o range de IPs que serão inventariados (o administrador da rede possui este range);
 Descrição: é uma breve descrição desta rede;
 Servidor de Aplicação: Normalmente é o mesmo número IP do Servidor de Gerente;
 Servidor de Updates (FTP): deve ser preenchido com o número IP do Servidor de FTP. Pode ser a mesma máquina do servidor gerente;
 Usuário do Servidor de Updates (para AGENTE): geralmente é o usuário do FTP;
 Usuário do Servidor de Updates (para o GERENTE): geralmente é o usuário do FTP;
 Path no Servidor de Updates: se foi configurado de acordo com a documentação o caminho é "agentes/";
 Observações: o preenchimento é opcional.
 Contato 1: Nome da pessoa que é responsável pela rede.
 E-mail: o e-mail que serão enviadas as notificações desta rede.
 Telefone: Telefone do responsável pela rede.

Clique no botão [Gravar Informações].

Disponibilizando os módulos agentes



/var/www/cacic2/repositório => /var/www/ftpcacic/agentes

Acesse o diretório /var/www/cacic2/repositorio:

# cd /var/www/cacic2/repositorio

Digite "ls" dentro do diretório acima. Este comando mostrará os respectivos arquivos para verificar se os arquivos do agente foram copiados:

cacic2.exe
chksis.exe
col_comp.exe
col_moni.exe
col_soft.exe
ger_cols.exe
mapacacic.exe
vaca.exe
versoes_agentes.ini
chkcacic.exe
col_anvi.exe
col_hard.exe
col_patr.exe
col_undi.exe
ini_cols.exe
testacrypt.exe
vacon.exe
wscript.exe


Volte para o navegador.



Acesse o menu [Manutenção] e clique em [Updates de SubRedes].


Marque todos os objetos, pois enviaremos todos os arquivos para o nosso servidor de FTP.


Selecione a sub-rede para onde eles serão enviados e clique em [Executar Updates].


Instalação do módulo Agente
 
Conhecendo a instalação do Agente CACIC em estações Windows, ela é realizada por meio do arquivo chkcacic.exe.




Copie o arquivo chkcacic.exe para a estação Windows.


A cópia pode ser realizada via ftp utilizando o seguinte comando na *estação*:

C:\>ftp <ip_do_servidor_cacic>


login: ftpcacic
senha: <senha_do_ftpcacic>
binary
cd agentes
bi
prom
mget chkcacic.exe

Execute o arquivo chkcacic.exe e preencha os campos pedidos por ele. O arquivo carregará os outros módulos necessários do servidor FTP.

Informações sobre o módulo Agente Linux

O agente CACIC para GNU/Linux encontra-se ainda em fase de desenvolvimento e foi escrito em Perl. O projeto foi iniciado por Yves Junqueira a partir das discussões da comunidade e deverá contar com interface gráfica construída em Python. A versão disponível para testes ainda não é recomendada para utilização em produção.

"Existe uma versão mais atualizada no repositório de desenvolvimento da comunidade."

Nagios






Nagios é um aplicativo de monitoramento de sistemas e redes. O programa checa periodicamente o status de um serviço ou cliente alertando aos responsáveis em caso de falhas. O status de cada cliente e serviço da rede pode ser consultado via interface web.



Algumas das funções do Nagios são:
• monitorar serviços da rede (SMTP, POP3, HTTP, NNTP, PING, etc.);
• monitorar recursos do host (uso do processador, uso do disco, etc.);
• desenvolvimento de plugins, permitindo que os usuários criem serviços personalizados;
• verificação paralela de serviços;



Instalando os Pacotes Necessários

Os pre requisitos para a instalação do nagios são:

• Apache
• GD Development Libraries
• GCC compiler and development libraries
• Php5

Instalando os Pre Requisitos

# aptitude install apache2 libgd2-xpm-dev php5 gcc g++

Criando as Informações de Conta
É necessário criar um usuário e grupo para o Nagios conforme abaixo.

Criando uma Conta Para o Nagios


# adduser nagios


# passwd nagios

Criando um Grupo Para o Nagios

#groupadd nagios


# usermod -G nagios nagios

Criando o nagcmd

Agora é preciso criar um grupo que chamaremos de nagcmd para permitir que comandos externos sejam passados pela interface web.

# groupadd nagcmd


# usermod -G nagcmd nagios


# usermod -G nagcmd www-data

Instalando o Nagios


Nesse ponto começaremos a instalação do Nagios.


Obs: É recomendável que se crie um diretório para dados antes de fazer o download dos fontes.

# mkdir /dados


# cd /dados

Baixando o Nagios 3.2 e Seus Plugins

Baixe os Nagios e os plugins dentro do diretório dados criado anteriormente.



# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.2.tar.gz



# wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz

Descompactando, Compilando e Instalando o Pacote Com o Fonte do Nagios

Agora é o momento em que instalaremos de fato o Nagios.



Descompacte o fonte do sistema e compile conforme os comandos abaixo:

# cd /dados



# tar xzvf nagios-3.0.1.tar.gz


# cd nagios-3.0.1


# ./configure --with-command-group=nagcmd


# make all


Instalando os binários, scrip de inicialização e permissões para comandos externos.


# make install


# make install-init


# make install-config


# make install-commandmode


Obs: Não inicie o Nagios ainda.

Configurando a Interface Web


Instalando o arquivo do Nagios web config no diretório conf.d do apache.


# make install-webconf


Criando usuário e senha para autenticar na interface web.


Abaixo criaremos o usuário nagiosadmin para acesso via web.


# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin


Reiniciando o apache


# /etc/init.d/apache2 reload


# Instalando os Plugins do Nagios


Agora vamos instalar os plugins do Nagios para permitir monitorar serviços de hardware como CPU, memória, discos etc.

Descompactando os Fontes

# cd /dados


# tar xzvf nagios-plugins-1.4.11.tar.gz


# cd nagios-plugins-1.4.11

Compilando e Instalando

# ./configure --with-nagios-user=nagios --with-nagios-group=nagios


# make


# make install


Iniciando o Nagios


Configurando o Nagios para iniciar com o sistema.


# ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios


Verificando se há erros nas configurações do Nagios.


# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg


Iniciando o Nagios.


# /etc/init.d/nagios start

Acessando a Interface Web

Acesse o seguinte endereço no browser para ingressar no Nagios.


http://ip_do_servidor_nagios/nagios/








Obs: Use o usuário e senha criado na seção Configurando a Interface Web.


Software Para Envio de Notificações por E-mail


Para o Nagios enviar notificações via e-mail é necessário instalar um software para tal. Usaremos o software da Clean Code chamado email.


Abaixo os comandos para instalá-lo:


# cd /dados


# wget http://webftp.seduc.ce.gov.br/Nagios/email-2.5.1.tar.gz


site: http://www.cleancode.org/downloads/email/obsolete/


# tar zxvf email-2.5.1.tar.gz


# cd email-2.5.1


# ./configure


# make


# su -c 'make install'


Obs: Após a instalação do software será necessário editar o arquivo /usr/local/etc/email/email.conf e mudar o parâmetro SMTP_SERVER para o IP do servidor de e-mail da sua rede.

Conclusões Finais

Feito isso o Nagios Rc2 e seus plugins já estarão instalados no servidor. Ele já estará apto a monitorar serviços de rede como HTTP, FTP, DNS, URLs etc. Porém para monitorar recursos de máquina como CPU, Memória e Discos em hosts remotos, é preciso instalar os plugins necessários em cada host a ser monitorado.

Para visualizar o artigo que descreve a instalação dos plugins nas máquinas a serem monitoradas acesse Instalação dos Plugins do Nagios


Para acessar o artigo que explica a configuração do nagios acesse Configurando o nagios




OBS: Para o Funcionamento do 3-D Statusmap é necessário instalar o aplicativo Cortona3D Viewer
Site para Baixar: http://www.cortona3d.com/


Instale na máquina onde irá abrir a interface web do nagios



sexta-feira, 3 de setembro de 2010

Smokeping






O SmokePing é uma ferramenta open-source de medição de latência em redes de comunicações.

Pacotes Necessários para Instalação:

Smokeping 
Sendmail - por padrão o smokeping usa para envio de e-mail

# aptitude install smokeping


# aptitude install sendmail




Após a Instalação sera criado um diretorio /etc/smokeping

Configurações

Editar o arquivo de configuração "General"




# vi /etc/smokeping/config.d/General
Informe seus dados abaixo
owner      = seu nome
contatc    = seu@email.com.br
cgiurl       = http://ip.da.maquina/cgi-bin/smokeping.cgi
mailhost  = smtp.seu_dominio.com.br

Editar o arquivo de alerta "Alerts"




# vi /etc/smokeping/config.d/Alerts
Informar:
to     = seu@email.com.br
from = smokeping@seu.dominio.com.br

Editar o arquivo alvo "Target" (Informar os IP´S a serem monitorados)



Obs: O sinal "+" cria um menu.  "++" cria um novo menu dentro do menu principal

# vi /etc/smokeping/config.d/Target

+ Local
menu = Local
title = Local Network

++ LocalMachine
menu = Local Machine
title = this host
host = localhost

++ Servidor
menu = vpn # descrição
title = Virtual Private Network  # Titulo

+++ Link-Matriz
menu = link_matriz
host = 192.168.0.1
alerts = bigloss,someloss,startloss

+++ Link-Filial-1
menu = link_1

host = 192.168.1.1
alerts = bigloss,someloss,startloss

+++ Link-Filial-2

menu = link_2
host = 192.168.2.1
alerts = bigloss,someloss,startloss

+++ Link-Filial-3

menu = link_3
host = 192.168.3.1
alerts = bigloss,someloss,startloss

Iniciando o SmokePing

# smokeping --debug-daemon


esse comando inicia o smokeping e gera os gráficos

obs: caso o erro abaixo apareceça execute o comando /etc/init.d/smokeping stop e novamente
execute o comando smokeping --debug-daemon

Note: logging to syslog as local0/info.

ERROR: I Quit! Another copy of /usr/sbin/smokeping (8117) seems to be running.
Check /var/run/smokeping/smokeping.pid

Crontab

Para atualizar os gráficos iremos criar um script agendado no crontab para executar a
cada 1 minuto.

Crie um arquivo com o nome smoke.sh no diretorio /etc/smokeping e dentro coloque:

#!/bin/sh

#executar smokeping
cd/var/www/smokeping

# Remover todo Coteudo
rm * -rf

# Atualizar as páginas

/usr/sbin/smokeping --static=/var/www/smokeping/




Agora vamos adicionar no crontab

# Crontab -e

E coloque:

* * * * * /etc/smokeping/smoke.sh

Para acessar o servidor: http://192.168.0.245/cgi-bin/smokeping.cgi


Imagem 1 :



Dúvidas: fdbiancardi@gmail.com