Főoldal

2010. július 18., vasárnap

Linux mint tartományvezérlő?


A tartományvezérlők nem csak Active Directoryk lehetnek. Ugyan az M$ fejlesztette AD több funkcióval rendelkezik mint egy Samba, de az arányokon javíthatunk egy kis LDAP backendell és Kerberos támogatással. Ha mégis elsődleges tartományvezérlőként (PDC) AD-t akarunk, jó ha tudjuk, érdemes mellé egy másodlagos (BDC) is a címtár replikáció végett. A BDC lehet egy jól felípített Samba is, és akkor már egyből megspóroltunk egy egy Windows Server árát :) Végülis az AD is egy LDAP adatbázis megspékelve pár finomsággal mint a Kerberos. Én most egy Samba+OpenLDAP leírást készítenék, később lehet még kvótázással és Kerberossal bővítem.

A számítógépek tartományba rendezésének több előnye is van. A legfőbb a központi felhasználó-jogosultság-jelszó kezelés, de fontos még a megosztások, bejelentkezési helyek, idők beállítása is. Ezt egy tartományvezérlővel, legyen az AD vagy Samba egy helyen tudjuk megtenni. Sajnos a Samba 3.x verziók csak NT4-es tartományvezérlőknek számítanak, de már a 4 es verziónak elérhető alfái is vannak, ami már beépített LDAP adatbázissal, kerberossal rendelkezik és NT5-ös domain controllerként ismerik fel a kliensek.

A telepítést és alapvető konfigurálást squezeen mutatom be, a lennys csomagok kicsit outdatek.

Először az LDAP-pal kezdjünk. Az LDAP azaz Lightweigth Directory Access Protocol egy faszerkezetű adatbázist takar, amiben tulajdonságok, attribútumok alapján tudunk keresni. Az egyes dn-ekhez (distinguished name- megkülönböztető név) több különböző ObjectClass tartozhat. Az egyes ObjectClassok egy-egy kis "területet" fednek le, ezalatt az irodai adatokat, pl. telefonszám, név, vezetéknév, cím, keresztnév stb.. értem. Egy egy új schema fájllal új ObjectClassokat taníthatunk meg a szerverünkkel így a legkülönfélébb adatokat tárolhatjuk majd. Az adatok bevitelére használhatjuk az ldif formátumú szöveges fájlokat. A többféle adatbázis közül a Berkeley-t (BDB) vagy a Heimdal-t (HDB) érdemes választani. A Heimdal támogatja a subtreeket is. Az OpenLDAP démona a slapd, replákálója pedig a slurpd.

root@squezee:~# apt-get install slapd
Csomaglisták olvasása... Kész
Függőségi fa építése
Állapot adatok olvasása... Kész
...
Beállítás: slapd (2.4.17-2.1) ...
Creating new user openldap... done.
Creating initial slapd configuration... done.
_#################### 100.00% eta none elapsed none fast!
Closing DB...
done.
insserv: warning: current stop runlevel(s) (1) of script `cron' overwrites defaults (empty).
Starting OpenLDAP: slapd.


Konfiguráljuk újra a csomagot. Kérni fogja a domén nevünket, admin jelszót, LDAPv2 protokoll egedélyezését, törölje az LDAP adatbázist ha purge-al töröljük a slapdot. Mindenki döntse el mit akar választani, az LDAPv2 protokollra szerintem már nincs szükség.

root@squezee:~# dpkg-reconfigure slapd
Stopping OpenLDAP: slapd.
Moving old database directory to /var/backups:
There are leftover files in /var/lib/ldap. This will probably break
creating the initial directory. If that's the case please move away
stuff in there and retry the configuration.
Creating initial slapd configuration... done.
_#################### 100.00% eta none elapsed none fast!
Closing DB...
done.
insserv: warning: current stop runlevel(s) (1) of script `cron' overwrites defaults (empty).
Starting OpenLDAP: slapd

Ha ezzel megvagyünk jöhet a konfigfájlturkálás... Először az LDAP kliensünket állítsuk be:


root@squezee:~# nano /etc/ldap/ldap.conf

#
# LDAP Defaults
#
# See ldap.conf(5) for details
# This file should be world readable but not world writable.
HOST 127.0.0.1
BASE dc=root-tech,dc=hu
#URI ldap://ldap.example.com ldap://ldap-master.example.com:666
#SIZELIMIT 12
#TIMELIMIT 15
#DEREF never


A HOST-tal mondom meg a kliens szoftvernek hogy ezen a gépen van az LDAP szerver. A BASE az egyenlő az LDAP suffixal.

Most elő kellene teremtenünk a samba.schema nevű fájlt hogy azt a slapd.conf-ba includeolhassuk. A legegyszerűbb ha telepítjük a samba-doc csomagot:

root@squezee:~# apt-get install samba-doc
Csomaglisták olvasása... Kész
Függőségi fa építése
Állapot adatok olvasása... Kész
...
Letöltés:1 http://ftp.bme.hu squeeze/main samba-doc 2:3.4.8~dfsg-1 [8.002kB]
Letöltve 8.002kB 28s alatt (285kB/s)
Új csomag kiválasztása: samba-doc.
(Adatbázis olvasása ... Most 24893 fájl és könyvtár telepített.)
Kicsomagolás: samba-doc innen: .../samba-doc_2%3a3.4.8~dfsg-1_all.deb ...
Beállítás: samba-doc (2:3.4.8~dfsg-1) ...

Másoljuk be a schema könyvtárba, majd tömörítsük ki:

root@squezee:~# cd /etc/ldap/schema
root@squezee:/etc/ldap/schema# cp /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz .
root@squezee:/etc/ldap/schema# gunzip samba.schema.gz


Most szerkeszthetjük a slapd.conf-ot is. A samba.schema-t kell beszúrnunk az include sorok után, felvenni az indexeket, és beállítani az admin felhasználó milyen attribútumokhoz férjen hozzá.

root@squezee:/etc/ldap/schema# nano /etc/ldap/slapd.conf
...
# Schema and objectClass definitions
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/samba.schema
...
index objectClass eq
index cn pres,sub,eq
index sn pres,sub,eq
index uid pres,sub,eq
index displayName pres,sub,eq
index uidNumber eq
index gidNumber eq
index memberUID eq
index sambaSID eq
index sambaPrimaryGroupSID eq
index sambaDomainName eq
index default sub
...
access to attrs=sambaLMPassword,sambaNTPassword,sambaPWDMustChange,sambaPWDCanChange,sambaAcctFlags
by dn="cn=admin,dc=root-tech,dc=hu" write
by anonymous auth
by self write
by * none


Ezek a leglényegesebb beállítások.
Futtassunk egy slaptestet hogy minden OK-e:

root@squezee:/etc/ldap/schema# slaptest
config file testing succeeded

Az OpenLDAP beállítása megtörtént, jöhet a pam és az nsswitch.

Folytatása következik...

Nincsenek megjegyzések:

Megjegyzés küldése