This plugin provides PAM authentication to EnginFrame.

### Requisites ###
EnginFrame running on an operating system that supports PAM.


### SPECIAL TASKS ###
If your architecture is not included, that is if there is no
checkpassword-pam.`uname`.`uname -m` or checkpassword-pam.`uname`
under $EF_ROOT/plugins/pam/lib that matches your operating
system and cpu, then you can compile checkpassword-pam using
the source code under $EF_ROOT/plugins/pam/lib. The checkpassword
that you just compiled must have 4755 permission set by root.


### Configuration ###
1) You MUST set inside your SDF files the attribute "authority"
of tag <ef:agent> to value "pam".

Example:
--- test.xml ---
<ef:agent id="mysdf" authority="pam"
          xmlns:ef="http://www.enginframe.com/2000/EnginFrame">
   ...
</ef:agent>
--- end ---

This configuration will set PAM as the default authentication
mechanism only for those services defined in your SDF. If you want
to use the PAM authentication for all the services of EnginFrame,
then you must change the global parameter EF_DEFAULT_AUTHORITY
inside $EF_ROOT/conf/server.conf in this way:

EF_DEFAULT_AUTHORITY=pam

The example above becomes:
--- test.xml ---
<ef:agent id="mysdf" authority="${EF_DEFAULT_AUTHORITY}"
          xmlns:ef="http://www.enginframe.com/2000/EnginFrame">
   ...
</ef:agent>
--- end ---


2) Finally, you MUST define the PAM service you want to use
inside the configuration file of this plugin
  ${EF_CONF_ROOT}/plugins/pam/ef.auth.conf

in this way:

EFAUTH_PAM_SERVICE="system-auth"


Service "system-auth" is just an example. The list of available
PAM services can be retrieved inspecting the directory /etc/pam.d

