pam
: This module manages PAM.pam::accesslogin
: Manage login access See PAM_ACCESS(8)pam::faillock
: Manage faillock.confpam::limits
: Manage PAM limits.confpam::pwquality
: Manage pwquality.conf
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:
allowed_users
manage_accesslogin
login_pam_access
sshd_pam_access
limits_fragments
limits_fragments_hiera_merge
manage_faillock
manage_pwquality
package_name
pam_conf_file
services
pam_d_login_oracle_options
pam_d_login_path
pam_d_login_owner
pam_d_login_group
pam_d_login_mode
pam_d_login_template
pam_d_sshd_path
pam_d_sshd_owner
pam_d_sshd_group
pam_d_sshd_mode
pam_d_sshd_template
pam_sshd_auth_lines
pam_sshd_account_lines
pam_sshd_password_lines
pam_sshd_session_lines
pam_auth_lines
pam_account_lines
pam_password_lines
pam_session_lines
other_file
common_auth_file
common_auth_pc_file
common_account_file
common_account_pc_file
common_password_file
common_password_pc_file
common_session_file
common_session_pc_file
common_session_noninteractive_file
system_auth_file
system_auth_ac_file
password_auth_file
password_auth_ac_file
pam_password_auth_lines
pam_password_account_lines
pam_password_password_lines
pam_password_session_lines
manage_nsswitch
common_files
common_files_create_links
common_files_suffix
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: Boolean
Boolean to manage the inclusion of the pam::accesslogin class. Can be useful if /etc/security/access.conf is managed externally. Defaults to true.
Default value: true
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: Boolean
Controls whether to manage faillock.conf
Default value: false
Data type: Boolean
Controls whether to manage pwquality.conf and pwquality.conf.d
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:
access_conf_path
access_conf_owner
access_conf_group
access_conf_mode
access_conf_template
allowed_users
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 faillock.conf
The following parameters are available in the pam::faillock
class:
config_file
config_file_owner
config_file_group
config_file_mode
config_file_template
config_file_source
dir
audit_enabled
silent
no_log_info
local_users_only
deny
fail_interval
unlock_time
even_deny_root
root_unlock_time
admin_group
Data type: Stdlib::Absolutepath
The faillock config path
Default value: '/etc/security/faillock.conf'
Data type: String[1]
The faillock config owner
Default value: 'root'
Data type: String[1]
The faillock config group
Default value: 'root'
Data type: Stdlib::Filemode
The faillock config mode
Default value: '0644'
Data type: String[1]
The faillock config template
Default value: 'pam/faillock.conf.erb'
Data type: Optional[Stdlib::Filesource]
The faillock config source
Default value: undef
Data type: Stdlib::Absolutepath
The faillock 'dir' config option
Default value: '/var/run/faillock'
Data type: Optional[Boolean]
The faillock 'audit' config option
Default value: undef
Data type: Optional[Boolean]
The faillock 'silent' config option
Default value: undef
Data type: Optional[Boolean]
The faillock 'no_log_info' config option
Default value: undef
Data type: Optional[Boolean]
The faillock 'local_users_only' config option
Default value: undef
Data type: Integer[0]
The faillock 'deny' config option
Default value: 3
Data type: Integer[0]
The faillock 'fail_interval' config option
Default value: 900
Data type: Integer[0]
The faillock 'unlock_time' config option
Default value: 600
Data type: Optional[Boolean]
The faillock 'even_deny_root' config option
Default value: undef
Data type: Integer[0]
The faillock 'root_unlock_time' config option
Default value: $unlock_time
Data type: Optional[String[1]]
The faillock 'admin_group' config option
Default value: undef
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:
config_file
config_file_mode
config_file_lines
config_file_source
limits_d_dir
limits_d_dir_mode
purge_limits_d_dir
purge_limits_d_dir_ignore
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
Data type: Optional[Variant[String[1], Array[String[1]]]]
A glob or array of file names to ignore when purging limits.d
Default value: undef
Manage pwquality.conf
This class is included by the pam class for platforms which use it.
The following parameters are available in the pam::pwquality
class:
config_file
config_file_owner
config_file_group
config_file_mode
config_file_source
config_file_template
config_d_dir
config_d_dir_owner
config_d_dir_group
config_d_dir_mode
purge_config_d_dir
purge_config_d_dir_ignore
difok
minlen
dcredit
ucredit
lcredit
ocredit
minclass
maxrepeat
maxsequence
maxclassrepeat
gecoscheck
dictcheck
usercheck
usersubstr
enforcing
badwords
dictpath
retry
enforce_for_root
local_users_only
Data type: Stdlib::Absolutepath
Path to pwquality.conf.
Default value: '/etc/security/pwquality.conf'
Data type: String[1]
Owner for pwquality.conf
Default value: 'root'
Data type: String[1]
Group for pwquality.conf
Default value: 'root'
Data type: Stdlib::Filemode
Mode for config_file.
Default value: '0644'
Data type: Optional[Stdlib::Filesource]
String with source path to a pwquality.conf
Default value: undef
Data type: String[1]
Template to render pwquality.conf
Default value: 'pam/pwquality.conf.erb'
Data type: Stdlib::Absolutepath
Path to pwquality.conf.d directory.
Default value: '/etc/security/pwquality.conf.d'
Data type: String[1]
Owner for pwquality.conf.d
Default value: 'root'
Data type: String[1]
Group for pwquality.conf.d
Default value: 'root'
Data type: Stdlib::Filemode
Mode for pwquality.conf.d
Default value: '0755'
Data type: Boolean
Boolean to purge the pwquality.conf.d directory.
Default value: true
Data type: Optional[Variant[String[1], Array[String[1]]]]
A glob or array of file names to ignore when purging pwquality.conf.d
Default value: undef
Data type: Integer[0]
The pwquality.conf 'difok' option
Default value: 1
Data type: Integer[6]
The pwquality.conf 'minlen' option
Default value: 8
Data type: Integer
The pwquality.conf 'dcredit' option
Default value: 0
Data type: Integer
The pwquality.conf 'ucredit' option
Default value: 0
Data type: Integer
The pwquality.conf 'lcredit' option
Default value: 0
Data type: Integer
The pwquality.conf 'ocredit' option
Default value: 0
Data type: Integer[0]
The pwquality.conf 'minclass' option
Default value: 0
Data type: Integer[0]
The pwquality.conf 'maxrepeat' option
Default value: 0
Data type: Integer[0]
The pwquality.conf 'maxsequence' option
Default value: 0
Data type: Integer[0]
The pwquality.conf 'maxclassrepeat' option
Default value: 0
Data type: Integer[0]
The pwquality.conf 'gecoscheck' option
Default value: 0
Data type: Integer[0]
The pwquality.conf 'dictcheck' option
Default value: 1
Data type: Integer[0]
The pwquality.conf 'usercheck' option
Default value: 1
Data type: Integer[0]
The pwquality.conf 'usersubstr' option
Default value: 0
Data type: Integer[0]
The pwquality.conf 'enforcing' option
Default value: 1
Data type: Optional[Array[String[1]]]
The pwquality.conf 'badwords' option
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
The pwquality.conf 'dictpath' option
Default value: undef
Data type: Integer[0]
The pwquality.conf 'retry' option
Default value: 1
Data type: Optional[Boolean]
The pwquality.conf 'enforce_for_root' option
Default value: undef
Data type: Optional[Boolean]
The pwquality.conf 'local_users_only' option
Default value: undef
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