{%- from "linux/map.jinja" import auth with context %} {%- if auth.enabled %} {%- if auth.get('ldap', {}).get('enabled', False) %} {%- from "linux/map.jinja" import ldap with context %} {%- if grains.os_family == 'Debian' %} linux_auth_debconf_libnss-ldapd: debconf.set: - name: libnss-ldapd - data: libnss-ldapd/nsswitch: type: 'multiselect' value: 'group, passwd, shadow' libnss-ldapd/clean_nsswitch: type: 'boolean' value: 'false' - require_in: - pkg: linux_auth_ldap_packages linux_auth_debconf_libpam-ldapd: debconf.set: - name: libpam-ldapd - data: libpam-ldapd/enable_shadow: type: 'boolean' value: 'true' {#- Setup mkhomedir and ldap PAM profiles #} linux_auth_mkhomedir_config: file.managed: - name: /usr/share/pam-configs/mkhomedir - source: salt://linux/files/mkhomedir - require: - pkg: linux_auth_ldap_packages linux_auth_pam_add_profile: file.managed: - name: /usr/local/bin/pam-add-profile - source: salt://linux/files/pam-add-profile - mode: 755 linux_auth_pam_add_profiles: cmd.run: - name: /usr/local/bin/pam-add-profile ldap mkhomedir - unless: "debconf-get-selections | grep libpam-runtime/profiles | grep mkhomedir | grep ldap" - watch: - file: linux_auth_mkhomedir_config - require: - file: linux_auth_pam_add_profile - pkg: linux_auth_ldap_packages {%- elif grains.os_family == 'RedHat' %} linux_auth_config: cmd.run: - name: "authconfig --enableldap --enableldapauth --enablemkhomedir --update" - require: - pkg: linux_auth_ldap_packages {%- else %} linux_auth_nsswitch_config_file: file.managed: - name: /etc/nsswitch.conf - source: salt://linux/files/nsswitch.conf - template: jinja - mode: 644 - require: - pkg: linux_auth_ldap_packages - watch_in: - service: linux_auth_nslcd_service {%- endif %} linux_auth_ldap_packages: pkg.installed: - pkgs: {{ ldap.pkgs }} linux_auth_nslcd_config_file: file.managed: - name: /etc/nslcd.conf - source: salt://linux/files/nslcd.conf - template: jinja - mode: 600 - require: - pkg: linux_auth_ldap_packages - watch_in: - service: linux_auth_nslcd_service linux_auth_nslcd_service: service.running: - enable: true - name: nslcd {%- endif %} {%- endif %}