Classes
pam
: This module manages PAM.pam::accesslogin
: Manage login access See PAM_ACCESS(8)pam::limits
: Manage PAM limits.conf
Defined types
pam::limits::fragment
: Places a fragment in $limits_d_dir directory One of the parameterssource
orlist
must be set.pam::service
: Manage PAM file for specific service. Thepam::service
resource is
This module manages PAM.
include ::pam
The following parameters are available in the pam
class.
Data type: Variant[Array, Hash, String]
String, Array or Hash of strings and/or arrays to configure users and origins in access.conf. The default allows the root user/group from origin 'ALL'.
Default value: 'root'
Data type: Enum['absent', 'optional', 'required', 'requisite', 'sufficient']
Control module to be used for pam_access.so for login. Valid values are 'required', 'requisite', 'sufficient', 'optional' and 'absent'.
Default value: 'required'
Data type: Enum['absent', 'optional', 'required', 'requisite', 'sufficient']
Control module to be used for pam_access.so for sshd. Valid values are 'required', 'requisite', 'sufficient', 'optional' and 'absent'.
Default value: 'required'
Data type: Optional[Hash]
Hash of fragments to pass to pam::limits::fragments
Default value: undef
Data type: Boolean
Boolean to control merges of all found instances of pam::limits_fragments in Hiera. This is useful for specifying fragments at different levels of the hierarchy and having them all included in the catalog.
Default value: false
Data type: Optional[Variant[Array, String]]
String or Array of packages providing the pam functionality. If undef, parameter is set based on the OS version.
Default value: undef
Data type: Stdlib::Absolutepath
Absolute path to pam.conf.
Default value: '/etc/pam.conf'
Data type: Optional[Hash]
Hash of pam::service entries to be created.
Default value: undef
Data type: Array
Allow array of extra lines at the bottom of pam.d/login for oracle systems on EL5.
Default value: []
Data type: Stdlib::Absolutepath
Absolute path to PAM login file.
Default value: '/etc/pam.d/login'
Data type: String
Owner of $pam_d_login_path.
Default value: 'root'
Data type: String
Group of $pam_d_login_path.
Default value: 'root'
Data type: Stdlib::Filemode
Mode of $pam_d_login_path.
Default value: '0644'
Data type: Optional[String]
Content template of $pam_d_login_path. If undef, parameter is set based on the OS version.
Default value: undef
Data type: Stdlib::Absolutepath
PAM sshd path.
Default value: '/etc/pam.d/sshd'
Data type: String
Owner of $pam_d_sshd_path.
Default value: 'root'
Data type: String
Group of $pam_d_sshd_path.
Default value: 'root'
Data type: Stdlib::Filemode
Mode of $pam_d_sshd_path.
Default value: '0644'
Data type: Optional[String]
Content template of $pam_d_sshd_path. If undef, parameter is set based on the OS version. For cases where a full customization of the sshd PAM configuration is required, set pam_d_sshd_template to use pam/sshd.custom.erb that is provided with this module. pam/sshd.custom.erb must be further configured with the parameters pam_sshd_auth_lines, pam_sshd_account_lines, pam_sshd_password_lines and pam_sshd_session_lines. Note that the pam_d_sshd_template parameter is a no-op on Solaris.
Default value: undef
Data type: Optional[Array]
An ordered array of strings that define the content for PAM sshd auth. This setting is required and only valid if pam_d_sshd_template is configured to use the pam/sshd.custom.erb template.
Default value: undef
Data type: Optional[Array]
An ordered array of strings that define the content for PAM sshd account. This setting is required and only valid if pam_d_sshd_template is configured to use the pam/sshd.custom.erb template.
Default value: undef
Data type: Optional[Array]
An ordered array of strings that define the content for PAM sshd password. This setting is required and only valid if pam_d_sshd_template is configured to use the pam/sshd.custom.erb template.
Default value: undef
Data type: Optional[Array]
An ordered array of strings that define the content for PAM sshd session. This setting is required and only valid if pam_d_sshd_template is configured to use the pam/sshd.custom.erb template.
Default value: undef
Data type: Optional[Array]
An ordered array of strings that define the content for PAM auth. If undef, parameter is set based on the OS version.
Default value: undef
Data type: Optional[Array]
An ordered array of strings that define the content for PAM account. If undef, parameter is set based on the OS version.
Default value: undef
Data type: Optional[Array]
An ordered array of strings that define the content for PAM password. If undef, parameter is set based on the OS version.
Default value: undef
Data type: Optional[Array]
An ordered array of strings that define the content for PAM session. If undef, parameter is set based on the OS version.
Default value: undef
Data type: Stdlib::Absolutepath
Path to PAM other file. Used on Suse 9 and Solaris.
Default value: '/etc/pam.d/other'
Data type: Stdlib::Absolutepath
Path to PAM common-auth file. Used on Debian/Ubuntu and Suse.
Default value: '/etc/pam.d/common-auth'
Data type: Stdlib::Absolutepath
Path to PAM common-auth-pc file. Used on Suse.
Default value: '/etc/pam.d/common-auth-pc'
Data type: Stdlib::Absolutepath
Path to PAM common-account file. Used on Suse.
Default value: '/etc/pam.d/common-account'
Data type: Stdlib::Absolutepath
Path to PAM common-account-pc file. Used on Suse.
Default value: '/etc/pam.d/common-account-pc'
Data type: Stdlib::Absolutepath
Path to PAM common-password file. Used on Suse.
Default value: '/etc/pam.d/common-password'
Data type: Stdlib::Absolutepath
Path to PAM common-password-pc file. Used on Suse.
Default value: '/etc/pam.d/common-password-pc'
Data type: Stdlib::Absolutepath
Path to PAM common-session file. Used on Suse.
Default value: '/etc/pam.d/common-session'
Data type: Stdlib::Absolutepath
Path to PAM common-session-pc file. Used on Suse.
Default value: '/etc/pam.d/common-session-pc'
Data type: Stdlib::Absolutepath
Path to PAM common-session-noninteractive file, which is the same as common-session-pc used on Suse. Used on Ubuntu 12.04 LTS.
Default value: '/etc/pam.d/common-session-noninteractive'
Data type: Stdlib::Absolutepath
Path to PAM system-auth file. Used on RedHat.
Default value: '/etc/pam.d/system-auth'
Data type: Stdlib::Absolutepath
Path to PAM system-auth-ac file. Used on RedHat.
Default value: '/etc/pam.d/system-auth-ac'
Data type: Stdlib::Absolutepath
Path to PAM password-auth file. Used on RedHat.
Default value: '/etc/pam.d/password-auth'
Data type: Stdlib::Absolutepath
Path to PAM password-auth-ac file. Used on RedHat.
Default value: '/etc/pam.d/password-auth-ac'
Data type: Optional[Array]
Array of lines used in content template of $password_auth_ac_file. If undef, parameter is set based on defaults for the detected platform.
Default value: undef
Data type: Optional[Array]
Array of lines used in content template of $password_auth_ac_file. If undef, parameter is set based on defaults for the detected platform.
Default value: undef
Data type: Optional[Array]
Array of lines used in content template of $password_auth_ac_file. If undef, parameter is set based on defaults for the detected platform.
Default value: undef
Data type: Optional[Array]
Array of lines used in content template of $password_auth_ac_file. If undef, parameter is set based on defaults for the detected platform.
Default value: undef
Data type: Boolean
Boolean to manage the inclusion of the nsswitch class.
Default value: true
Data type: Array
Private, do not specify. Manage pam files where the entries match existing
template names. These common_files* parameters are used internally to
specify which files and names are needed. The data is coming out of Hiera
in data/os/
.
Default value: []
Data type: Boolean
Private, do not specify. If true, then symlinks are created from the suffixed files to the originals without the suffix.
Default value: false
Data type: Optional[String]
Suffix added to the common_files entries for the filename.
Default value: undef
Manage login access See PAM_ACCESS(8)
This class is included by the pam class for platforms which use it.
The following parameters are available in the pam::accesslogin
class.
Data type: Stdlib::Absolutepath
Path to access.conf.
Default value: '/etc/security/access.conf'
Data type: String
Owner of access.conf.
Default value: 'root'
Data type: String
Group of access.conf.
Default value: 'root'
Data type: Stdlib::Filemode
Mode of access.conf.
Default value: '0644'
Data type: String
Content template of access.conf.
Default value: 'pam/access.conf.erb'
Data type: Variant[Array, Hash, String]
String, Array or Hash of strings and/or arrays to configure users and origins in access.conf. The default allows the root user/group from origin 'ALL'.
Default value: $pam::allowed_users
Manage PAM limits.conf
This class is included by the pam class for platforms which use it.
The following parameters are available in the pam::limits
class.
Data type: Stdlib::Absolutepath
Path to limits.conf.
Default value: '/etc/security/limits.conf'
Data type: Stdlib::Filemode
Mode for config_file.
Default value: '0640'
Data type: Optional[Array]
Ordered array of limits that should be placed into limits.conf. Useful for Suse 10 which does not use limits.d.
Default value: undef
Data type: Optional[String]
String with source path to a limits.conf
Default value: undef
Data type: Stdlib::Absolutepath
Path to limits.d directory.
Default value: '/etc/security/limits.d'
Data type: Stdlib::Filemode
Mode for limits_d_dir.
Default value: '0750'
Data type: Boolean
Boolean to purge the limits.d directory.
Default value: false
Places a fragment in $limits_d_dir directory One of the parameters source
or list
must be set.
pam::limits::fragment { 'nproc':
source => 'puppet:///modules/pam/limits.nproc',
}
The following parameters are available in the pam::limits::fragment
defined type.
Data type: Enum['file', 'present', 'absent']
Ensure attribute for the fragment file.
Default value: 'file'
Data type: Optional[String]
Path to the fragment file, such as 'puppet:///modules/pam/limits.nproc'
Default value: undef
Data type: Optional[Array]
Array of lines to add to the fragment file.
Default value: undef
reversible, so that any service that Puppet has locked using PAM can be unlocked by setting the resource ensure to absent and waiting for the next puppet run.
pam::service { 'sudo':
content => 'auth required pam_unix2.so',
}
The following parameters are available in the pam::service
defined type.
Data type: Enum['present', 'absent']
Specifies if a PAM service file should (present
) or should not (absent
)
exist. The default is set to 'present'
Default value: 'present'
Data type: Stdlib::Absolutepath
Path to PAM files.
Default value: '/etc/pam.d'
Data type: Optional[String]
Content of the PAM file for the service. The content
and lines
parameters are mutually exclusive. Not setting either of these parameters
will result in an empty service definition file.
Default value: undef
Data type: Optional[Array]
Provides content for the PAM service file as an array of lines. The
content
and lines
parameters are mutually exclusive. Not setting either
of these parameters will result in an empty service definition file.
Default value: undef