Categorias

Wikiloc
216.119.128.212

Filtrando E-mails com Sieve no Cyrus-Imap

Para quem não conhece, o Sieve é uma linguagem para filtragem de emails, existe várias implementações dessa linguagem, eu vou apresentar aqui algumas dicas da implementação que é utilizada pelo Servidor Cyrus Imap.
No site http://sieve.info tem muitas informações sobre essa linguagem e suas várias implementações.
Meus exemplos serão baseados no servidor Cyrus-Imap disponível no Ubuntu 12.04 LTS.

Para criar um script para filtragem de emails no Sieve é recomendável estar logado com o usuário cyrus.
# sudo su – cyrus

Os scripts para filtragem de emails do sieve no Ubuntu por padrão são armazenados no diretório: /var/spool/sieve. Cada caixa postal criada no cyrus deverá ter um diretório correspondente no sieve.

No meu exemplo irei utilizar uma conta de e-mail com o meu nome, portanto vai existir um diretório:
/var/spool/cyrus/mail/a/adonai – que irá armazenar os meus e-mails
/var/spool/sieve/a/adonai – que vai armazenar o script e as regras compiladas para execução no servidor.

No meu exemplo arquivo que vai armazenar as regras vai ser o nome do usuário .script no meu caso vai ser “adonai.script”.

Vou criar uma regra bem simples de exemplo, está regra redireciona todos os emails enviados para [email protected] para os usuários: [email protected] e [email protected] e guarda uma cópia do e-mail na caixa de entrada.

Caso o usuário não queira manter uma copia da mensagem na caixa de entrada é só remover o comando:
fileinto “INBOX”

Após ser criado o arquivo com as regras que serão utilizadas para filtrar as mensagens, é necessário se conectar no servidor Sieve.
No Ubunto o servidor Sieve utiliza a porta 4190 mas existe algumas distribuições que usam a porta 2000.

-u: informa o usuário que vai ter o script alterado
-a: informa o usuário que é administrador no cyrus

Após fazer o login no servidor é preciso enviar script com os novos filtros, o comando que faz isso é o seguinte:

Esse comando compila o arquivo adonai.script no servidor.
Feito isso é preciso ativar o script no servidor para filtrar as mensagem, para ativar o script, utiliza-se o comando:

Fazendo Backup de uma Base OpenLdap




Recentemente eu tive problemas com o servidor OpenLdap que corrompeu a base de dados, felizmente eu tinha uma rotina que realizava o backup do banco de dados diariamente e consegui resolver o problema restaurando o backup utilizando o passo-a-passo que vou mostrar a seguir.

Fazendo Backup

O backup da base de dados é feito com o comando a seguir:
# slapcat -l arquivo.ldif

Restaurando um Backup

Para restaurar um backup da base de dados que está corrompida é necessário para o servidor ldap.
# service slapd stop

Após parar o serviço precisa apagar toda a base de dados existente, no Debian esse diretório que armazena a base de dados do LDAP é o /var/lib/ldap/*
Após apagar todo o conteúdo desse diretório, apenas preserve o arquivo DB_CONFIG, é necessário reiniciar o servidor ldap com o seguinte comando
# service slapd start

Após os arquivos terem sido criados, é necessário parar o servidor ldap novamente, pois o comando slapadd que insere na base de dados só funciona com o serviço parado.
# service slapd stop

para inserir od dados na base ldap o comando é o seguinte:
# slapadd -l /caminho/para/backup/baseldap.ldif

Após restaurar o backup é necessário indexar a base de dados com o seguinte comando:
# slapindex -v

Após reindexar a base de dados é necessário alterar as permissões dos arquivos que foram criados no diretório /var/lib/ldap/
# chown openldap.openldap /var/lib/ldap/*

após corrigir a permissões dos arquivos pode reiniciar o serviço ldap que o servidor já vai estar com a nova base de dados
# service slapd start

Para verificar se o serviço comecou corretamente é possivel verificar com o comando:
#service slapd status

Desligando o Windows Remotamente

Essa é uma dica para quem trabalha com computador remoto. Ela é útil para quem tem dois computadores em casa e quer desligar um deles quando está usando o outro.

Para poder desligar um sistema remoto é necessário configurar o computador para aceitar esse tipo de comando, para fazer isso é necessário fazer o seguinte no computador que vai ser desligado remotamente:

Abra a opção: Painel de Controle > Ferramentas Administrativas > Diretivas de Segurança Local > Diretivas Locais > Atribuição de Direitos de Usuários.

Na diretiva:
“Forçar o Desligamento a partir de um Sistema Remoto”.

A figura a seguir mostra essas opções:
Diretivas de Segurança

É necessário garantir que o usuário que vai mandar desligar o computador esteja num grupo que tem permissão para isso. É possível colocar a opção “Todos”, dessa forma qualquer um pode desligar o computador remoto, mas isso pode ser um problema de segurança caso o computador esteja fora de uma rede doméstica.
A forma mais segura é manter apenas os Administradores com permissão para desligar e criar um usuário administrador em todos os computadores com o mesmo nome de usuário e senha, dessa forma o comando vai funcionar normalmente.

Para desligar o computador remoto é utilizado o seguinte comando:

C:\> shutdown -s -m \\Nome_do_Computador_ou_IP -t 05

shutdown é o comando.
-s é para desligar o PC
-m \\Nome_do_Computador_ou_IP: é o computador que vai ser desligado remotamente.
-t 15 é o Tempo Limite para Desligar o PC Remoto. Nesse caso, o Computador Remoto vai ter 15 segundos de Alerta antes de ser desligado.
Se você deixar sem -t 15, o tempo vai ser o Padrão, que é de 20 Segundos!
Também tem a opção -f, que força o desligamento do sistema, mesmo quando algum aplicativo não está sendo fechando normalmente, essa opção pode danificar o aplicativo, por isso só deve ser usada em último caso.

Script para backup do MySQL e do site WordPress

Fiz esse script para executar no crontab, ele faz o backup do banco de dados MySQL do meu site WordPress diariamente, e o backup dos arquivos duas vezes por semana, nas segundas e quintas-ferias. O arquivo de backup contém no nome o dia da semana que ele foi criado, por isso os backups são mantidos apenas por uma semana, e com isso o administrador não precisa se preocupar com o gerenciamento dos backups, pois não vai acontecer de ficar muitos backups armazenados desnecessariamente.

Para fazer o download do script use o link abaixo.
Download – Backup Mysql (112)

Essa é a linha que faz a execução no crontab, eu coloquei para executar diariamente as 4:20