NAME
Net::Radius::Server::PAM - Authenticate users using the Linux-PAM framework
SYNOPSIS
use Net::Radius::Server::PAM;
my $pam = new Net::Radius::Server({@args});
# As match-method factory
$pam->fmatch();
# As set-method factory
$pam->fset();
DESCRIPTION
Net::Radius::Server::PAM
uses the PAM framework to authenticate and populate a RADIUS response within the Net::Radius::Server framework. The interface with the PAM infraestructure is provided by Authen::PAM(3).
The following methods are supported:
->fmatch
-
Equivalent to invoking
->mk
on a Net::Radius::Server::Match(3) - derived class. This will return a sub providing match functionality to Net::Server::Radius(3). ->fset
-
Equivalent to invoking
->mk
on a Net::Radius::Server::Set(3) - derived class. This will return a sub providing set functionality to Net::Server::Radius(3).
The match method will attempt authentication via username and password against the PAM framework. Succesful authentication causes the match method to return NRS_MATCH_OK. Failure, as expected, causes the return of NRS_MATCH_FAIL.
The Authen::PAM
object is left in the shared invocation hash at the specified key.
The set method attempts to fetch the environment provided by the PAM framework, translating any environment variables matching an attribute in the current dictionary into RADIUS attribute/value pairs within the response.
The set method will only perform its task if the account can be authenticated by PAM. Otherwise, a NRS_SET_CONTINUE will be returned, causing the execution of the rules to continue.
The following properties or arguments can be specified to either the constructor or any factory:
- auto
-
Causes the RADIUS identifier and authenticator from the request to be copied into the response.
- code
-
Sets the code of the RADIUS response. Defaults to 'Access-Accept'.
- result
-
What value to return when a succesful authentication occurs.
- description
-
Description of this rule, used for logging purposes.
- store_result
-
Specifies which key in the shared invocation hashref will be used to store the
Authen::PAM
object. Defaults to _pamh. - service
-
Defines the PAM service that must be used to authenticate. This attribute defaults to login.
Note that this class inherits from Net::Radius::Server::Set::Simple(3), so all its attributes are available as well.
EXPORT
None by default.
HISTORY
$Log$
Revision 1.6 2006/12/14 16:33:17 lem
Rules and methods will only report failures in log level 3 and
above. Level 4 report success and failure, for deeper debugging
Revision 1.5 2006/11/15 05:54:04 lem
NRS::PAM now inherits from NRS::Set::Simple to increase functionality.
Revision 1.4 2006/11/15 05:39:15 lem
Corrected invocation of the factories
Revision 1.2 2006/11/15 05:23:57 lem
service now can be left unspecified. Defaults to 'login'
Revision 1.1 2006/11/15 05:14:54 lem
NRS::PAM has basic functionality.
SEE ALSO
Perl(1), Net::Radius::Server(3), Net::Radius::Server::Match(3), Net::Radius::Server::Set(3), Net::Radius::Server::Set::Simple(3), Authen::PAM(3).
AUTHOR
Luis E. Muñoz, <luismunoz@cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) 2006 by Luis E. Muñoz
This library is free software; you can redistribute it and/or modify it under the same terms as Perl 5.8.6 itself.
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 275:
Non-ASCII character seen before =encoding in 'Muñoz,'. Assuming UTF-8