Ruby/PAM Module
Copyright (C) 2000,2001,2002,2003 Takaaki Tateishi ([email protected])
Ruby/PAM is an extension library which provides the interface to PAM APIs and
is distributed at http://ruby-pam.sourceforge.net/.
System Requirements
I checked that this module can work on the following operating systems and
environments.
- linux-2.4.0 + ruby-1.6.4 + glibc2.1.2
- solaris8 + ruby-1.6.0
- solaris7 + ruby-1.6.0
Installation
- ruby extconf.rb
- make
- make install [optional]
Methods
service, user, item : String
conv : Proc or Symbol
msec, type, flag : Integer
- PAM.start(service, user, conv, conv_data = nil){ ... }
- PAM::Handle.new(service, user, conv, conv_data = nil){ ... }
- PAM::Handle.start(service, user, conv, conv_data = nil){ ... }
- PAM::Handle#end() -- called at the above block end.
- PAM::Handle#status()
- PAM::Handle#conv(msg)
- PAM::Handle#authenticate(flag)
- PAM::Handle#acct_mgmt(flag = 0)
- PAM::Handle#set_fail_delay(msec)
- PAM::Handle#setcred(flag = 0)
- PAM::Handle#chauthtok(flag = 0)
- PAM::Handle#open_session(flag = 0){ ... }
- PAM::Handle#close_session(flag = 0)
- PAM::Handle#set_item(type, item)
- PAM::Handle#get_item(type, item)
- PAM::Handle#strerror(errnum)
- PAM::Handle#putenv("veriable=value")
- PAM::Handle#getenv("veriable")
Structures
- Message (Struct) -- Message.new(msg_style, msg)
- Response (Struct) -- Response.new(resp, resp_retcode)
Exceptions
- PAMError (Class)
- PAM_SUCCESS
- PAM_OPEN_ERR
- ...
see 'pam_appl.h'
'PAM::' Constants
- PAM_VERSION
- PAM_MAJOR_VERSION
- PAM_MINOR_VERSION
- PAM_CONV
- PAM_CHANGE_EXPIRED_AUTHTOK
- PAM_DELETE_CRED
- PAM_ERROR_MSG
- PAM_ESTABLISH_CRED
- PAM_OLDAUTHTOK
- PAM_PROMPT_ECHO_OFF
- PAM_PROMPT_ECHO_ON
- PAM_REFRESH_CRED
- PAM_REINITIALIZE_CRED
- PAM_RHOST
- PAM_RUSER
- PAM_SERVICE
- PAM_SILENT
- PAM_TEXT_INFO
- PAM_TTY
- PAM_USER
- PAM_USER_PROMPT
- PAM_DISALLOW_NULL_AUTHTOK
Others