Felhasználói eszközök

Eszközök a webhelyen


oktatas:linux:konfiguraciokezeles:ansible:playbook:openldap

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

oktatas:linux:konfiguraciokezeles:ansible:playbook:openldap [2019/06/12 06:58]
oktatas:linux:konfiguraciokezeles:ansible:playbook:openldap [2019/08/16 21:14] (aktuális)
admin létrehozva
Sor 1: Sor 1:
 +[[oktatas:​linux:​konfiguraciokezeles:​ansible:​playbook|<​ Playbook]]
  
 +====== Ansible OpenLDAP ======
 +
 +  * **Szerző:​** Sallai András
 +  * Copyright (c) Sallai András, 2019
 +  * [[https://​creativecommons.org/​licenses/​by-sa/​4.0/​|CC Attribution-Share Alike 4.0 International]]
 +  * Web: http://​szit.hu
 +===== A célgépek =====
 +
 +A célgépen szükség van python, python-apt csomagokra, és egy sudo jogú felhasználóra. ​
 +A példában janos nevű felhasználó van megadva.
 +
 +  * python csomag telepítve
 +  * janos sudo joggal
 +===== OpenLDAP szerver telepítése =====
 +
 +Debian 9.9 rendszeren tesztelve.
 +
 +Ha így telepítjük az OpenLDAP-t, az nem veszi fel a környezetében
 +beállított tartománynevet,​ ezért ezt is megadtunk az alábbi példában.
 +
 +
 +<code yaml ldapServer.yml>​
 +---
 +- name: LDAP szerver telepítése
 +  hosts: all
 +  become: true
 +  remote_user:​ janos
 +  vars:
 +    password: asdfg
 +    bind_dn: cn=admin,​dc=zold,​dc=and
 +    people_dn: ou=people,​dc=zold,​dc=and
 +    groups_dn: ou=groups,​dc=zold,​dc=and
 +  tasks:
 +  - name: Gépnév beállítása
 +    hostname: ​
 +      name: gep.zold.and ​
 +  - name: openldap jelszó beállítás
 +    debconf:
 +      name: "​slapd"​
 +      question: '​slapd/​password1'​
 +      value: "{{ password }}"
 +      vtype: password
 +  - name: openldap jelszó ismétlés
 +    debconf:
 +      name: "​slapd"​
 +      question: '​slapd/​password2'​
 +      value: "{{ password }}"
 +      vtype: password
 +  - name: openldap domain beállítás
 +    debconf:
 +      name: "​slapd"​
 +      question: '​slapd/​domain'​
 +      value: zold.and
 +      vtype: string
 +
 +  - name: Csomagok telepítése
 +    apt:
 +      name: "{{ item }}"
 +      state: present
 +      update_cache:​ yes
 +    loop:
 +      - slapd
 +      - ldap-utils
 +      - python-ldap
 +  ​
 +  - name: people felvétele
 +    ldap_entry:
 +      dn: "{{ people_dn }}"
 +      objectClass:​
 +        - organizationalUnit
 +      state: present
 +      server_uri: ldap://​localhost/​
 +      bind_dn: ​ "{{ bind_dn }}"
 +      bind_pw: "{{ password }}"
 +
 +  - name: groups felvétele
 +    ldap_entry:
 +      dn: "{{ groups_dn }}"
 +      objectClass:​
 +        - organizationalUnit
 +      state: present
 +      server_uri: ldap://​localhost/​
 +      bind_dn: "{{ bind_dn }}"
 +      bind_pw: "{{ password }}"
 +</​code>​
 +
 +
 +===== OpenLDAP kliens beállítása =====
 +
 +Debian 9.9 rendszeren tesztelve.
 +
 +<code yaml ldapClient.yml>​
 +---
 +- name: LDAP azonosítás kliensen
 +  hosts: all
 +  become: true
 +  remote_user:​ janos
 +  vars:
 +    password: asdfg
 +    ldap_server_ip:​ 192.168.5.107
 +    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: pam_ldap.secret beállítása
 +    copy:
 +      backup: yes
 +      dest: /​etc/​libnss-ldap.secret
 +      content: |
 +        {{ password }}
 +      mode: u+rw,​g-rwx,​o-rwx
 +  - name: Újraindítjuk az nscd szolgáltatást
 +    service:
 +      name: nscd
 +      state: restarted ​   ​
 +
 +</​code>​