--- - name: Installing nfs client packages apt: name: [ 'nfs-common' ] state: latest - name: Create directory for user homes file: path=/var/lib/nethserver/home state=directory owner=root group=root mode=0755 - name: Add mount to fstab mount: path: /var/lib/nethserver/home src: "{{ esmith.SystemName }}.{{ esmith.DomainName }}:/var/lib/nethserver/home" fstype: nfs4 opts: rw,async,_netdev passno: "1" dump: "0" state: mounted ########################## nslcd - name: Set bind DN debconf: name: nslcd question: nslcd/ldap-binddn value: cn=ldapservice,dc=directory,dc=nh vtype: string - name: Set base DN debconf: name: nslcd question: nslcd/ldap-base value: dc=directory,dc=nh vtype: string - name: Set LDAP server debconf: name: nslcd question: nslcd/ldap-uris value: ldap://{{ esmith.SystemName }}.{{ esmith.DomainName }}:389/ vtype: string - name: Set bind password debconf: name: nslcd question: nslcd/ldap-bindpw value: "{{ lookup('file', '/var/lib/nethserver/secrets/ldapservice') }}" vtype: password ########################## ldap-auth - name: Set bind DN debconf: name: ldap-auth-config question: ldap-auth-config/binddn value: cn=ldapservice,dc=directory,dc=nh vtype: string - name: Set root bind DN debconf: name: ldap-auth-config question: ldap-auth-config/rootbinddn value: cn=ldapservice,dc=directory,dc=nh vtype: string - name: Set base DN debconf: name: ldap-auth-config question: ldap-auth-config/ldapns/base-dn value: dc=directory,dc=nh vtype: string - name: Set login required debconf: name: ldap-auth-config question: ldap-auth-config/dblogin value: "true" vtype: boolean - name: Set root login required debconf: name: ldap-auth-config question: ldap-auth-config/dbrootlogin value: "true" vtype: boolean - name: Set ldap override debconf: name: ldap-auth-config question: ldap-auth-config/override value: "true" vtype: boolean - name: Set move-to-debconf debconf: name: ldap-auth-config question: ldap-auth-config/move-to-debconf value: "true" vtype: boolean - name: Set pam password debconf: name: ldap-auth-config question: ldap-auth-config/pam_password value: exop vtype: select - name: Set LDAP server debconf: name: ldap-auth-config question: ldap-auth-config/ldapns/ldap-server value: ldap://{{ esmith.SystemName }}.{{ esmith.DomainName }}:389/ vtype: string - name: Set LDAP server version debconf: name: ldap-auth-config question: ldap-auth-config/ldapns/ldap_version value: "3" vtype: select - name: Set bind password debconf: name: ldap-auth-config question: ldap-auth-config/bindpw value: "{{ lookup('file', '/var/lib/nethserver/secrets/ldapservice') }}" vtype: password - name: Set root bind password debconf: name: ldap-auth-config question: ldap-auth-config/rootbindpw value: "{{ lookup('file', '/var/lib/nethserver/secrets/ldapservice') }}" vtype: password ########################## libnss-ldapd - name: Configure libnss for ldap debconf: name: libnss-ldapd question: libnss-ldapd/nsswitch value: "passwd, group, shadow" vtype: multiselect - name: Configure libnss for not removnig ldap configuration debconf: name: libnss-ldapd question: libnss-ldapd/clean_nsswitch value: "false" vtype: boolean ########################## packages install - name: Installing client packages apt: name: [ 'libnss-ldapd', 'ldap-auth-config' ] state: latest # nss_initgroups_ignoreusers avahi,avahi-autoipd,backup,bin,colord,daemon,dnsmasq,games,gnats,hplip,irc,kernoops,libuuid,lightdm,list,lp,mail,man,messagebus,news,proxy,pulse,root,rtkit,saned,speech-dispatcher,sshd,statd,sync,sys,syslog,usbmux,uucp,whoopsie,www-data ########################## nsswitch - name: nsswitch settings for passwd lineinfile: path: /etc/nsswitch.conf state: present regexp: '^passwd\:' line: 'passwd: files ldap' - name: nsswitch settings for group lineinfile: path: /etc/nsswitch.conf state: present regexp: '^group\:' line: 'group: files ldap' - name: nsswitch settings for shadow lineinfile: path: /etc/nsswitch.conf state: present regexp: '^shadow\:' line: 'shadow: files ldap' ########################## idmap.conf - name: Tweak idmap.conf ini_file: path: /etc/idmapd.conf section: Translation option: Method value: nsswitch mode: 0644 ########################## DM - name: Check if lightdm is installed shell: dpkg-query -W -f='${Status}' lightdm | grep 'install ok installed' register: lightdm_installed failed_when: no changed_when: no - name: Check if gdm3 is installed shell: dpkg-query -W -f='${Status}' gdm3 | grep 'install ok installed' register: gdm3_installed failed_when: no changed_when: no - name: Adjusting lightdm settings template: src: 'lightdm.conf' dest: '/usr/share/lightdm/lightdm.conf.d/50-libreschool.conf' owner: 'root' group: 'root' mode: 0644 when: lightdm_installed.rc == 0 - name: Adjust gdm3 settings ini_file: path: /etc/gdm3/greeter.dconf-defaults section: org/gnome/login-screen option: disable-user-list value: "true" no_extra_spaces: yes when: gdm3_installed.rc == 0