A sua senha é segura?

Você sempre quis saber se sua senha é segura?

 

 

 

 

 

O site HowSecureIsMyPassword.net permite verificar quanto tempo um  PC demora pra descobrir sua senha.

Uma senha como “12345″ é descoberta quase que instantaneamente  e de acordo com o site é uma das 500 senhas mais comuns.

Então que tal descobrir se sua senha é segura?

Linux: Modificando a senha do root do MySql

É muito comum que a senha do usuário root do MySql seja perdida.

Pra modificar a senha é bem simples, basta fazer, como usuário root:

# dpkg-reconfigure mysql-server-5.1

Pronto, irá aparece uma tela pedindo a nova senha de root, observe que usei mysql-server-5.1 pois a versão do meu SGBD é esse, para descobrir a versão faça antes:

# dpkg -l | grep mysql-server-

Tá ai a dica.

Boa sorte.

Linux: Backup esperto com rdiff-backup

Backup é um assunto muito apontado em qualquer meio em que os dados são muito importantes e não podem ser perdidos. Existem diversas maneiras de realizar esse processo e muitas formas de planejar o backup.

Um dos problemas encontrados na hora de planejar o backup e a grande quantidade de espaço utilizado pelos dados guardados, sejam em arquivos compactados ou de outra maneira. Para resolver isso pessoas desenvolvem scripts cada vez mais avançados e complicados.

Pensando em isso que foi criado o rdiff-backup [1], um aplicativo que realiza backup em rede sobre SSH com os mesmos incrementais.

Ou seja, além de realizar uma transferência de dados, ele realiza backup de modo a economizar recursos, já que será sempre guardado apenas o diff [2] da ultima versão feita backup.

Como funciona?

O funcionamento é bem simples, quando executado pela sua primeira vez, todo o conteúdo que será feito backup é copiado para onde será guardado o backup e será criada o diretório rdiff-backup-data. Das próximas vezes basta executar o mesmo comando realizado, pois como o conteúdo já foi copiado agora será guardada apenas o diff do versão antiga com a versão nova, e ficara guardada nesse diretório todos os diffs realizados.

E na hora de recuperar?

Na hora de recuperar, basta utilizar a própria aplicação com os parâmetros de recuperação apontando qual versão é desejado que ele já aplica o diff no pacote e retorna todo o conteúdo na versão pedida.

Como usar?

Primeiramente temos que instalar o aplicativo no sistema

# aptitude install rdiff-backup

Se for feito backup de uma maquina remota essa maquina também precisa ter o rdiff-backup instalado.

Feito isso agora basta utilizar-lo, a sintaxe do comando é

rdiff-backup [opções] [[user@server]::diretório_que_será_feito_backup] [[user@server]::diretório_onde_o_backup_será_posto]

Algumas opções são

  • –include [diretório ou arquivo]
    • Inclui um diretório ou arquivo no backup.
  • –exclude [diretório ou arquivo]
    • Não faz backup do diretório ou arquivo especificado.
  • -r [data da versão]
    • Faz a recuperação do backup da versão do tempo especificado, por exemplo se for da ultima versão pode-se usar now, ouse for de 3 dias atrás pode-se usar 3D.
  • … consultar o manual [2]

Exemplos:

Digamos que queremos fazer um backup local do diretório /var/www para o diretório /mnt/backup, basta fazermos:

$ rdiif-backup /var/www /mnt/backup

Para recupera basta utilizar o parametro -r, vamos recuperar do diretório /var/www/wwwrestored

$ rdiff-backup -r now /mnt/backup /var/www/wwwrestored

Caso a maquina onde será feito o backup ou a que receberá o backup for remota basta utilizar a sintaxe de ususario@servidor:: antes do arquivo, por exemplo:

$ rdiff-backup fulano@servidor.com::/var/www /mnt/backup

Automatizando o backup

Para automatizar o backup usando rdiff-backup, basta criar um script que vai ser bem simples, por exemplo:

#!/bin/bash
rdiff-backup /var/www /mnt/backup

e incluir esse script no crontab.

Dessa maneira, pode-se concluir que o RDIFF-BAKCUP, auxilia muito o desenvolvimento de rotinas de backup. Utilizando esse aplicativo o backup é mais simples e mais fácil de gerenciar os backup.

____

[1] http://pt.wikipedia.org/wiki/Diff

[2] http://www.nongnu.org/rdiff-backup/index.html

Instalando o Redmine no Locaweb

Tendo que instalar o Redmine [1] em uma hospedagem Locaweb, me deparei que falta documentação por parte da empresa vendo que existem muitas pessoas atrás do mesmo.

Bem eu consegui instalar com sucesso mas com um grande problema, depois de configurar o arquivo para comunicação com SMTP e depois de testar o envio de email pela aplicação, que dá certo, ele não funciona na hora de enviar notificações. Se alguém souber alguma solução, mas bem por enquanto vamos pela parte de instalação.

Obs.: Mostrarei como é feito a instalação do Redmine para as hospedagens Linux, e tudo será feito por linha de comando.

Pelo terminal, acesse o seu servidor com SSH passando os mesmos parâmetros do ftp:

$ ssh usuario@dominio.com

Depois, confirme o acesso e digite a senha, pronto você está conectado na sua hospedagem.

Entre no diretório rails_app:

$ cd rails_app

Caso não exista, crie-o primeiro:

$ mkdir rails_app

Dentro desse diretório, baixe via subversion[2] a aplicação digitando no terminal:

$ svn co svn://rubyforge.org/var/svn/redmine/branches/0.9-stable redmine

será criado um diretório redmine onde estará o conteúdo da aplicação.

