Tartalomjegyzék

< OpenLDAP

LDAP kliens

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:

ldapKliens.yml
---
- 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