Pam + Ruby = rpam

agosto 10, 2008

Recentemente tive a necessidade de autenticar usuários no pam com o ruby. Não encontrei nada que pudesse atender minha necessidade, então resolvi fazer com minhas próprias mãos.

Solicitei o projeto no RubyForge, e escrevi uma extensão nativa para o Ruby, integrando com a API do pam.

Resultado disso,  um função simples que realiza a checagem de autenticação de usuários com o pam.

Página do projeto:

http://rubyforge.org/projects/rpam/

SVN:

svn checkout http://rpam.rubyforge.org/svn/

Para usar a classe, basta instalar a gem:

gem install rpam

ou baixar o source,  e compilar como uma extensão nativa do ruby:

tar -zxvf Rpam-1.0-0.tar.gz

cd Rpam-1.0-0/ext/Rpam

ruby extconf.rb

make

make install

É necessário copiar o arquivo login do pam para rpam:

cp /etc/pam.d/login /etc/pam.d/rpam

Veja um exemplo de chamada:

#!/usr/bin/ruby

require ‘rpam’

include Rpam

if authpam(“usuário”,”senha”) == true

puts “Autenticação OK”

else

puts “Não Autenticado”

end

A função authpam(), apenas retorna verdadeiro se a autenticação for bem sucedida, e falsa no caso contrario.

Tanto a gem com o source podem ser baixado na página do projeto :)

Sugestões, criticas, elogias ou ajuda no desenvolvimento são bem vindas.

Anúncios

4 Respostas to “Pam + Ruby = rpam”

  1. Bruno Azisaka Maciel Says:

    MANO!

    Meus parabéns! Um exemplo para todos os desenvolvedores: “não espere! FAÇA!”


  2. O rpam funciona com Rails também? Digo, eu tenho um sistema de login via web que usa os mesmos usuários e senhas do servidor, isso dá pra fazer?

  3. andrem Says:

    Arthur,

    O Rpam da pra usar cim Rails sim sem problema… no seu controller coloque algo como

    require ‘Rpam’

    e basta fazer as chamadas de função

    Lembrando que os usuário e senhas são de acordo com suas configurações do PAM, onde busca, etc…..


  4. […]  https://andrem.wordpress.com/2008/08/10/pam-ruby-rpam/ […]


Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: