[[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