Recuperando senhas (e usuários) no Mac OS X

(Pra variar, mais uma história..)

Estava no final do expediente hoje, na Diginet, quando minha amiga Stella aparece no messenger:

17:09:34 stella: homi
17:09:37 stella: eu esqueci a senha do meu macbook

(sim.. isso mesmo.. ela cometeu esse crime..)

Depois de ter tentado acalmar ela por alguns minutos, fui pesquisar uma forma de como recuperar a bendita senha..

O site da Apple, tem um procedimento para resetar a senha de um usuário, que não requer que você tenha a senha anterior e envolve o DVD de instalação do sistema. Pensei: “Ótimo.. vai ser facílimo resolver isso..”.

Passei então para elas as instruções, e aparentemente, tudo estava OK. A surpresa veio quando ela me disse quando reiniciou o Mac. Seu usuário tinha desaparecido. Me pareceu estranho, mas como o problema ficou realmente sério, eu me propus a ir até sua casa resolver.

Depois de iniciar no modo single (segurar ‘s’ durante o boot), comecei a verificar o problema e vi que realmente não havia mais referências para o usuário dela no sistema. Sua pasta home (que por sorte também não sumiu..) estava com permissão para o usuário 501, e não para o nome do usuário ( que vou chamar stella, porque, enfim.. não importa.. :) ). Tentei iniciar os serviços do sistema, por achar que a base de dados dos usuários não tinha sido carregada, mas o problema persistia. Tentei mudar a senha do usuário com o bom e velho conhecido do linux passwd, mas era informado um erro que dizia não ter dados para poder trocar a senha. Foi então que caiu realmente a ficha que o usuário foi apagado (PS: Tenham cuidado com o DVD de instalação..).

Pois bem.. em mais um ato nerd e ninja ao mesmo tempo, misturei algumas várias informações que coletei na internet, em sites diferentes, para recriar o usuário e poder setar uma senha (a dica serve para o Mac OS X Tiger – 10.4 e para o Leopard – 10.5. Também serve para o caso de precisar apenas trocar a senha em modo single), sem perder os arquivos pessoais que estavam no home dela.

  1. Depois de iniciado o modo single, remontar a partição principal com permissão de escrita:
    • mount -uw /
  2. Com a partição remontada, iniciar os serviços do sistema (caso queira apenas trocar a senha, pule para o passo 4, após esse):
    • Tiger: sh /etc/rc
    • Leopard: launchctl load /System/Library/LaunchDaemons/com.apple.DirectoryServices.plist
      launchctl load /System/Library/LaunchDaemons/com.apple.DirectoryServicesLocal.plist
  3. Logo após ter iniciado esses serviços, foi preciso recriar o usuário com os mesmos dados do usuário anterior. Dica: Veja quais os IDs dos usuário e grupo que estavam sendo informados no home). Segue os passos para criar um usuário administrador “na mão”.
    • Criar uma entrada no domínio local de autenticação na categoria “usuários”. Repare que isso não vai criar o seu home (Mude temporariamente o nome do home anterior. No caso dela, eu mudei para stella_bkp)
      • dscl / -create /Users/stella
    • Setar o shell padrão para o bash
      • dscl / -create /Users/stella UserShell /bin/bash
    • Setar o nome real do usuário
      • dscl / -create /Users/stella RealName “Stella”
    • Setar o ID do usuário (lembrando que esse era o ID original do usuário)
      • dscl / -create /Users/stella UniqueID 501
    • Setar o ID do grupo do usuário (também era o ID original)
      • dscl / -create /Users/stella PrimaryGroupID 1000
    • Criar e setar o diretório home do usuário (neste caso é importante ter renomeado o diretório)
      • dscl / -create /Users/stella NFSHomeDirectory /Users/stella
  4. Finalmente setar a senha:
    • passwd stella
  5. Mudar o usuário para o grupo administrador (que era o caso dela)
    • dscl / -append /Groups/admin GroupMembership stella
  6. Após ter feito isso, verifique se o diretório especificado foi criado. Se não foi, ótimo.. (a ideia do comando que sugeria isso, era apenas setar o diretório… não realmente criar). Se foi criado, remova ou renomeie (por segurança..), e torne a renomear o backup original do home para o nome do usuário:
    • mv /Users/stella_bkp /Users/stella

