No Debian Sarge, o comando "crontab -e", abre automaticamente o editor NANO para a edição dos comandos das tarefas do cron. Se você preferir usar o Vim (VI), faça o seguinte:
# rm -f /etc/alternatives/editor
# ln -s /usr/bin/vi /etc/alternatives/editor Após isso, o comando "crontab -e" (edição das tarefas do cron) abrirá com o VI.
sexta-feira, 3 de dezembro de 2010
segunda-feira, 4 de outubro de 2010
Básico 1
1) Histórico de Comandos: Permite que seja gravado até 500 comandos por padrão, assim não precisa redigitaro o comando quando precisar dele, use a setas do teclado para cima ou para baixo para repetir os ultimos comandos.
no prompt digite:
fb# history
484 cd /root/
485 ls
486 cd scripts/
487 ls
488 >halt.sh
489 vi halt.sh
490 chmod +x halt.sh
491 crontab -l
492 ls
493 pwd
494 crontab -e
495 crontab -l
496 /etc/init.d/cron restart
497 crontab -l
498 ls
499 exit
500 history
2) Logout: Saida do sistema feita pelos seguintes comandos:
# exit
# logout
#CTRL+D
3) Comandos para desligar o Computador
# poweroff
# halt
# shutdown -h now
4) Comando para Reiniciar
# reboot
# shutdown -r
# shutdown -r 60
|_________| |
Reiniciar minutos Reiniciar
Broadcast message from root@fb (pts/2) (Mon Oct 4 16:52:00 2010):
The system is going DOWN for reboot in 60 minutes!
4) Limpar tela
# clear
# CTRL + L
5) Funcionalidades Linha de Comandos
# CTRL+R = procurar "x" letra relacionada ao último comando
6) Entendendo a árvore de diretório
/ (diretório raiz)
/bin (diretório onde guarda os comandos essenciais para funcionamento do sistema)
/boot (diretório onde estão os arquivos estáticos necessários para inicialização)
/dev (diretório onde ficam todos os arquivos do dispositivos)
/etc (diretório onde estão os arquivos de configurações do sistema)
/lib (diretório onde estão as bibliotecas compartilhadas e módulos do Kernel)
/media (ponto de montagem para dispositivos removiveis pen-drive, camera digital)
/mnt (utilizado para montagem temporária de sistemas de arquivos)
/opt (utilizado por programas proprietários ou não oficial da distribuição)
/sbin (guarda comandos utilizados para inicializar/reparar/restaurar o sistema)
/srv (diretório para dados de serviços fornecidos pelo sistema, ex: /srv/www)
/tmp (diretório para armazenamento de arquivos temporários)
/usr (diretório de programas que não são essenciais ao sistema ex: navegadores)
/var (diretório de arquivos de dados variáveis ex: logs do sistema
/proc (diretório virtual, mantido pelo kernel onde guarda as configurações atuais)
/sys (igual ao proc porem mais organizado)
/home (diretório pessoais dos usuários cadastrados)
/root (diretório pessoal do root)
no prompt digite:
fb# history
484 cd /root/
485 ls
486 cd scripts/
487 ls
488 >halt.sh
489 vi halt.sh
490 chmod +x halt.sh
491 crontab -l
492 ls
493 pwd
494 crontab -e
495 crontab -l
496 /etc/init.d/cron restart
497 crontab -l
498 ls
499 exit
500 history
2) Logout: Saida do sistema feita pelos seguintes comandos:
# exit
# logout
#CTRL+D
3) Comandos para desligar o Computador
# poweroff
# halt
# shutdown -h now
4) Comando para Reiniciar
# reboot
# shutdown -r
# shutdown -r 60
|_________| |
Reiniciar minutos Reiniciar
Broadcast message from root@fb (pts/2) (Mon Oct 4 16:52:00 2010):
The system is going DOWN for reboot in 60 minutes!
4) Limpar tela
# clear
# CTRL + L
5) Funcionalidades Linha de Comandos
# CTRL+R = procurar "x" letra relacionada ao último comando
6) Entendendo a árvore de diretório
/ (diretório raiz)
/bin (diretório onde guarda os comandos essenciais para funcionamento do sistema)
/boot (diretório onde estão os arquivos estáticos necessários para inicialização)
/dev (diretório onde ficam todos os arquivos do dispositivos)
/etc (diretório onde estão os arquivos de configurações do sistema)
/lib (diretório onde estão as bibliotecas compartilhadas e módulos do Kernel)
/media (ponto de montagem para dispositivos removiveis pen-drive, camera digital)
/mnt (utilizado para montagem temporária de sistemas de arquivos)
/opt (utilizado por programas proprietários ou não oficial da distribuição)
/sbin (guarda comandos utilizados para inicializar/reparar/restaurar o sistema)
/srv (diretório para dados de serviços fornecidos pelo sistema, ex: /srv/www)
/tmp (diretório para armazenamento de arquivos temporários)
/usr (diretório de programas que não são essenciais ao sistema ex: navegadores)
/var (diretório de arquivos de dados variáveis ex: logs do sistema
/proc (diretório virtual, mantido pelo kernel onde guarda as configurações atuais)
/sys (igual ao proc porem mais organizado)
/home (diretório pessoais dos usuários cadastrados)
/root (diretório pessoal do root)
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:
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:
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
-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.
drwxrwx— 2 root private 1024 2009-01-02 00:27 /fls/private/
drwxrwx— 2 root private 1024 2009-01-02 00:27 /fls/private/
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.
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
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...
# 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
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
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."
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
Assinar:
Postagens (Atom)