Ldap-asiakas
Tässä dokumentissa tehdään tarvittavat asennukset ja määritykset OpenLDAP:n käyttöön ottoon asiakaskoneessa. Olettaen että olet tehnyt jo OpenLDAP palvelimen jossa palvelu on päällä, ja valmiina yhteyden ottoon.
Ennen kuin lähdet tekemään asetuksia, koita käyttää distrosi mukana tulevia graafisia työkaluja, ja tee niillä asetukset. Sen jälkeen tarkista että kaikki on oikein, kuten esim. salasanojen salaus: pam_password md5 jonka otimme käyttöön palvelimella. Jos et saa autentikointia ldap palvelimelle toimimaan, silloin kannattaa käydä alla oleva dokumentti kohta kohdalta läpi, ehkä se kannattaa muutenkin!
Miten se toimii? Linux asiakas tekee muutaman toiminnon autentikoidakseen käyttäjän:- NSS (Natural Security-System), joka kertoo mistä salasana löytyy, lisäksi katsoo määritetyn autentikointi järjestyksen.
- PAM (Pluggable Authentication Modules), PAM on rajapinta systeemin ja varasto-ohjelmien (Shadow files, LDAP, NIS, Winbind) välissä. PAM siis mahdollistaa käyttäjien autentikoinnin, suoraan tiedostosta tai palvelimelta.
- Kyselyt tehdään nsswitch.conf -tiedostossa määritetyssä järjestyksessä, riippuu tarpeista esim. LDAP.
Asennus:
Asiakas koneessa tarvittavat ohjelmat:
- openldap
- openldap-clients
- libldap2
- openssl
- pam_ldap
- nss_ldap
Asenna tarvittavat asennuspaketit jakelusi mukana tulleilla pakettien- hallinta ja asennus työkaluilla. Yllä luetellut pakettien nimet voivat vaihdella eri distrojen välillä.
Asetukset:
Asiakas koneen asetuksia konfiguroidaan kolmella eri tiedostolla jotka ovat:
- /etc/nsswitch.conf. Jossa määritellään järjestys mistä kysytään.
- /etc/pam.d/system-auth. Järjestelmän asettaminen käyttämään modulia pam_ldap.so.
- /etc/ldap.conf. LDAP data acces konfigurointi modulille pam_ldap.so
Konfigurointi tiedostojen rivin alussa oleva # merkki on kommenttimerkki , jolloin merkin perässä oleva määritys tai kirjoitus on kommentoitu pois, eli sitä ei ohjelma lue.
HUOMIO: Älä mene sekaisin /etc/ldap.conf ja /etc/openldap/ldap.con tiedostojen välillä. /etc/openldap/ldap.conf on konfigurointi tiedosto jota käyttää työkalut ldapsearch, ldapadd, me taas emme käytä niitä tässä.
/etc/nsswitch.conf tiedostosta tarvitsee muuttaa vain seuraavat rivit:
- passwd: files nis
- shadow: files nis
- group: files nis
- passwd: files ldap nis
- shadow: files ldap nis
- group: files ldap nis
Lisättiin ldap, huomaa järjestys! Mikä on tässä hyvä koska jos ldap palvelin ei vastaa, etsitään salasanaa myös paikallisista tiedostoista.
/etc/pam.d/system-auth Vain neljä parametriä tarvitaan:Autentikointi:
- auth sufficient pam_ldap.so use_first_pass
Accounts addition:
- account sufficient pam_ldap.so
Passwords addition:
- password sufficient pam_ldap.so use_authtok
Session acceptance addition:
- Session required pam_ldap.so
Kun ensimmäisen kerran kirjaudut järjestelmään ldap autentikoinnin avulla, ja jos sinulla ei ole asiakas koneella valmiiksi /home/sinunkoti -kansiota, saat virhe ilmoituksen "/home/sinunkoti: does not exist" On mahdollista laittaa kotikansion luonti automaattiseksi jos sitä ei jo valmiiksi ole, se tapahtuu lisäämällä seuraava rivi: session required pam_mkhomedir.so skel=/etc/skel umask=0077
Nyt /etc/pam.d/system-auth tiedoston pitäisi näyttää tältä:
auth required pam_env.so
auth sufficient pam_unix.so likeauth nullok
auth sufficient pam_ldap.so use_first_pass
auth required pam_deny.so
account required pam_unix.so
account sufficient pam_ldap.so
password required pam_cracklib.so retry=3 minlen=2 dcredit=0 ucredit=0
password sufficient pam_ldap.so usr_authtok
password sufficient pam_unix.so nullok use_authtok md5 shadow
password required pam_deny.so
session required pam_limits.so
session required pam_unix.so
session required pam_ldap.so
session required pam_mkhomedir.so skel=/etc/skel umask=0077
/etc/ldap.conf
Tiedostossa ldap.conf määritellään: Mitä ldap -palvelinta käytetään?
Lisäksi järjestelmä on oletusasetuksin määritelty käyttämään "crypt" salausta joka tosiasiallisesti on heikko ja se asetus sinun täytyy muuttaa muotoon "md5". md5 -salaus on eniten käytetty salaus esim. Mandrivalinuxissa. Kuten nyt myös tässä meidän esimerkki palvelin asetuksissa.
Tämän vuoksi muutetaan alla olevat rivit /etc/ldap tiedostosta:
host 192.168.0.100
base dc=esimerkki,dc=com
nss_base_passwd ou=Users,dc=linuxdomain,dc=com?sub
nss_base_shadow ou=Users,dc=linuxdomain,dc=com?sub
nss_base_group ou=Group,dc=linuxdomain,dc=com?sub
pam_password md5
Testaus:
Nyt asetukset on tehty ja voidaan tarkistaa että ne toimivat, käskytä:
getent passwd
getent group
Molempien käskyjen pitäisi näyttää paikalliset tilit, sekä tilit ldap palvelimella.
Huomio: Salasanat oletuksena muutetaan ldap -palvelimella, eikä paikallisissa tiedostoissa. Paikalliset tiedostot ovat kuitenkin edelleen käytössä ja validit, jos käyttäjä esiintyy molemmissa paikoissa (paikallisesti ja ldap -palvelimella) silloin hänellä on kaksi mahdollista salasanaa, toinen /etc/shadow tiedostossa ja toinen ldap palvelimella.
Se siitä...