Added CentOS 6 support to ldap::auth.

This commit is contained in:
Timo Mkinen 2011-10-20 13:40:07 +03:00
parent 93e8287f01
commit 018f274a68

View file

@ -18,24 +18,55 @@ class ldap::auth inherits ldap::client {
case $operatingsystem { case $operatingsystem {
CentOS: { CentOS: {
package { "nss_ldap": case $operatingsystemrelease {
ensure => installed, /^6/: {
} package { "nss-pam-ldapd":
exec { "authconfig --enableldap --enableldapauth --enableldapssl --ldapserver='${ldap_uri}' --ldapbasedn='${ldap_basedn}' --update": ensure => installed,
path => "/bin:/usr/bin:/sbin:/usr/sbin", }
unless => 'cat /etc/sysconfig/authconfig | egrep "^USELDAPAUTH=yes$|^USELDAP=yes$" | wc -l | egrep "^2$"', exec { "authconfig --enableldap --enableldapauth --ldapserver='${ldap_uri}' --ldapbasedn='${ldap_basedn}' --update":
before => [ Augeas["pam-ldap-conf"], path => "/bin:/usr/bin:/sbin:/usr/sbin",
File["/etc/openldap/ldap.conf"], ], unless => 'cat /etc/sysconfig/authconfig | egrep "^USELDAPAUTH=yes$|^USELDAP=yes$" | wc -l | egrep "^2$"',
require => Package["nss_ldap"], before => [ Augeas["pam-ldap-conf"],
} File["/etc/openldap/ldap.conf"], ],
augeas { "pam-ldap-conf": require => Package["nss-pam-ldapd"],
context => "/files/etc/ldap.conf", }
changes => [ "set nss_paged_results yes", augeas { "pam-ldap-conf":
"set pam_password exop", changes => [ "set pagesize 500",
"set ssl on", ], "set ssl on",
onlyif => [ "get nss_paged_results != yes", "set tls_reqcert never", ],
"get pam_password != exop", onlyif => [ "get pagesize != 500",
"get ssl != on", ], "get ssl != on",
"get tls_reqcert != never", ],
incl => "/etc/nslcd.conf",
lens => "Spacevars.simple_lns",
notify => Service["nslcd"],
}
service { "nslcd":
ensure => running,
enable => true,
}
}
default: {
package { "nss_ldap":
ensure => installed,
}
exec { "authconfig --enableldap --enableldapauth --enableldapssl --ldapserver='${ldap_uri}' --ldapbasedn='${ldap_basedn}' --update":
path => "/bin:/usr/bin:/sbin:/usr/sbin",
unless => 'cat /etc/sysconfig/authconfig | egrep "^USELDAPAUTH=yes$|^USELDAP=yes$" | wc -l | egrep "^2$"',
before => [ Augeas["pam-ldap-conf"],
File["/etc/openldap/ldap.conf"], ],
require => Package["nss_ldap"],
}
augeas { "pam-ldap-conf":
context => "/files/etc/ldap.conf",
changes => [ "set nss_paged_results yes",
"set pam_password exop",
"set ssl on", ],
onlyif => [ "get nss_paged_results != yes",
"get pam_password != exop",
"get ssl != on", ],
}
}
} }
} }
Ubuntu: { Ubuntu: {