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 parameterssourceorlistmust be set.pam::service: Manage PAM file for specific service. Thepam::serviceresource is
This module manages PAM.
include pamThe following parameters are available in the pam class:
allowed_usersmanage_accessloginlogin_pam_accesssshd_pam_accesslimits_fragmentslimits_fragments_hiera_mergemanage_faillockmanage_pwqualitypackage_namepam_conf_fileservicespam_d_login_oracle_optionspam_d_login_pathpam_d_login_ownerpam_d_login_grouppam_d_login_modepam_d_login_templatepam_d_sshd_pathpam_d_sshd_ownerpam_d_sshd_grouppam_d_sshd_modepam_d_sshd_templatepam_sshd_auth_linespam_sshd_account_linespam_sshd_password_linespam_sshd_session_linespam_auth_linespam_account_linespam_password_linespam_session_linesother_filecommon_auth_filecommon_auth_pc_filecommon_account_filecommon_account_pc_filecommon_password_filecommon_password_pc_filecommon_session_filecommon_session_pc_filecommon_session_noninteractive_filesystem_auth_filesystem_auth_ac_filepassword_auth_filepassword_auth_ac_filepam_password_auth_linespam_password_account_linespam_password_password_linespam_password_session_linesmanage_nsswitchcommon_filescommon_files_create_linkscommon_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_pathaccess_conf_owneraccess_conf_groupaccess_conf_modeaccess_conf_templateallowed_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_fileconfig_file_ownerconfig_file_groupconfig_file_modeconfig_file_templateconfig_file_sourcediraudit_enabledsilentno_log_infolocal_users_onlydenyfail_intervalunlock_timeeven_deny_rootroot_unlock_timeadmin_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_fileconfig_file_modeconfig_file_linesconfig_file_sourcelimits_d_dirlimits_d_dir_modepurge_limits_d_dirpurge_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_fileconfig_file_ownerconfig_file_groupconfig_file_modeconfig_file_sourceconfig_file_templateconfig_d_dirconfig_d_dir_ownerconfig_d_dir_groupconfig_d_dir_modepurge_config_d_dirpurge_config_d_dir_ignoredifokminlendcreditucreditlcreditocreditminclassmaxrepeatmaxsequencemaxclassrepeatgecoscheckdictcheckusercheckusersubstrenforcingbadwordsdictpathretryenforce_for_rootlocal_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