[[oktatas:linux:ldap:openldap|< OpenLDAP]] ====== LDAP kliens ====== * **Szerző:** Sallai András * Copyright (c) Sallai András, 2019 * Licenc: GNU Free Documentation License 1.3 * Web: http://szit.hu ===== Telepítés ===== apt install libnss-ldap ldap-utils ===== Felhasználói könyvtár ===== Állítsuk be, hogy a felhasználói könyvtár automatikusan jöjjön létre, ha az még nem létezik. Szerkesszük a **/etc/pam.d/common-session** állományt. Szúrjuk be a végére a következő sort: session optional pam_mkhomedir.so skel=/etc/skel umask=077 ===== Azonosítás LDAP-szerverről ===== Szerkesszük a /etc/nsswitch.conf állományt: nano /etc/nsswitch.conf Keressük meg a passwd, group és shadow kezdetű sorokat majd írjuk minden sor végére az ldap szót. ... passwd: compat ldap group: compat ldap shadow: compat ldap ... Szerkesszük a libnss-ldap.conf fájlt: nano /etc/libnss-ldap.conf Tartalma a következő legyen: base cn=admin,dc=zold,dc=and uri ldap://192.168.10.2/ ldap_version 3 rootbinddn cn=admin,dc=zold,dc=and Ugyanezt írjuk a pam_ldap.conf állományba: nano /etc/pam_ldap.conf Tartalma: base cn=admin,dc=zold,dc=and uri ldap://192.168.10.2/ ldap_version 3 rootbinddn cn=admin,dc=zold,dc=and Az LDAP admin jelszavát írjuk a libnss-ldap.secret és a pam_ldap.secret fájlba. Tegyük fel, hogy a jelszó 12345, ekkor: echo 12345 > /etc/libnss-ldap.secret echo 12345 > /etc/pam_ldap.secret Állítsuk be, hogy csak a root tudja olvasni, írni: chmod 600 /etc/libnss-ldap.secret chmod 600 /etc/pam_ldap.secret Indítsuk újra az nscd szolgáltatást: systemctl restart nscd ===== Ellenőrzés ===== A beállítások után jelentkezzünk a kliens gépen, egy olyan felhasználóval, aki csak az LDAP szerveren létezik. ===== Jelszó ===== A felhasználó a jelszót a következő módon tudja változtatni: ldappasswd -H ldap://192.168.10.2 -x \ -D "cn=admin,dc=zold,dc=and" \ -W -S "uid=mari,ou=people,dc=zold,dc=and" Jelszó ellenőrzése: ldapwhoami -vvv -h 192.168.10.2 \ -D "uid=mari,ou=people,dc=zold,dc=and" -x -W ===== Függelék ===== ==== Ansible-playbook fájl ==== LDAP kliens telepítéséhez ansible-playbook állomány: --- - name: LDAP azonosítás kliensen hosts: all become: true remote_user: adminc vars: password: 12345 ldap_server_ip: 192.168.10.2 base_dn: dc=zold,dc=and bind_dn: cn=admin,dc=zold,dc=and tasks: - name: Szükséges csomagok telepítése apt: update_cache: yes state: present name: "{{ packages }}" vars: packages: - libnss-ldap - ldap-utils - name: Felhaszlnálói könyvtár ekészítése lineinfile: dest: /etc/pam.d/common-session line: session optional pam_mkhomedir.so skel=/etc/skel umask=077 insertafter: EOF - name: Azonosítás az nsswitchben lineinfile: dest: /etc/nsswitch.conf regexp: "{{ item.pat }}" line: "{{ item.new }}" with_items: - { pat: '^passwd:', new: 'passwd: compat ldap' } - { pat: '^group:', new: 'group: compat ldap' } - { pat: '^shadow:', new: 'shadow: compat ldap' } - name: libnss-ldap.conf beállítása copy: backup: yes dest: /etc/libnss-ldap.conf content: | base {{ base_dn }} uri ldap://{{ ldap_server_ip }}/ ldap_version 3 rootbinddn {{ bind_dn }} - name: libnss-ldap.secret beállítása copy: backup: yes dest: /etc/libnss-ldap.secret content: | {{ password }} mode: u+rw,g-rwx,o-rwx - name: pam_ldap.conf beállítása copy: backup: yes dest: /etc/pam_ldap.conf content: | base {{ base_dn }} uri ldap://{{ ldap_server_ip }}/ ldap_version 3 rootbinddn {{ bind_dn }} - name: pam_ldap.secret beállítása copy: backup: yes dest: /etc/pam_ldap.secret content: | {{ password }} mode: u+rw,g-rwx,o-rwx - name: Újraindítjuk az nscd szolgáltatást service: name: nscd state: restarted