blob: 70bf6cbdd5f4903b396f3177b9da738e3920a89a [file] [log] [blame]
{%- 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 %}