< OpenLDAP

LDAP kliens

Szerző: Sallai András

Copyright © 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