Oito anos de testes
shyrul@debian:~$ A grande idéia de postar tudo aqui, veio do simples fato de que depois de 8 anos de pesquisas, testes e muitos clientes satisfeitos, eu nunca tinha juntado todo o material que consegui com o decorrer do tempo, em um só lugar. A gente ai ficando velho e acaba esquecendo de coisas básicas. E também gostaria de deixar minha contribuição para todos.
terça-feira, 31 de dezembro de 2013
Hotspot sem internet mikorik
Bem... antes de perguntar cade? Já esta funcionando! Mas ainda estou resolvendo os ultimos detalhes com o erro das paginas https tipos gmail e facebook que não são redirecionada. Assim que terminar vou vou postar. aqui.
terça-feira, 10 de julho de 2012
Desabilitando o IPV6 no Debian e Ubuntu
# cat /proc/sys/net/ipv6/conf/all/disable_ipv6
Se o resultado for 0 é que o IPV6 esta ativo, 1 significa desabilitado.
Depois com as alterações abaixo voce desabilita o IPV6:
sudo gedit /etc/sysctl.conf
Acrescente as linhas:
#disable ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
Se o resultado for 0 é que o IPV6 esta ativo, 1 significa desabilitado.
Depois com as alterações abaixo voce desabilita o IPV6:
sudo gedit /etc/sysctl.conf
Acrescente as linhas:
#disable ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
sexta-feira, 18 de novembro de 2011
Adicionando hosts no Nagios3
Tem um monte de tutoria por ai explicando com instalar o Nagios3. O problema é para quem nunca viu colocar os hosts para monitorar. Vou postar um pequeno aquivo de configuração bem simples, somente para monitorar por ip.
Dentro da pasta /etc/nagios3/conf.d é que estão os arquivos .cfg, ex. host.cfg que contem as informações do host a ser monitorado. O arquivo fica mais ou menos assim:
###############################################################################
# SERVIDOR (NOME FICTICIO DO SERVIDOR)
################################################################################
################################################################################
# DEFINICOES DE HOST (LOCAL ONDE SE DEFINE AS CONFIGURACOES DO HOST)
################################################################################
define host{
use generic-host
host_name HostX (aqui voce coloca o nome do host)
alias Cliente Empresarial (nome alternativo, pode ser o mesmo do host_name)
address 192.10.10.71 (ip do servidor a ser monitorado)
check_command check-host-alive
max_check_attempts 2
check_interval 1
notification_interval 30
notification_period 24x7
notification_options d,u,r
contact_groups admins
#parents Roteador Cisco (descomente esta linha se for usar o mapa, pois ela faz a ligação com outro host, só mudar o Roteador Cisco pelo host_name do servidor a quem ele se liga)
}
################################################################################
# DEFINICOES DE SERVICOS
################################################################################
################################################################################
# PING
################################################################################
define service{
host_name HostX (aqui voce coloca o nome do host igual o lá de cima, caso contrario, não funciona)
service_description PING
check_command check_ping!200.0,20%!600.0,60%
max_check_attempts 2
normal_check_interval 1
retry_check_interval 1
check_period 24x7
notification_interval 30
notification_period 24x7
notification_options w,c,r
contact_groups admins
}
#################################################################################
Salve com a extensão .cfg dentro da pasta /etc/nagios3/conf.d
Re-inicie o nagios com o comando:
# /etc/init.d/nagios3 reload e depois /etc/init.d/nagios3 restart
Caso nenhum erro seja encontrado, ele volta a funcionar normalmente. Se alguma coisa estiver errada, ele vai dizer exatamente onde é. Dai só conferir e editar.
Dentro da pasta /etc/nagios3/conf.d é que estão os arquivos .cfg, ex. host.cfg que contem as informações do host a ser monitorado. O arquivo fica mais ou menos assim:
###############################################################################
# SERVIDOR (NOME FICTICIO DO SERVIDOR)
################################################################################
################################################################################
# DEFINICOES DE HOST (LOCAL ONDE SE DEFINE AS CONFIGURACOES DO HOST)
################################################################################
define host{
use generic-host
host_name HostX (aqui voce coloca o nome do host)
alias Cliente Empresarial (nome alternativo, pode ser o mesmo do host_name)
address 192.10.10.71 (ip do servidor a ser monitorado)
check_command check-host-alive
max_check_attempts 2
check_interval 1
notification_interval 30
notification_period 24x7
notification_options d,u,r
contact_groups admins
#parents Roteador Cisco (descomente esta linha se for usar o mapa, pois ela faz a ligação com outro host, só mudar o Roteador Cisco pelo host_name do servidor a quem ele se liga)
}
################################################################################
# DEFINICOES DE SERVICOS
################################################################################
################################################################################
# PING
################################################################################
define service{
host_name HostX (aqui voce coloca o nome do host igual o lá de cima, caso contrario, não funciona)
service_description PING
check_command check_ping!200.0,20%!600.0,60%
max_check_attempts 2
normal_check_interval 1
retry_check_interval 1
check_period 24x7
notification_interval 30
notification_period 24x7
notification_options w,c,r
contact_groups admins
}
#################################################################################
Salve com a extensão .cfg dentro da pasta /etc/nagios3/conf.d
Re-inicie o nagios com o comando:
# /etc/init.d/nagios3 reload e depois /etc/init.d/nagios3 restart
Caso nenhum erro seja encontrado, ele volta a funcionar normalmente. Se alguma coisa estiver errada, ele vai dizer exatamente onde é. Dai só conferir e editar.
Mudando o mac da interface do mikrotik
Atendendo a pedidos, estou postando um pouco sobre mikrotik. Uma grande dúvida dos meus amigos é como mudar o mac da ether. Para todo mundo parar de me perguntar o tempo todo, esta aqui:
no terminal
>interface
/interface> ethernet
/interface ethernet> edit
number: ether1 (ou a ether que voce preferir)
valvu-name: mac-address
Vai abrir um editor parecido com o nano te mostrando o mac que esta na interface:
00:01:02:03:04:05
Edite conforme sua preferencia, depois feche com Ctrl + o
Mac editado!
no terminal
>interface
/interface> ethernet
/interface ethernet> edit
number: ether1 (ou a ether que voce preferir)
valvu-name: mac-address
Vai abrir um editor parecido com o nano te mostrando o mac que esta na interface:
00:01:02:03:04:05
Edite conforme sua preferencia, depois feche com Ctrl + o
Mac editado!
Acesso total a um diretório
Tem dias que nada da certo mesmo. Voce vai lá, prepara o servidor web de um cliente ou um diretório com tudo liberado na rede para o seu novo servidor (ou pior, para um cliente chato cujo o preço que voce cobrou foi mais chato ainda) e a porcaria da pasta não abre. O diretório de download da pasta www não deixa baixar os arquivos, o blog que o cliente queria instalar não abre, ou não aparecem as imagens, ou fica todo torto, ou simplesmente, nem instala! Resolve-se assim:
# chmod 777 -R /var/www/blog
Resolvido! Mas não esquecer que a segurança da pasta esta 0, pois o acesso a ela é total. Outra coisa, atenção no -R, tem que ser r maiúsculo!
Limpando o histórico do terminal
É sempre útil colocar para cima e aparecer os comandos antigos que voce digitou. Mas além de te deixar um preguiçoso de mão cheia, te faz esquecer. Pior, te impede de aprender. Fica muito chato quando tem mais de um administrador na maquina. Ai fica um olhando o que o outro faz. Isso se resolve assim:
# history -c
Pronto!
Acesso via proxy pelo terminal no Debian e CentOs
Depois de apanhar bastante com o proxy com login que foi colocado na empresa onde trabalho (a ideia de girico não foi minha... aliás, nem participei disso) não deixava eu fazer meu apt-get update, muito menos o yum update no CentOs onde fica o servidor virtual do meu setor. Todas as regras que achei e me passaram não funcionavam. Então fiz uma pequena mistura de regras e funcionou muito bem! Três passos simples:
# export http_proxy=http://seu.login:sua senha@192.168.0.71:3128
# set http_proxy=http://seu.login:sua.senha@192.168.0.71:3128
# env | grep http_proxy
No ultimo comando ele monstra a mensagem se seu login e senha foram aceitos assim:
# http_proxy=http://seu.login:sua.senha@192.168.0.71:3128
Não esquecer de trocar o ip 192.168.0.71:3128 pelo o ip do seu server proxy e a porta que ele usa.
Pronto! Lembrando que... A cada update ou cada download eu tinha que repetir a operação porque parecia que ele deslogava.
# export http_proxy=http://seu.login:sua senha@192.168.0.71:3128
# set http_proxy=http://seu.login:sua.senha@192.168.0.71:3128
# env | grep http_proxy
No ultimo comando ele monstra a mensagem se seu login e senha foram aceitos assim:
# http_proxy=http://seu.login:sua.senha@192.168.0.71:3128
Não esquecer de trocar o ip 192.168.0.71:3128 pelo o ip do seu server proxy e a porta que ele usa.
Pronto! Lembrando que... A cada update ou cada download eu tinha que repetir a operação porque parecia que ele deslogava.
quarta-feira, 15 de junho de 2011
Nova instalação do Nagios3 no Debian Lenny
# echo "deb http://ftp.debian.org/debian stable main" > /etc/apt/sources.list
Atualiza repositório:
# apt-get update
Instala as dependências:
# apt-get -f install apache2 build-essential libgd2-xpm-dev
# apt-get -f install libjpeg62 libjpeg62-dev libpng12-dev
# apt-get -f install snmp libsnmp-base
# apt-get -f install libssl-dev openssl
# apt-get -f install mc rsh-server openssh-server
# apt-get -f install php5 php-pear libsnmp9-dev rcconf
# apt-get -f install libsasl2-2 libsasl2-modules sasl2-bin mutt postfix
Instalando o Nagios
Quem busca uma ferramenta eficaz e poderosa para monitoramento de servidores, eis aqui uma solução de grande utilidade, o Nagios.
Cria usuário nagios com senha nagios:
# useradd -m -s /bin/bash nagios
# passwd nagios
Cria grupo nagios:
# groupadd nagios
# usermod -G nagios nagios
Cria grupo nagcmd:
# groupadd nagcmd
# usermod -a -G nagcmd nagios
# usermod -a -G nagcmd www-data
Baixa Nagios 3:
# apt-get install nagios3
Cria usuário nagiosadmin para acesso a web:
# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Reinicia apache:
# /etc/init.d/apache2 restart
A partir deste momento, você já consegue acessar o Nagios via browser digitando:
http://ipdoservidornagios/nagios
Utilizando o usuário nagiosadmin e senha definida acima.
Instalando Openfire no Debian
# nano /etc/apt/sources.list
adicione:
deb http://ftp.br.debian.org/debian/ etch main contrib non-free
deb-src http://ftp.br.debian.org/debian/ etch main contrib non-free
deb http://security.debian.org/ etch/updates main contrib non-free
deb-src http://security.debian.org/ etch/updates main contrib non-free
deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-free
deb http://us.archive.ubuntu.com/ubuntu/ dapper-backports main restricted universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ dapper-backports main restricted universe multiverse
#apt-get update
#apt-get install sun-java6-bin
Agora com o MySQL instalado, vamos criar o banco de dados para o Openfire:
# mysql
mysql> mysql -u USERNAME -p
mysql> CREATE DATABASE openfire;
mysql> exit
ou
# mysqladmin -u root -p create openfire
Agora baixe o openfire no site:
http://www.igniterealtime.org
depois acesse o arquivo e instale
#dpkg -i openfireX.X.deb
Acesse o servidor:
http://seu ip:9090
adicione:
deb http://ftp.br.debian.org/debian/ etch main contrib non-free
deb-src http://ftp.br.debian.org/debian/ etch main contrib non-free
deb http://security.debian.org/ etch/updates main contrib non-free
deb-src http://security.debian.org/ etch/updates main contrib non-free
deb http://volatile.debian.org/debian-volatile etch/volatile main contrib non-free
deb http://us.archive.ubuntu.com/ubuntu/ dapper-backports main restricted universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ dapper-backports main restricted universe multiverse
#apt-get update
#apt-get install sun-java6-bin
Agora com o MySQL instalado, vamos criar o banco de dados para o Openfire:
# mysql
mysql> mysql -u USERNAME -p
mysql> CREATE DATABASE openfire;
mysql> exit
ou
# mysqladmin -u root -p create openfire
Agora baixe o openfire no site:
http://www.igniterealtime.org
depois acesse o arquivo e instale
#dpkg -i openfireX.X.deb
Acesse o servidor:
http://seu ip:9090
Mudando o IP pelo terminal do Debian
Edite o arquivo /etc/network/interfaces de acordo com as suas necessidades.
uto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 10.0.0.5
netmask 10.255.255.255
network 10.0.0.0
broadcast 10.0.0.255
# coloque aqui o IP do gateway (a máquina ou modem que conecta diretamente #à internet
gateway 10.0.0.1
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 10.0.0.5
netmask 10.255.255.255
network 10.0.0.0
broadcast 10.0.0.255
# coloque aqui o IP do gateway (a máquina ou modem que conecta diretamente #à internet
gateway 10.0.0.1
Por último, para configurar o DNS, edite o arquivo /etc/resolv.conf de cada máquina e preencha da seguinte maneira:
nameserver 200.192.168.1
Repare que você pode configurar infinitos DNS, tantos quantos queira
Para adicionar mais um por exemplo, só adicionamos 1 linha:
nameserver 200.192.168.1
nameserver 200.128.68.20
#/etc/init.d/networking restart
instalando LAMP no Debian
#apt-get install apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert
#apt-get install libapache2-mod-php5 php5 php5-common php5-curl php5-dev php5-gd php-pear php5-imagick php5-imap php5-mcrypt php5-mhash php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
#apt-get install mysql-server mysql-client libmysqlclient15-dev
sábado, 4 de junho de 2011
Driver virtual para linux (tipo DaemonTools)
Para montar:
sudo mkdir /mnt/nomedocd
sudo mount /local-do-iso.iso -o loop /mnt/nomedocd
sudo mkdir /mnt/nomedocd
sudo mount /local-do-iso.iso -o loop /mnt/nomedocd
MONTAR IMAGENS ISO, MDF, CUE , NRG NO UBUNTU
O mais básico, montar uma imagem .ISO:
Código:
sudo mount -t iso9660 -o loop arquivo.iso /diretorio/de/montagem
Para montar as outras extensões, é necessário convertê-las para .ISO.
Converter BIN e CUE para .ISO:
Para isso, utilizaremos o programa bchunk.
Código:
sudo apt-get install bchunk
bchunk archivo.bin archivo.cue nuevonombre.iso
Converter .NRG para .ISO:
Nesse caso, o programa é o nrg2iso:
Código:
sudo apt-get install nrg2iso
nrg2iso archivo.nrg nuevoarchivo.iso
Converter .MDF e .MDS para .ISO:
Desta vez, será usado o mdf2iso:
Código:
sudo apt-get install mdf2iso
mdf2iso archivo.mdf nuevaimagen.iso
Converter .IMG para .ISO
Basta instalar o ccd2iso:
Código:
sudo apt-get install ccd2iso
ccd2iso imagen.img imagen.iso
sexta-feira, 3 de junho de 2011
Montando SAMBA + ANTIVIRUS + LIXEIRA
Funções do servidor: - Compartilhamento de pastas e arquivos - Escaneamento de Anti vírus em tempo real, para as pastas compartilhadas (ClamAv ) usando o modulo Scannedonly. - Lixeira para exclusão de arquivos em rede - Auditoria de acesso as pastas compartilhadasIniciando Foi escolhida a distribuição Debian 5 para a montagem deste tutorial. Para iniciar basta instalar o Debian com as opções de [x] Sistema Básico [x] Servidor de arquivos [x] Ambiente Desktop *Obs .Caso vc tenha escolhido usar o Ubuntu pule basta ignorar as opções de RCCONF.As configurações de partições e outras opções não são tão importantes e podem ser escolhidas a vontade, lembrando que este tutorial deva servir para instalação no Ubuntu. Após instalar o sistema entre como root e no terminal instale o sistema de SSH-Server# apt-get install openssh-server Isso permitirá acesso remoto ao seu sistema, o que facilitará muito a manutenção. Agora conectado via SSH no seu servidor será necessário ajustar os repositórios do APT para atualização dos módulos necessários. Começe fazendo um backup do arquivo de Sources list.# cp /etc/apt/sourceslist /etc/apt/sources.list.default Agora vamos editar ele e adicionar as seguintes linhas# nano /etc/apt/sources.listSalve o arquivo e logo em seguida realize a atualização dos pacotes# apt-get update Caso você tenha acabado de instalar o seu sistema e usou o método de baixar os pacotes via internet isso não será necessário, já que os pacotes estão atualizados. Eu particularmente gosto de otimizar meu sistema desativando alguns serviços que não são necessários neste ambiente. Utilize o comando abaixo para entrar no rcconf e desativar os serviços que não utilizaremos# apt-get install rcconf Após instalar execute ele# rcconf Desative os seguintes serviços: * exim4* mountnfs-bootclean.sh* mountnfs.sh* nettalk* nfs-common* nfs-kernel-server* openbsd-inetd* portmap* rsyslog* umountnfs.sh Agora vamos instalar o Sysklogd# apt-get install syslogd E vamos iniciar a instalação do ClamAv Antivirus# apt-get install clamav clamav-docs clamav-daemon clamav-freshclam E interessante tbm instalar o pacote de testes de vírus para o ClamAv .# apt-get install clamav-testfiles Devemos agora instalar as bibliotecas do ClamAv para compilação posterior do ScannedOnly. Isso é necessário para compilação, sem esta biblioteca não conseguiremos prosseguir com a instalação do AntiVirus.# apt-get install libclamav-dev Um problema que sempre ocorre com antvirus instalados em servidores Linux é que o próprio servidor não tem as bibliotecas necessárias para abrir arquivos compactados, isso impede o escaneamento. Para solucionar este problemas vamos instalar os pacotes necessários para abrir vários arquivos como os: arc, bzip2, cab, 7zip, zip e rar.# apt-get install arc bzip2 cabextract p7zip unzip unrar Como o Samba-vscan o Scannedonly necessita dos arquivos contendo o código fonte do samba. Como quase toda a instalação está baseada em apt-get , por isso alteramos o souce.list no inicio do tutorial.Antes de realizar-mos o processo de instalação do pacote com os fontes será necessária a instalação do pacote dpkg-dev, que traz como dependência uma série de pacotes como compiladores, bibliotecas e ferramentas de desenvolvimento como o make.# apt-get install dpkg-dev Agora vamos instalar o pacote de fontes do Samba:# cd /usr/local/src # apt-get source samba Ao finalizar ele deve realizar o download de 3 arquivos e deve também criar um diretório referente as fontes do Samba, um arquivos contendo o código fonte, outro contendo os patchs de segurança. Neste diretório estão os arquivos com os fontes que utilizaremos na compilação do ScannedOnly.Devemos agora acessar o diretório dos fontes do Samba e gerar o make file, bem como, alguns arquivos headers devido eles conterem alguns prototipos de funções utilizados pelo scannedonly, este procedimento também é necessário na compilação do samba-vscan# cd samba-3.x.x/source (onde o X deve ser substituido pela versão que foi baixada)# ./configureTome um café# make protoTome outro café # make install Obs. Vai demorar para compilar e instalar!Agora vamos baixar os fonts do ScannedOnly# cd /usr/local/src # wget http://olivier.sessink.nl/scannedonly/scannedonly-0.15.tar.bz2 Vamos descompactar e depois gerar os MAKE’S dos arquivos# tar -xvjf scannedonly-0.15.tar.bz2# cd scannedonly-0.15# ./configure -with-samba-source=/usr/local/src/samba-3.2.5/source -with-samba-vfs-dir=/usr/lib/samba/vfs Observer que o comando é dado de uma vez só, e não dois comandos separados... atente-se tambem pelos parametros passados respeitando os espaços entre cada um delesAtente ao fato do PATH do diretório dos fontes, onde estou considerando que instalamos o pacote no diretório /usr/local/src, mude o PATH conforme o diretório de trabalho que foi utilizado durante o comando “apt-get source samba”.Realize a compilação e instação:# make && make install Agora devemos criar uma Shell de inicialização do Script par o ScannedOnly# cd /etc/init.d# nano scannedonly Cole o seguinte conteudo dentro do Arquivo:#!/bin/shscannedonly=”/usr/local/sbin/scannedonlyd_clamav”port=”2020″quarent_dir=”/quarentena”$scannedonly -p $port -d $quarent_dir Vamos alterar a permissão do arquivo para tornar ele um executável# chmod +x scannedonly Vamos agora criar um link simbólico para inicialização do daemon# update-rc.d scannedonly defaults Ufa, agora vamos partir para o Samba, realizando um backup do arquivo de configuração para consulta futura. # mv /etc/samba/smb.conf /etc/samba/smb.conf-default Agora crie um novo arquivo smb.conf.# nano /etc/samba/smb.conf [global]netbios name = fileserver serverstring = Servidor de arquivosworkgroup = Rafaelsocket options = TCP_NODELAY SO_RCVBUF=102400 SO_SNDBUF=102400interfaces = lo eth0bind interfaces only = yeslog level = 0passdb backend = tdbsammax log size = 1024load printers = noprinting = bsdprintcap name = /dev/nullgetwd cache = yes[homes]comment = Diretorio pessoal - %Upath = /arquivos/%Uread only = noguest ok = yesvfs object = recycle full_audit scannedonly# Auditoriafull_audit:success = open, opendir, write, unlink, rename, mkdir, rmdirfull_audit:prefix = %u|%I|%Sfull_audit:failure = nonefull_audit:facilit = local5full_audit:priority = notice# Antivirusscannedonly: domain_socket = Falsescannedonly: portnum = 2020scannedonly: scanhost = localhostscannedonly: hide_noscanned_files = True# Lixeira recycled:keeptree = yesrecycle:versions = yesrecycle:repository = /lixeira/%Urecycle:exclude = *.tmp, *.log, *.iso, *.wav, *.mp3, *.wmv, *.avirecycle:excludir = tmp, cache[lixeira] comment = Lixeira - %Upath = /lixeira/%Uvalid users = %Ucreate mask = 0700directory mask = 0700browseable = yesread only = novfs object = scannedonly# Antivirusscannedonly: domain_socket = Falsescannedonly: portnum = 2020scannedonly: scanhost = localhostscannedonly: hide_noscanned_files = True[quarentena] comment = Diretorio de quarentenapath = /quarentenavalid users = admincreate mask = 0700directory mask = 0700browseable = noread only = noEdite as configurações denetbios name = server string = workgroup = após salvar execute o comando testparm para verificar possíveis erros no seu arquivo # testparm Agora iniciei os serviços do samba#/etc/init.d/samba restart Crie os diretórios de Arquivos de usuário, lixeira e quarentena# mkdir /arquivos /lixeira /quarentenaAgora vamos criar as contas no servidor# chmod +x gerenciador E execute ele# ./gerenciador Lixeira Copie alguns arquivos para o compartilhamento do(s) usuário(s) que você criou, em seguida exclua-o(s) e verifique que o mesmo foi movido para o compartilhamento lixeira. Arquivos infectadosANTIVIRUSVocê pode realizar o teste com arquivos infectados utilizando os arquivos de teste que foram instalados com o pacote clamav-testfiles.Os arquivos se encontram no diretório /usr/share/clamav-testfiles, você pode simplesmente copia-los para o diretório utilizado como compartilhamento pessoal do usuário. Auditorias!Você pode visualizar logs de compartilhamento usando o comando# tail -f /var/log/messages |grep smbd_auditPara testes com virus basta copier o arquivo infectado dentro da pasta, este deve ser substituido por um arquivo TXT com o nome do arquivo anterior… o arquivo infectado sera movido para a quarentena.Para verificar o log de arquivos escaneados e infectados use# tail -f /var/log/syslog |grep scannedonly A lixeira funciona de forma simples, para testa la basta apagar um arquivo que esteja na pasta. Isso fará com que o servidor mova o arquivo para a pasta “lixeira” de cada usuário, alem disso o servidor guarda as versões de cada arquivo, com um [2] ou [3] se outro arquivo com mesmo nome for deletado anteriormente... Conclusões Através dos módulos VFS do Samba é possível expandir as capacidades de um servidor Samba, sendo que, recursos como Lixeira e Antivirus são muito bem vindos a Servidores de Arquivos pois evitam dores de cabeça maiores devido exclusões acidentais, bem como, infecção de arquivos importantes e claro, que nosso servidor se tranforme em repositório de virus.Em relação ao módulo Scannedonly, ele permite que o Servidor Samba tenha sua escalabilidade aumentada com relação a ambientes onde é realizado o acesso a muitos arquivos simultâneamente bem como, esses arquivos sejam grandes e/ou compactados, simplesmente graças ao bom desempenho que o Scannedonly proporciona nessas condições. Material consultado da publicação de Waldemar Dibiazi Junior no http://blognu.wordpress.com/2010/08/31/servidor-antivirus-lixeira-auditoria-debian/Materiais de apóio: Guia do hardware, Viva o Linux, debian.org |
quinta-feira, 2 de junho de 2011
Script para backup Debian
#!/bin/bash
# Armazena a dados do sistema
DATA=`date +%d/%m/%Y`
DATARQ=`date +%d%m%Y`
HORA=`date +%H:%M:%S`
DIA=`date +%u`
SEM=`date +%a`
# Indica o nome do arquivo depois de compactado e o local a fazer bkp
DEST="cd /local do backup/bkp"
BKP="tar zcfv"
NOME="$SEM$DATARQ.tar.gz"
#exemplo de 3 pastas diferentes para copiar, sempre de espaço entre uma e outra
LOCAL="/var/www /home/codnomelinux /home/samba"
# Loga
MENS="echo Backup CRIADO EM /bkp NO DIA $DATA AS $HORA"
LOCLOG="/home/user/bkp.log"
# Verifica o dia da semana, exclui o bkp da semana passada,
$DEST
#cria o bkp do dia e loga
$BKP $NOME $LOCAL
$MENS >> $LOCLOG
Script de backup Mysql
Achei, testei e aprovei
Tools of the trade:
growisofs
mkisofs
tar
cp
pg_dump
growisofs
Useful argument for growisofs are:
-Z : is used to specify the device to burn to
-dvd-compat : makes sure the written disk will have the maximum compatability with other dvd drives (useful in an emergency)
-speed : sets the speed of the disk / burn
Since growisofs is a pretty wrapper for mkisofs you can use essentially all the options of mkisofs as well.
mkisofs
We won't actually use mkisofs directly but we can use its options in growisofs. Useful options include:
-A : allows you to give the disk a title
-D : if you have very deep directories you might want to use this, it can break the iso9660 standard but apparently works on most systems
-J : use Joliet extansions. Primarly useful for making the disk readable on Windows boxes
-R : generate Rock Ridge extensions allowing long filenames
-r : a clever version of -R. If you are going to use Rock Ridge you probably want to use this version
-V : specifies the volume name
tar
Since I want to be able to make sure that I capture the directory structure and files names as well as the data it is not a good idea to just burn the individual files since even with Rock Ridge extensions in use you can't have more than 8 levels of directories and various other strange restrictions. Hence I am going to tar up the files I want to burn and then burn the tar. This also means that if I end up in the situation where I am having trouble fitting the back up on the DVD (really this might happen - one day) I can easily just gzip / bzip the tar.
-c : create an archive
-u : only update, which could make the backup much quicker
-f : create the archive as a file
-p : preserve permissions
cp
Allows us to copy portions of the file system from one place to another.
-p : preserve ownership and other file information
-r : copy directories recurvivly
-d : handle links in a nice way but don't follow them
pg_dump
We want to be able to back up the database as well as the basic files and this is best done using pg_dump which will write the database out as a simple sql file. You have got to make use that the user that is running the backup job has permission to dump the database.
-f : the file to dump to
-o : if you use foreign keys use this option
-U : connect as the given user
The Backup Script
Note: The line starting SOURCE is actually one long line that includes all the lines that follow upto the next blank line as indicated by the ↳ symbol (should be a downwards arrow with tip rightwards).
#!/bin/bash
DATE=$(date +%Y-%m-%d)
#NOTE: These two paths must end in a / in
#order to correctly build up the other paths
BACKUP_DIR="/backup/directory/"
TEMP_BACKUP_FILES_DIR="/backup/temp/"
BACKUP_FILE=$PATH"backup-"$DATE".tar"
DATABASE_FILE=$TEMP_BACKUP_FILES_DIR"foo-"$DATE".sql"
#These directories shouldn't end in a / although
#I don't think it will cause any problems if
#they do. There should be a space at the end though
#to ensure the database file gets concatenated correctly.
SOURCE="/a/location /other/locations " $DATABASE_FILE
echo Removing old backup directories
rm -rf $BACKUP_DIR
rm -rf $TEMP_BACKUP_FILES_DIR
echo Creating new backup directories
mkdir $BACKUP_DIR
mkdir $TEMP_BACKUP_FILES_DIR
echo Creating database backup
pg_dump -U username -f $DATABASE_FILE databaseName
echo Backing up $SOURCE to file $BACKUP_FILE
/bin/tar -cpf $BACKUP_FILE $SOURCE
#This is not necessary and possibly harmful for DVD+RW media
echo Quick blanking media
dvd+rw-format -blank /dev/hdc
echo Burning backup
growisofs -dvd-compat -Z /dev/hdc -r -J $BACKUP_FILE
Testing the Backup
From time to time it is a good idea to test your backup to make sure you can actually recover data from it. A good time is when you are sure it's working a bad time it when you have to get something you just deleted off it!
First mount the drive
mount -f udf /dev/hdc /mnt/dvd
then copy the tar file to where ever you have space to expand it
cp backup-file.tar /big/drive/
move to where you have copied the file and expand the tar with
cd /big/drive
tar -xf backup-file.tar
be careful you don't type a c where the x is in the tar command above or you will have to copy the file over again! Finally check that all your files are there and readable.
Descubra suas partições no Debian
ls /dev/hd* ou sd*
df -kh
/sbin/fdisk -l
esse foi o melhor
cat /proc/partitions
quarta-feira, 1 de junho de 2011
Instalação do Nagios3 no Debian
A versão do Nagios utilizada nesse artigo foi a 3.0.6 e do Nagios Plugins 1.4.13
Para iniciar a instalação do Nagios, baixe-o em http://www.nagios.org/download ou você pode utilizar o wget
# wget http://heanet.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.6.tar.gz
Para compilar os pacotes do Nagios e Nagios plugins é preciso instalar os compiladores básicos e os headers do kernel do linux.
O comando
# apt-get install build-essential linux-headers-`uname -r`
realiza a instalação dos pacotes corretos.
O build-essential é o conjunto de pacotes e bibliotecas de compilação, ele instala o GCC, G++ e os demais integrantes do kit básico.
Trecho retirado do artigo Debian Lenny, parte 2, de autoria de Carlos Morimoto.
Terminada a instalação é hora de compilar o Nagios.
Criando usuário Nagios
# adduser nagios
O usuário nagios será o usuário que o Nagios utilizará para a execução. Automaticamente o grupo nagios será criado para esse usuário. Isso pode ser conferido com o comando
# grep nagios /etc/passwd
Para executar comandos externos via interface web é preciso que o servidor web esteja instalado. Para instalar o Apache
# apt-get install apache2
Durante a instalação do apache, automaticamente é criado o usuário
www-data
. Esse usuário, por padrão é quem executa o apache. Para identificar com qual o usuário o apache está sendo executado#grep "^User" /etc/apache2/apache2.conf
Para que o usuário nagios possa executar comandos através da interface web do apache devemos adicioná-lo ao grupo do apache. Para isso execute
# usermod -G nagios nagios # usermod -G www-data,nagios www-data
Para conferir se o usuário foi mesmo adicionado ao grupo, execute o comando
#grep nagios /etc/group
Iremos instalar o nágios no diretório
/usr/local/
. Crie dentro desse diretório uma pasta chamada nagios e copie para dentro dela os arquivos do nagios e os plugins baixados.Extraia os arquivos do Nagios com o comando
# tar -xvzf nagios-3.0.6.tar.gz
Acesse a pasta
nagios-3.0.6/
# cd nagios-3.0.6
Execute o scritp
#./configure --prefix=/usr/local/nagios --with-cgiurl=/nagios/cgi-bin --with-htmurl=/nagios/ --with-nagios-user=nagios --with-nagios-group=nagios --with-command-group=nagios
onde:
-prefix=/usr/local/nagios | destino onde o nagios será instalado |
-with-cgiurl=/nagios/cgi-bin | Pasta CGI do Nagios |
-with-htmurl=/nagios/ | Arquivos HTML do Nagios, pasta da web interface |
-with-nagios-user=nagios | usuário do Nagios |
-with-nagios-group=nagios | grupo do Nagios |
-with-command-group=nagios | is the Nagios command group which has webserver user (Apache) and the nagios user as members. |
Se desejar ver mais opções do que podem ser utilizadas para a compilação, digite o comando
# ./configure --help
Em seguida compile o Nagios e os CGIs
# make all
Instale os binários
# make install
Instale os scripts de inicialização
# make install-init
Crie o diretório que será utilizado para a inserção de comandos externos
# make install commandmode
Instale o arquivo de configuração de EXEMPLO do Nagios. As configurações contidas nesse arquivo são apenas configurações básicas necessárias para executá-lo, provavelmente você precisará fazer alterações no arquivo /usr/local/nagios/etc/nagio.cfg de acordo com suas necessidades.
#make install-config
Nesse momento o nagios já está instalado em seu computador. Agora conheceremos a estrutura dos diretórios do Nagios
#cd /usr/local/nagios/
Você encontrará no diretório do Nagios outros seis sub-diretórios. Abaixo uma breve explicação de cada um deles
bin/ | Nagios binários do Nagios |
etc/ | Diretório principal do Nagios, ele contém os arquivos de configuração e arquivos de configuração do CGI. |
libexec/ | Os plugins do Nagios são armazenados nesse diretórios |
sbin/ | CGIs |
share/ | Arquivos HTML (para interface web e documentação online) |
var/ | Diretório vazio utilizado para os arquivos logs |
Instalando os plugins para o Nagios
Baixe-os em http://www.nagios.org/download ou utilize o wget
# wget http://mesh.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.13.tar.gz
Extraia os arquivos
# tar -xvzf nagios-plugins-1.4.13.tar.gz
Acesse o diretórios nagios-plugins-1.4.13/
# cd nagios-plugins-1.4.13/
Compile o arquivo
# ./configure
Em seguida instale os binários
#make & make install
Os plugins serão instalados no diretório
/usr/local/nagios/libexec
. Agora temos o Nagios e os plugins instalados. Vamos então prosseguir com a configuração do Apache para que seja possível acessar o Nagios e executar comandos externos via web interface.Existem duas formas de realizar a configuração. A primeira é criar um arquivo contendo o
ScriptAlias
configurações dentro do diretório /etc/apache2/sites-available/
ou inserir as configurações no arquivo httpd.conf
. Será abordado nesse artigo a segunda forma.Dentro do seu arquivo
httpd.conf
insira as seguintes configurações:ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin/ <Directory "/usr/local/nagios/sbin/"> AllowOverride AuthConfig Options ExecCGI Order allow,deny Allow from all </Directory> Alias /nagios /usr/local/nagios/share/ <Directory "/usr/local/nagios/share"> Options None AllowOverride AuthConfig Order allow,deny Allow from all AuthName "Nagios Access" AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd.users require valid-user </Directory>
Salve o arquivo e em seguida reinicie o apache
#/etc/init.d/apache2 restart
Para um maior segurança, o Nagios será configurado de forma que, cada usuário somente terá acesso a sua web interface caso esteja previamente cadastrado. Para isso, criaremos um arquivo de configuração contendo os usuários que terão permissão de acesso a interface do Nagios. O parâmetro "-c" do comando cria um arquivo htpasswd.users e insere o usuário guilherme .
#htpasswd -c /usr/local/nagios/etc/htpasswd.users guilherme
Será solicitado que seja criado uma senha para o usuário. Caso queira inserir novos usuários, retire o parâmetro
-c
do comando e ao final entre com o nome do novo usuário#htpasswd /usr/local/nagios/etc/htpasswd.users novousuario
Para finalizar edite o arquivo
/usr/local/nagios/etc/cgi.cfg
. Este arquivo contém as configurações do cgi utilizadas pelo Nagios. Configure os parâmetros abaixo para os usuários que você cadastrou no arquivo /usr/local/nagios/etc/htpasswd.users
para que possam acessar o sistema. No meu caso ficou da seguinte forma:authorized_for_system_information=guilherme authorized_for_configuration_information=guilherme authorized_for_system_commands= guilherme authorized_for_all_services=guilherme authorized_for_all_hosts=guilherme authorized_for_all_service_commands=guilherme authorized_for_all_host_commands=guilherme
Em seguida, reinicie o Nagios. Para acessá-lo digite no seu browser
http://<IPADDRESS OR HOSTNAME>/nagios/
Após a validação de usuário e senha você terá acesso ao Nagios
O mapa funciona, os grupos funcionam muito melhor. Claro que o diretorio passa de /usr/local/nagios, para /etc/nagios3. Não vou nem postar as configurações, pois está tudo muito mais simples. Não achei legal instalar nem a nova interface (muito cheio de frescuras e com alguns bugs nesta nova versão) e nem o nagiosQL , pois sem isso o sistema fica com a "anti-burro" (usuários retardados) ativo. Fiz todos os teste necessários. O sistema esta perfeito! Sem erros. Melhor do que nunca foi. E ao contrario do Zenoss, muito mais leve.
Assinar:
Postagens (Atom)