Ako nainštalovať LDAP na školský server

Pozor toto nie je hotový článok. Článok dokončíme neskôr.

LDAP je - TO DO

 


Inštalácia LDAP na server

Najskôr musíme nainštalovať program, ktorý bude poštu preberať. Otvorte preto v rozhraní Webmin vetvu Others a ťuknite na odkaz Príkazový riadok, do poľa zadajte príkaz

sudo apt-get update

aby sa zaktualizovali informácie o dostupných balíkoch a potom zadajte

sudo apt-get install -f -y --force-yes slapd libnet-ldap-perl

 


Inštalácia nástroja na správu LDAP

sudo apt-get install -f -y --force-yes phpldapadmin

 


Prihlásenie sa do phpLDAPadmin

Ako login zadajte nasledovné

 cn=admin,dc=domenaskoly,dc=edu,dc=sk

miesto domenaskoly samozrejme zadate vasu doménu vrámci siete EDUnet.

Ako heslo zadate vase heslo, ktore ste nastavili pri instalacii LDAP a stlacíte tlacidlo Authenticate.

phpLDAPadmin1

 


Vytvorenie nových záznamov v LDAP

TO DO

 

 


Inštalácia na klientoch s os linux (ubuntu, debian)

sudo apt-get install libpam-ldap libnss-ldap nss-updatedb 

Balík libpam-ldap umožňuje autentifikáciu cez LDAP, libnss-ldap umožňuje získať z LDAP informácie o sedení a nss-updatedb umožňuje dočasné lokálne ukladanie databázy aby sa nezahlcovala sieť.

Počas inštalácie dostanete niekoľko otázok:

Shold debconf manage LDAP configuration? Odpovedzete Nie
LDAP client1
URI adresa LDAP servera: Zadajte server1.domenaskoly.edu.sk kde domenaskoly je meno vasej domeny v rámci #EDUnet
LDAP client2
Distinguishe name of the search base: Zadajte dc=domenaskoly, dc=edu, dc=sk
LDAP client3
Verzia LDAP: ponechajte 3
LDAP client4
Make local root databaze admin? (Urobiť lokálneho správcu správcom databázy?) Odpovedzte Nie
LDAP client5
Does LDAP database require login? (Potrebuje databáza login?) Odpvedzte Nie
LDAP client6

 

 


Konfigurácia klientov

Konfigurácia spočíva v troch krokoch

  1. Konfigurácia Name Service,
  2. konfigurácia PAM,
  3. nastavenie dočasného ukladania pričinkov Name Service (voliteľné).

Ubuntu 7.10 má nástroj, ktorým sa dajú prvé dva kroky urobiť zadaním takéhoto príkazu:

sudo auth-client-config -a -p lac_ldap 

Tu sa o nástroji dozviete viac https://wiki.ubuntu.com/AuthClientConfig

Pre staršie verzie Ubuntu a Debianu platí toto:

Konfigurácia Name Service

Pozor tento súbor needitujte ako sudo

V súbore /etc/nsswitch.conf nahraďte compat s files ldap tak aby oba riadky vyzerali takto:

passwd:         files ldap
group:          files ldap

To znamená:

  • Najskôr pozri lokálne uložené loginy (/etc/passwd a /etc/group),

  • ak nenájdeš zodpovedajúci login, použi LDAP.

Pozor BUG: Presvedčte sa či je v súbore /etc/libnss-ldap.conf alebo v novšej verzii ldapu v súbore /etc.ldap.conf nastavený parameter: bind_policy soft. Ak tam nie je spôsobí to zamrznutie pri štarte systému, tak ho tam dopíšte.

Konfigurácia PAM

 

PAM používa na kontrolu LDAP štyri centrálne súbory: common-account, common-auth, common-password a common-session. Všetky sa nachádzajú v priečinku /etc/pam.d.

Upravte súbor /etc/pam.d/common-account aby vyzeral takto:

account sufficient      pam_ldap.so
account required        pam_unix.so

Upravte súbor /etc/pam.d/common-auth aby vyzeral takto:

auth    sufficient      pam_ldap.so
auth    required        pam_unix.so nullok_secure use_first_pass

Upravte /etc/pam.d/common-password aby vyzeral takto:

password        sufficient      pam_ldap.so
password        required        pam_unix.so nullok obscure min=4 max=8 md5

Nastavenie dočasného ukladania pričinkov Name Service.

Tento krok je voliteľný a odporúčame ho robiť iba pri pomalej sieti alebo pri veľkom počte počítačov.

Aby sme predišli spomaleniu siete a urýchlili prihlásenie, môžeme použiť balíček nss-updatedb na vytvorenie lokálnej databázy používateľských mien. Najskôr teda vytvoríme lokálnu databázu a potom nastavíme intervali v akýc sa bude aktualizovať.

Takže zadajte

sudo nss_updatedb ldap

Týmto sa vytvorí databáza v priečinku /var/lib/misc/.

Teraz vytvoríme script, ktorý bude databázu automaticky aktualizovat.

Vytvoríme script nssupdate.sh v priečinku /etc/cron.hourly/ a natavíme ho spustiteľným. Mal by obsahovať toto:

#!/bin/bash
LOCK=/var/run/auth-update.cron
[ "$1" != "0" ] && [ -f $LOCK ] && [ -d /proc/"$(cat $LOCK)" ] && exit 0
echo $$ > $LOCK
RANGE=3600
[ "$1" != "" ] && RANGE=$1
SLEEP=$RANDOM
[ "$RANGE" != "0" ] && let "SLEEP %= $RANGE" || SLEEP=0
sleep $SLEEP
go=true
while $go; do
/usr/sbin/nss_updatedb ldap
[ $? -eq 0 ] && go=false
[ "$go" == "true" ] && sleep 10
done
rm $LOCK
exit 0

Aby sa dočasne uložené dáta začali používať upravme súbor edit /etc/nsswitch.conf, aby vyzeral takto:

passwd:         files ldap [NOTFOUND=return] db
group:          files ldap [NOTFOUND=return] db

To znamená:

  • Najskôr pozri lokálne uložené loginy (/etc/passwd a /etc/group),

  • ak nenájdeš zodpovedajúci login, použi LDAP,

  • ak nie je zodpovedajúci login v LDAP, skonči a neurob nič ([NOTFOUND=return]),

  • ak nie je LDAP dostupný, použi dočasnú databázu.

 

 


Konfigurácia Samby a klientov Windows

TO DO