Para que o redmine tenha visibilidade na internet é preciso criar um link simbólico da pasta ~/rails_app/redmine/public dentro do diretório ~/public_html/ , pra isso basta fazer:

$ ln -s ~/rails_app/redmine/public ~/public_html/redmine

Tendo feito isso, o único que falta para terminar e configurar a aplicação.

Começamos entrando na pasta do redmine,

$ cd ~/rails_app/redmine

então entramos no diretório config para editarmos o arquivo database.yml podendo assim configurar o banco, para isso usamos o exemplo já existente,

$ cp config/database.yml.exmaple config/database.yml

$ vi config/database.yml

Comente as linhas de modo a ficar dessa maneira:

# MySQL (default setup).  Versions 4.1 and 5.0 are recommended.
#
# Get the fast C bindings:
#   gem install mysql
#   (on OS X: gem install mysql -- --include=/usr/local/lib)
# And be sure to use new-style password hashing:
#   http://dev.mysql.com/doc/refman/5.0/en/old-client.html

production:
 adapter: TIPO_DO_BANCO #mysql ou postgresql
 database: NOME_DO_BANCO
 host: HOST_DO_BANCO
 username: NOME_DO_USUARIO_DO_BANCO
 password: SENHA_DO_BANCO
 encoding: utf8

As informções referentes ao banco podem ser encontrados no seu painel do Locaweb [3], depois de editar o arquivo basta salvar.

Bem, agora basta preparar o ambiente, primeiro atualize a versão da gem rails para a versão usada no redmine:

$ gem install -v=2.3.5 rails

congele então a versão da gem

$ rake rails:freeze:gems

pronto agora só configurar o banco de dados fazendo:

$ rake generate_session_store

$ RAILS_ENV=production rake db:migrate

$ RAILS_ENV=production rake redmine:load_default_data

pronto, agora o banco já está carregado e configurado, caso algum passo tenha dado errado verifique o arquivo database.yml.

O próximo passo é configurar o serviço de email, para isso precisamos editar o arquivo responsavel, email.yml:

$ vi config/email.yml

ele tem que ficar mais ou menos assim


# ...

production:
delivery_method: :smtp
smtp_settings:
address: ENDERECO_DO_SMTP
port: 25
domain: DOMINIO_DO_EMAIL
authentication: :login
user_name: "NOME_DO_USUARIO"
password: "SENHA_DO_EMAIL"

# ...

tendo terminado, tudo o que era pra ser configurado foi feito, agora só é preciso reiniciar o servidor rails, para que tudo que foi modificado tenha efeito, basta fazer

$ touch ~/rails_app/redmine/tmp/restart.txt

agora sim, tudo está terminado. Acesse sua aplicação e seja feliz, OU NÂO.

Dentro da aplicação parece estar tudo correto, quando acessamos a parte de administração e vamos em envio de email, tambem parece estar tudo certo, se enviarmos um email de teste ele será enviado com sucesso, MAS durante a aplicação quando o serviço de notificação por email esta ativado, quando é realizado alguma coisa que precisa ser notificada por email, o servidor acusa erro. Mas porque isso??

Bem, pesquisei muito e não consegui identificar o problema. O erro é basicamente o seguinte, um email de notificação de alguma atividade é enviado mas não é retornado para um programa a confirmação do envio de email, fazendo assim com que o aplicativo acuse falha no envio de email.

Como resolver isso? Não sei, ainda estou pesquisando.

Boa sorte a todos!

___

[1] http://www.redmine.org/

[2] http://pt.wikipedia.org/wiki/Subversion

[3] https://painel.locaweb.com.br

postgresql

Linux: Agilizando comandos Linux com aliases

Existem comandos no Linux que as vezes com a grande sequencia de parâmetros utilizados ficam simplesmente difíceis de lembrar, imagine então se você utiliza muito esse comando ter que ficar digitando ele sempre.

Para contornar esse pequeno problema existem no Linux os aliases, ou seja “apelidos” de comandos. Um alias é nada mais que um um outro nome que é utilizado para chamar uma coisa.

Por exemplo, digamos que temos o comando:

ssh fulano@123.456.789.012

esse comando se for muito utilizado vai ser digitado inumeras vezes, bem podemos simplificar-lo criando um alias para ele com o nome de sshfulano, ou seja sempre que você digitar sshfulano na verdade você vai estar querendo dizer ssh fulano@123.456.789.012.

Para criar um alias podemos fazer isso de várias maneiras, pode ser feito na sessão aberta usando o comando alias direto no terminal, por exemplo:

$ alias sshfulano=’ssh fulano@123.456.789.012′

nesse caso o alias será destruído no final da sessão.

Ou podemos também carregar uma sequencia de aliases pré definidos em um script de inicio de sessão, como o ~/.bashrc, que se for aberto terá alguns aliases de exemplo. Porém existe uma maneira de fazer isso de forma organizada, ou seja deixando todos os aliases em um arquivo só.

Bem, precisamos então primeiro com que esse arquivo seja lido sempre no inicio de toda sessão, para isso basta descomentar, caso estejam comentadas, ou acrescentar as seguintes linhas no arquivo ~/.bashrc:

$ vi ~/.bashrc

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi
...

Feito isso verifique se o arquivo ~/.bash_aliases existe, caso não exista crie-o.

Pronto, agora basta colocar dentro desse arquivo os aliases que desejar, por exemplo:

$ vi ~/.bash_aliases

alias ll='ls -l'
alias la='ls -A'
...

Sempre que adicionar aliases precisar carregar o arquivo para dar certo, para isso temos apenas que carregar o script que lê esse arquivo, no caso o ~/.bashrc:

$ source ~/.bashrc