diff --git a/pam/ccreds.sls b/pam/ccreds.sls new file mode 100644 index 0000000..a9ea030 --- /dev/null +++ b/pam/ccreds.sls @@ -0,0 +1,6 @@ +{% from "pam/map.jinja" import pam with context %} + +ccreds: + pkg.installed: + - name: {{ pam.ccreds_pkg }} + diff --git a/pam/files/mkhomedir b/pam/files/mkhomedir new file mode 100644 index 0000000..8a003f5 --- /dev/null +++ b/pam/files/mkhomedir @@ -0,0 +1,6 @@ +Name: activate mkhomedir +Default: yes +Priority: 900 +Session-Type: Additional +Session: + required pam_mkhomedir.so umask=0022 skel=/etc/skel \ No newline at end of file diff --git a/pam/map.jinja b/pam/map.jinja index 4a199a1..75bc0b2 100644 --- a/pam/map.jinja +++ b/pam/map.jinja @@ -1,11 +1,17 @@ {% set pam = salt['grains.filter_by']({ 'Ubuntu': { - 'ldap_pkg': 'ldap-auth-client', + 'ldap_pkg': 'libpam-ldapd', 'nsd': 'nscd', 'ldap_config': '/etc/ldap.conf', + 'mkhomedir_pkg': 'libpam-mkhomedir', + 'mkhomedir_config': '/usr/share/pam-configs/mkhomedir', + 'ccreds_pkg': 'libpam-ccreds', }, 'Debian': { 'ldap_pkg': 'libpam-ldapd', 'ldap_config': '/etc/ldap.conf', + 'mkhomedir_pkg': 'libpam-ccreds', + 'mkhomedir_config': '/usr/share/pam-configs/mkhomedir', + 'ccreds_pkg': 'libpam-ccreds', }, }, merge=salt['pillar.get']('pam:lookup')) %} diff --git a/pam/mkhomedir.sls b/pam/mkhomedir.sls new file mode 100644 index 0000000..c43a6d2 --- /dev/null +++ b/pam/mkhomedir.sls @@ -0,0 +1,11 @@ +{% from "pam/map.jinja" import pam with context %} + +{{ pam.mkhomedir_config }}: + file.managed: + - source: salt://pam/files/my_mkhomedir + - user: root + - group: root + +pam-auth-update: + cmd.run: + - name: pam-auth-update \ No newline at end of file