diff --git a/ldap/manifests/init.pp b/ldap/manifests/init.pp index 82cd113..b74d7c1 100644 --- a/ldap/manifests/init.pp +++ b/ldap/manifests/init.pp @@ -78,6 +78,30 @@ class ldap::auth( } } + case $::operatingsystem { + "centos","redhat": { + if versioncmp($::operatingsystemrelease, "7") < 0 { + $member_attr = "uniqueMember" + } else { + $member_attr = "member" + } + } + "fedora": { + if versioncmp($::operatingsystemrelease, "18") < 0 { + $member_attr = "uniqueMember" + } else { + $member_attr = "member" + } + } + "ubuntu": { + if versioncmp($::operatingsystemrelease, "12.04") < 0 { + $member_attr = "uniqueMember" + } else { + $member_attr = "member" + } + } + } + if $::kernel == "Linux" { include nscd } diff --git a/ldap/templates/nslcd.conf.erb b/ldap/templates/nslcd.conf.erb index eb2d67f..9109002 100644 --- a/ldap/templates/nslcd.conf.erb +++ b/ldap/templates/nslcd.conf.erb @@ -21,13 +21,13 @@ map passwd gecos displayName map passwd loginShell "${loginShell:-/bin/bash}" map passwd homeDirectory "${unixHomeDirectory:-/home/$sAMAccountName}" filter group (&(objectClass=group)(gidNumber=*)) -<% if @operatingsystem == "CentOS" or (@operatingsystem == "Ubuntu" and scope.function_versioncmp([@operatingsystemrelease, '12.04']) < 0) -%> -map group uniqueMember member +<% if @member_attr != "member" -%> +map group <%= @member_attr %> member <% end -%> <% else -%> pagesize 500 -<% if @operatingsystem != "CentOS" and (@operatingsystem == "Ubuntu" and scope.function_versioncmp([@operatingsystemrelease, '12.04']) >= 0) -%> -map group member uniqueMember +<% if @member_attr != "uniqueMember" -%> +map group <%= @member_attr %> uniqueMember <% end -%> <% end -%> <% if @auth == 'bind' -%>