Está disponível para download a quinta atualização da serié CentOS 5, que foi lançado recentemente. CentOS é uma distribuição Linux para uso comercial, tem sua base na distro Red Hat. Sua atualizações são fornecidas ao público gratuitamente via Upstream OS Provider (UOP). Na prática o CentOS possui os mesmos papcotes do RedHat, apenas faz a remoção das marcas e artes gráficas originais. Dentre as novidades nesta distro, podemos citar:
freeradius2
gpxe (x86_64 only)
gsl
postgresql84
python-dmidecode
samba3x
tunctl
xz
Você pode fazer o download do CentOS por:
Toorent:
CD
Link 01
Link 02
DVD:
Link 01
Link 02
LiveCD:
Link 01
Link 02
Http:
Link 01
Caso você deseje fazer o update de sua distro, basta rodar:
Após a conclusão do comando, verifique se realmente o SO foi atualizado:
Links:
Announce
Wiki
Release Notes
Posted in CentOS | Tagged centos |
Bem pessoal, pra quebrar um pouco a monotonia ireri começar hoje a postar algumas imagens da série ruindows fail classic. E como primeira imagem, segue um flagrante enquanto esperava atendimento em uma agência da caixa.

Posted in Fail | Tagged Error, Fail, Ruindows |
Ao configurar um novo servidor, muitos administradores se preocupam com muitos detalhes nas configurações de segurança. Mas algumas vezes coisas simples acabam passando de forma despercebidas, como é o caso do servidor de DNS. Estima-se que no mundo todo, 60% dos servidores de DNS são mal configurados. Neste post irei demonstrar duas falhas na configuração do servidor de DNS Bind.
A primeira falha que iremos averiguar, está ligada ao AXFR. Que é usado na transferência da base de dados entre servidores de DNS master, secundário ou mestre. Caso haja a falha na segurança é possível visualizar toda a base de dado de DNS de um domínio com a seguinte sintaxe:
dig HOSTNAME -t axfr @NAMESERVER
Se isso está ocorrendo em seu servidor, você pode corrigir editando o arquivo de configuração /etc/named.conf:
Options {
recursion no;
allow-transfer { none; };
(...)
A seguir iremos ver uma falha bastante usada no estudo/viabilidade de invasões a servidores, onde é possível visualizar qual SO e versão do Bind. O comando em questão é este:
dig -t txt -c chaos VERSION.BIND @NAMESERVER
A resposta do comando pode ser algo como:
;; ANSWER SECTION:
VERSION.BIND. 0 CH TXT "9.6.1-P3-RedHat-9.6.1-15.P3.el5"
Para fechar esta brecha, edite novamene o arquivo de configuração do Bind e adicione:
Options {
version "no version";
(...)
Lembrando que você pode colocar o texto que quiser, vai depender de sua criatividade.
É sso aew pessoal, até a próxima!
Bem pessoal.. Alterar o papel de parede (background) do Gnome pela interface gráfica todos sabem, ou devem saber. Mas aqui vai uma dica que usei para fazer uma brincadeira com um colega. Acessei a máquina remotamente (via ssh) e alterei o papael de parede por linha de comando (bash), legal foi ver a cara de surpresa dele.. rsrs.. Mas vamos à dica:
Verifique qual o caminho do atual papel de parede:
gconftool-2 --get /desktop/gnome/background/picture_filename
Alterando o papel de parede:
gconftool-2 -t string -s /desktop/gnome/background/picture_filename CAMINHO-DA-IMAGEM
Pronto! =D
Posted in Comandos | Tagged Bash, Gnome, shell |
Toda migração de servidor é um pouca traumática, ainda mais pra quem usa RoR (Ruby On Rails), essa semana me deparei com um erro na aplicação de um cliente que funcionava normalmente no antigo servidor. O erro era o seguinte:
/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:443:in `load_missing_constant’: uninitialized constant ApplicationControlle
r (NameError)
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:80:in `const_missing’
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:92:in `const_missing’
from /home/etiqueta/SiteEtiquetas/app/controllers/ajax_controller.rb:1
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require’
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require’
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:158:in `require’
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:265:in `require_or_load’
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:224:in `depend_on’
from /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:136:in `require_dependency’
from /usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:414:in `load_application_classes’
from /usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:413:in `each’
from /usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:413:in `load_application_classes’
from /usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:411:in `each’
from /usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:411:in `load_application_classes’
from /usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:197:in `process’
from /usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:113:in `send’
from /usr/lib/ruby/gems/1.8/gems/rails-2.3.5/lib/initializer.rb:113:in `run’
from /home/etiqueta/SiteEtiquetas/config/environment.rb:15
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require’
from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require’
from /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/rails.rb:147:in `rails’
from /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:113:in `cloaker_’
from /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:149:in `call’
from /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:149:in `listener’
from /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:99:in `cloaker_’
from /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:50:in `call’
from /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/configurator.rb:50:in `initialize’
from /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:84:in `new’
from /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:84:in `run’
from /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/../lib/mongrel/command.rb:212:in `run’
from /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/bin/mongrel_rails:281
from /usr/bin/mongrel_rails:19:in `load’
from /usr/bin/mongrel_rails:19
Depois de gastar algumas horas em busca da solução consegui descobrir o problema.. Era a bendita versão do rails v2.3.5, sendo necessário realizar o downgrade para a v2.2.2. Para começar, descubra qual versão do rails está rodando no servidor:
Remova a versão atual:
gem uninstall -v=x.x.x rails
E instale a versão desejada:
gem install -v=2.2.2 rails
Isso deve resolver seu problema…
Posted in cPanel | Tagged cPanel, Rails, RoR |
Hoje descobri que meu co-worker exclui os e-mails da fila do exim direto do sistema de arquivos, sem passar pelo banco do exim. E isso causou algumas discrepâncias na hora de realizar qualquer tarefa no exim. Alguns erros como:
Line mismatch: 4d 1O7Zux-0006ga-4K
Failed to open input file for 1O7a4J-0007KN-3O-D: No such file or directory
Spool data file for 1O7a4J-0007KN-3O does not exist
Continuing, to ensure all files removed
Message 1O7a4J-0007KN-3O has been removed or did not exist
Para corrigir foi necessário conseguir uma forma de pegar o ID de cada mensagem e excluir manualmente. Para isso, basta executar:
exim -bp | awk '{print $2}' | egrep '......-......-..' | xargs -n1 exim -Mrm
Explicando:
exim -bp: Exibe todas as mensagens na fila de e-mail;
awk ‘{print $2}’: Seleciona a coluna com o ID das mensagens;
egrep ‘……-……-..’: Filtra as linhas de por mensagem;
xargs -n1: Joga o resultado do comando um por um como parâmetro para o próximo comando;
exim -Mrm: Enfim, remove a mensagem sem retornar erro ao remetente;
Com base nisso podemos construir outros scripts, de acordo com o cabeçalho. No exemplo abaixo, filtramos a fila de acordo com o remetente, e dizemos ao exim para força a entrega destas mensagens:
#!/bin/bash
# Loop para pegar o ID de todas as mensagens na fila
for i in "$(exim -bp | awk '{print $3}' | egrep '......-......-..')"
do
# Condição que verifica o remetende de uma mensagem
if [ "$(exim -Mvh $i | grep '^-auth_id' | grep '@mkt.baladain.com.br$')" ]
then
# Forca a entrega de um e-mail espcifico
exim -M $i;
fi
done
Agora só usar a imaginação! =P
Posted in Comandos | Tagged cPanel, Exim |
Sinceramente não gosto muito do up2date do redhat, pelo menos comigo a maioria das vezes dava problema. Então resolvi instalar o yum para sanar alguns problemas que estava tento para instalar alguns pacotes. Para ter menos dor de cabeça, optei não por compilar na maneta, mas instalar os pacotes rpm’s. Este pacotes podem ser encontrados facilmente no DAG. Instale as dependências:
- python-elementtree;
- python-sqlite;
- python-urlgrabber;
- sqlite;
- sqlite-devel;
- yum;
Baixe os pacotes de acordo com a arquitetura de sua máquin (32 bits / 64 bits). Para organizar melhor, crie um diretório para fazer o download de todos estes arquivos e instale os pacotes:
mkdir /opt/yum
rpm -ivh *.rpm
Agora edite o arquivo /etc/yum.conf de configuraçao e deixe da seguinte forma:
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redhat-release
tolerant=1
exactarch=1
[base]
name=CentOS-$releasever – Base
baseurl=http://mirror.centos.org/centos/4/os/i386/
gpgcheck=1
[updates]
name=Red Hat Linux $releasever – Updates
baseurl=http://mirror.centos.org/centos/4/updates/i386/
gpgcheck=1
Importe a chave de segurança:
wget http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-4
rpm --import RPM-GPG-KEY-CentOS-4
Pronto! Teste o funcionamento:
Posted in Linux | Tagged RedHat, Yum |
Olá pessoas,
Hoje vou mostrar um procedimento bem fácil mas que para quem não está familiarizado com comandos SQL pode confudir um pouco. Bem, para permitir um usuário conectar-se a um banco de dados remotamente, acesse o console do MySQL e execute os seguintes comandos:
USE mysql;
GRANT ALL privileges ON BANCO.* TO USUARIO@'%' IDENTIFIED BY 'SENHA' WITH GRANT OPTION;
FLUSH privileges;
O % garante que qualquer IP possa conectar-se ao banco, mas se preferir você também pode configurar um IP específico.
Posted in MySQL | Tagged MySQL, Sql |
Trabalhar em suporte de empresa de hospedagem é sempre uma novidade, hoje foi a vez de aprender como resolver um errinho chato do exim. Não sei como, mas aparentemente os arquivos de consulta do ratelimit do exim foram corrompidos. Retornando a seguinte mensagem nos logs de erro:
Warning: ACL “warn” statement skipped: condition test deferred: ratelimit database not available
Pesquisando um pouco na net, foi fácil descobrir a solução.
Páre o MTA exim:
Acesse o diretório:
Renomeie o diretório:
Agora é só subir o exim e tentar novamente. =D
Posted in cPanel | Tagged Erros, Exim |
Todo dia é dia de aprender coisa nova, e dessa vez me deparei com um erro gigantesco que nunca havia visto:
Unexpected condition from IMAP server, closed or corrupt connection to IMAP. Possible mailbox corruption.
Infelizmente, desta vez, o google não pode me ajudar em muita coisa. Mas de acordo com a lógica fui verificar a mailbox do cliente em:
/home/LOGIN/mail/DOMINIO/USER/
Aparentemente normal, e agora? Restaurar backup? Talvez, mas olhando mais de perto a disposição estrutural dos diretórios acabei encontrando um falha:
/home/LOGIN/mail/DOMINIO/USER/cur/cur/
Como podem perceber, o diretório “cur” estava duplicado. Foi só remover o diretório e fazer um rsync para o diretório principal e problema resolvido. Mais um usuário feliz!
Posted in Dicas, cPanel | Tagged Bash, centos, Erros |