Depois desses passos, provavelmente vai estar tudo de volta no lugar, bastando apenas reiniciar o Mac:

  • reboot

    Quando iniciar o sistema, em modo normal, o usuário novo (re)criado, deve aparecer na listagem, e a senha setada vai funcionar :)

    Espero que possa ajudar mais pessoas que eventualmente tenham tido o problema.

    Códigos de processadores para IRQs no Linux

    (Pois é.. post muuuito nerd :) )

    Você alguma vez na vida, quis redistribuir as IRQs do seu sistema, na mão? Sim.. na mão.. sem utilizar o irqbalance… (a história para essa vontade é longa, chata, nerd e tediosa… por isso não vai ser contada :) )
    Bem, se você já quis fazer e não sabia dos valores a serem utilizados para cada processador, vai ai uma listinha (eu procurei muito na internet até encontrar isso..):

    000000001 – Processador 1
    000000002 – Processador 2
    000000004 – Processador 3
    000000008 – Processador 4
    000000010 – Processador 5
    000000020 – Processador 6
    000000040 – Processador 7
    000000080 – Processador 8
    … etc

    Para trocar o processador de uma IRQ, faça:

    echo “[valor]” > /proc/irq/[numero_da_irq]/smp_affinity

    Ex:

    echo “000000010″ > /proc/irq/213/smp_affinity

    (isso vai trocar a IRQ 213 para o processador 5)

    E só! Para conferir, você pode usar o mpstat:

    mpstat -P ALL 1

    (vai mostrar a cada 1 segundo as informações de cada processador em separado)

    Baixar mp3 do imeem.com

    Aviso: O intuito deste post não é ir contra leis, ou incentivar o download ilegal de músicas. É apenas uma forma de mostrar uma das coisas que pode ser feita com simples comandos Unix.

    Assim como o Goear.com, o IMEEM é um site onde você pode disponibilizar via streaming, seus arquivos de música (e vídeo..). Pois bem.. estava ouvindo algumas músicas e fiquei com vontade de baixar algumas (eu compraria com todo gosto na iTunes Store, se eles vendessem para cartões de crédito brasileiros… como ainda não é possível, me resta baixar assim..).

    Depois de uns 15 minutos de investigação, acabei fazendo um script em Bash Script, que faz todo o trabalho sujo :)

    Clique aqui para ver o script

    O script está bem simples.. não verifica praticamente nada. Mas baixa..

    OBS: Quem quiser usar, faça por sua própria conta e risco.
    OBS2: Não.. não vou comprar música nesses sites ridículos que existem no Brasil. Ainda acredito na promessa da iTunes Store internacional :D

    Proteja-se!

    (Tá.. é muito nerd essa propaganda, mas quem fez é um gênio :D )

    Proteja-se!

    II EPSL!

    Saiu a lista de palestras/minicursos do EPSL (Encontro Potiguar de Software Livre). Este ano, vou apresentar uma palestra sobre Trac e Subversion :)

    Espero poder disseminar aqui no estado a ideia de que versionar é legal, bom, bonito e importante.

    (O assunto merece outro post.. um pouco mais perto do evento, devo escrever um artigo sobre, até para servir como material de referência)

    Dados temporários sobre a palestra:

    Título: Trac e Subversion: desenvolvimento organizado.
    Palestrantes: Acácio Alves (eu :) ) e Luís Antônio
    Dia: 07/10/2006
    Horário: 10:05 às 10:55
    Local: Auditório do Cefet-RN

    Espero ver todos por lá :)

    http://rn.softwarelivre.org/epsl/

    Linux renderizando fontes como o Mac (!!!)

    Qualquer ser humano que tenha um pouco de noção percebe, ao usar um Mac, que as fontes nele são renderizadas muito (muito mesmo) melhor que em qualquer outro sistema. Sempre quis deixar minhas fontes no Linux (e até no Windows, quando usava ele..) “iguais” às do Mac. Até baixei um pacote com algumas fontes usadas nele, mas o fato é que o algoritmo de antialias dele é excepcionalmente superior.

    Hoje, vagando pela rede, descobri que a biblioteca que renderiza as fontes no Linux (a freetype), já tem no seu código um algoritmo que imita (não exagerando) perfeitamente o algoritmo do Mac para subpixel hinting (que é o tchan do antialias…).

    Pois bem.. devido a este algoritmo ser patenteado pela Apple e por ter sido obtido através de engenharia reversa, ele não é ativado por padrão na maioria das distribuições.

    Procurei e descobri uma forma de fazê-lo no Ubuntu Dapper, sem muita dor :)
    Os passos que fiz, estão no meu Wiki

    DICA: Se você trocar suas fontes padrão do KDE/Gnome por Lucida Grande (a fonte padrão do Mac), a sensação é bem melhor :)

    Segue um screenshot que fiz, da página no Wiki usando meu Ubuntu+Firefox:

    Fontes como no Mac

    Flash Player 9 no Linux

    Bem, enquanto o Flash 9 para linux (nativo) não sai… (você pode acompanhar o desenvolvimento neste site), muitas pessoas perguntam (e me perguntam), sempre que precisam abrir um site com Flash 9:

    “E agora? ”

    Testei no meu desktop, um workaround para isso..

    Antes que alguém responda me xingando, ou algo assim:

    Pode soar meio errado fazer isso.. eu concordo que seria bom esperar sair para Linux, mas as vezes é necessário abrir um desses sites. E defendendo a solução, ela não inclui instalar um Windows (pirata provavelmente) para rodar o site.

    Acesse no meu Wiki, a página com o tutorial:

    http://blog.acacioas.com/wiki/index.php/FirefoxWineFlash9

    A solução para TODOS os seus problemas!

    (O título é um pouco exagerado, mas realmente foi emocionante :~~)

    (O post é altamente nerd..)

    Clx (Vulgo Iuri) descobriu (o que provavelmente alguém vai dizer que já sabia) que aquele pacote de nome bonito, alsa-oss serve para jogar todas as tentativas de acesso ao oss, para o alsa! :D
    O que isso significa? Que programas como o Firefox, que usam oss, não precisam mais ser os donos intocáveis do seu dispositivo de som (Em outras palavras, você pode rodar som em qualquer programa, mesmo aqueles que travavam o /dev/dsp).

    Para rodar um programa usando o alsa, ao invés do oss, basta usar:

    aoss nomedoprograma

    No firefox, basta setar em /etc/firefox/firefoxrc a variável FIREFOX_DSP para o aoss:

    FIREFOX_DSP=”aoss”

    E rodar ele normalmente..

    De volta aos blogs…

    ( Depois de quase 2 anos e meio, estou voltando aos blogs.. dessa vez, mais power :) )
    Vou dar uma chance ao WordPress… de cara pude perceber que a interface administrativa é muito bem feita, usando Ajax e com as opções bem dispostas. Também vou usar um tema já pronto.. (por 2 motivos.. 1 é que eu não sou muito bom de design, e o outro é que a preguiça bateu.. então vai ser o minima plus mesmo (Gostei muito do tema, por sinal..).