rpam2

DESCRIPTION:

This extension provides a PAM (Pluggable Authentication Modules)
integration to ruby. It is inspired by rpam but provides much functionality
and is licensed under MIT.

EXAMPLE:

require 'rpam2'

if Rpam2.auth("servicename", "user", "password")
  puts "Authentication successful"
else
  puts "Authentication failed"
end

puts Rpam2.listenv(nil, "user", "password") # uses default (rpam)
puts Rpam2.listenv("servicename", "user", "password")
puts Rpam2.listenv("servicename", "user", "password", true)
puts Rpam2.listenv("servicename", "user", "password", true, "RUSER", "RHOST")
puts Rpam2.listenv("servicename") # error

REQUIREMENTS:

  • pam-dev

  • ruby-dev

INSTALL:

  • gem install rpam2

Or manually:

  • gem build rpam2.gemspec

  • gem install ./rpam2-2.0.0.gem

Usage:

require ‘rpam2’

Rpam2.auth(“servicename”, “username”, “password”, [“RUSER”, “RHOST”]) => (true/false)

Rpam2.account(“servicename”, “username”) => (true/false)

Rpam2.getenv(“servicename”, “username”, “password”, “envvar”, [opensession(true/false), [“RUSER”, “RHOST”]]) => (string/nil)

Rpam2.listenv(“servicename”, “username”, “password”, [opensession(true/false), [“RUSER”, “RHOST”]]) => (hash/nil)