Posts Tagged ‘ osx

Filevault com HFS+ Case Sensitive

Então, amigos. Acabo de instalar meu SSD novo e aproveitei para instalar o Snow Leopard num sistema Case Sensitive, como um bom sistema Unix.

Para minha surpresa, o OSX não deixa ativar FileVault em sistemas Case Sensitive. Eis que encontrei uma solução:

  1. Crie um novo usuário administrador
  2. Logue como este usuário
  3. Mova sua antiga pasta de usuário para evitar que ela seja deletada:
  4. $ cd /Users

    $ sudo mv meuusuario meuusuario.bak

  5. Delete sua conta antiga e crie uma nova com o mesmo nome. Não esqueça de marcar que quer usar FileVault
  6. Deslogue da conta de administrador e logue na sua nova conta
  7. Copie toda sua pasta antiga para a nova

    $sudo /usr/bin/rsync -av /Users/meuusuario.bak/ /Users/meuusuario
    $sudo chown -R meuusuario ~/

  8. Deslogue e logue de novo em seu usuário para as configurações voltarem a funcionar
  9. Se deu tudo certo, pode remover o usuário administrador que foi criado antes e a pasta sem criptografia do seu usuário:

    $ sudo rm -rf /Users/meuusuario.bak

Qualquer dúvida deixe um comentário.

Metasploit + PostgreSQL 9.0 no Snow Leopard

Depois de muito pesquisar, consegui achar a solução mais elegante para instalar o Metasploit com PostgreSQL no Snow Leopard sem muitas gambiarras, então fica o guia pros amigos que quiserem fazer o mesmo.

Vamos por partes. Você vai precisar do git já instalado, para começar. Acredito que ele venha por padrão com o Snow Leopard, mas se não tiver, baixe em http://git-scm.com/download e instale.
Também é necessário ter a versão mais recente da tollchain da Apple (XCode et al). Baixe em http://devworld.apple.com/technologies/tools/.

Também é importante desisntalar o fink e o macports, caso tenha eles instalados, bem como tudo instalado por eles. Não se preocupe, depois você pode instalar tudo denovo com o Homebrew.

Agora vamos começar com o rvm.

rvm, Ruby Version Manager, é exatamente isso. Ele te permite instalar mais de uma versão do ruby no seu computador, sem gambiarras, limitado a uma espécie de sandbox fácil de ser removida, além de facilitar a troca de versões.

bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )

Siga as instruções do instalador, depende da shell que você usa (eu uso zsh).

Agora instale os pacotes para o ruby com o rvm:

rvm package install readline
rvm package install iconv
rvm package install zlib
rvm package install openssl

Agora instale o ruby-1.9.2-p0, que é atualmente a melhor versão para rodar o Metasploit.

rvm install 1.9.2 -C --with-readline-dir=$HOME/.rvm/usr --with-iconv-dir=$HOME/.rvm/usr --with-zlib-dir=$HOME/.rvm/usr --with-openssl-dir=$HOME/.rvm/usr

Espere terminar, deve demorar um bocado, dependendo do teu sistema.
Agora vamos usar o 1.9.2 como default.

rvm 1.9.2 --default

Caso você deseje voltar para o ruby que veio com o sistema,

rvm system

o –default é opcional e torna ele o ruby padrão para novas shells.
Vamos ficar com o 1.9.2 agora.

Vale lembrar que com o rvm você não usa sudo em momento algum.

Agora vamos instalar o homebrew.
O Homebrew é um gerenciador de pacotes para o OSX que se integra lindamente ao sistema e usa a toolchain da Apple para compilar os programas, ao invés de instalar tudo do zero e fazer uma bagunça, como o macports ou o fink.

ruby -e "$(curl -fsS http://gist.github.com/raw/323731/install_homebrew.rb)"

Pronto, Homebrew instalado. Fácil, não?

Agora instalemos o PostgreSQL 9.0.

brew install postgresql

Podia ser mais fácil? Acho que não. Ele deve instalar o readline como dependência, mesmo você tendo instalado com o rvm. Não tem problema, é assim mesmo. Deste jeito temos certeza de que não há conflitos entre os headers por causa de patches de um gerenciador ou o outro.
Vá lá buscar um café porque isso demora um bocado também, ele vai compilar todo o Postgres.

Terminado isso, o homebrew já cria um superuser no PostgreSQL para ti, com o teu nome de usuário atual e senha.

Agora, criar um usuário pro Metasploit.

createuser msf_user -P

Dê uma senha para o usuário e responda não para as três perguntas.

Crie um banco de dados:

createdb --owner=msf_user msf_database

Pronto, agora vamos instalar o Metasploit.

Primeiro, a gem do Postgre.

gem install pg

Sem sudo!

Vá até www.metasploit.com/framework/download/ e baixe o tarball mais recente (o arquivo .tar.bz2)

Descompacte o arquivo e mova ele para /opt:

tar xvjf framework-3.4.1.tar.bz2
sudo mv msf3 /opt/metasploit

sudo chown -R $USER:$USER /opt/metasploit
sudo ln -sf /opt/metasploit/msf* /usr/local/bin/

Criemos um script para atualizar o metasploit pelo svn.
Com o seu editor favorito (vim, por favor) crie /usr/local/bin/msfupdate

#!/bin/sh
/usr/bin/svn update /opt/metasploit

Dê permissão de execução para o arquivo

sudo chmod 777 /usr/local/bin/msfupdate

Rode msfupdate para atualizar o framework e rode msfconsole para iniciar o metasploit.

msf> db_driver postgresql
msf> db_connect msf_user:[senha]@127.0.0.1:5432/msf_database
msf> db_hosts

Agora edite seu ~/.msf3/msfconsole.rc para iniciar a db automaticamente cada vez que você iniciar o metasploit.

db_driver postgresql
db_connect msf_user:[senha]@127.0.0.1:5432/msf_database
db_workspace -a MyProject

Rode o msfconsole mais uma vez para ter certeza de que tudo funcionou e seja feliz.

Consertando o Rails 3 no Snow Leopard

Dica rápida para quem está usando o Rails 3 no Snow Leopard, com o rvm.

Possivelmente, ao rodar rails s você irá se deparar com um erro parecido com esse:

➜  demo_app git:(master) ✗ rails s
/Users/ppvanzella/.rvm/gems/ruby-1.9.2-p0/gems/sqlite3-ruby-1.3.1/lib/sqlite3/sqlite3_native.bundle: [BUG] Segmentation fault
ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]
[1]    99112 abort      rails s

Isto acontece porque o rails está com o caminho para o system ruby hardcoded, e tenta executar então com o ruby 1.8.7-p174 que veio com o Snow Leopard, e não com o 1.9.2-p0 que você deve ter instalado pelo rvm.
Para arrumar, edite:

sudo mvim /usr/bin/rails

(vim porque sou marrento)
E troque a primeira linha, que começa com

#!/System/…

Por

#!/usr/bin/env ruby

Salve e seja feliz.

:wq

 
SEO Powered by Platinum SEO from Techblissonline