Active Directory

Linux.fista
Versio hetkellä 5. helmikuuta 2009 kello 01.24 – tehnyt Jarkko (keskustelu | muokkaukset) (→‎Linuxin liittäminen Active Directory -verkkoon: pilkun siirto)
Siirry navigaatioon Siirry hakuun

Active Directory (AD) on käyttäjätietokanta ja hakemistopalvelu, jolla hallitaan verkon käyttäjiä, tietokoneita ja eri resursseja. Se mahdollistaa keskitetyn resurssien jakamisen käyttäjille ja sovelluksille ja tarjoaa myös tavan nimetä, kuvata, paikallistaa, hallita ja suojata verkon resursseja.

Active Directoryä käytetään etenkin monissa yrityksissä. Linuxissa Active Directoryn käyttö onnistuu Samban avulla. Windows-puolella Windows Server 2000 ja 2003 sisältävät Active Directory -palvelimen.

Linuxin liittäminen Active Directory -verkkoon

Seuraavassa toimialueeena (domain) palvelinta ad.firma.fi ja toimialueen ohjauskoneena (domain controller) toimii Windows-palvelin nimeältään server1.

Huomaa, että asetustiedostoissa tekstin koolla on väliä, eli jos mallissa joku asetus on kirjoitettu isolla, se tulee kirjoittaa asetustiedostoon isoilla kirjaimilla

Aluksi on asennettava tarvittavat ohjelmat. Debian-pohjaisissa järjestelmissä on asennettava paketit krb5-user winbind samba ntpdate ja libpam-modules. Muista jakeluista löytynee paketit suunnilleen samoilla nimillä. Lisätietoja pakettien asentamisesta löytyy artikkelista Ohjelmien asentaminen.

Seuraavaksi tarkistetaan verkon toimivuus testaamalla, että DNS-kyselyt toimivat molempiin suuntiin (nimestä IP-osoitteeksi ja päinvastoin) komentamalla

nslookup server1.ad.firma.fi

Tuloksen pitäisi näyttää jotakuinkin tältä:

Server:         10.0.0.10
Address:        10.0.0.10#53

Name:   server1.ad.firma.fi
Address: 10.0.0.10

AD käyttää DNS:ää nimien selvitykseen ja toimiva DNS palvelin on AD:n elinehto.

AD-verkon koneella on oltava sama kellonaika kun AD-palvelimella ongelmien välttämiseksi. Tämä varmistetaan asettamalla Linux päivittämään kellonaika AD-palvelimelta esimerkiksi viiden minuutin välein. Tämä tapahtuu lisäämällä ajoitetun tehtävän cronille komentamalla pääkäyttäjänä

crontab -e

ja lisäämällä aukeavassa tekstieditorissa tiedostoon rivin

*/5 *   * * *   root    ntpdate server1.ad.firma.fi

Tehdään seuraavaksi Kerbos5-järjestelmän asetukset lisäämällä tiedostoon /etc/krb5.conf rivit:

[libdefaults]
default_realm = AD.FIRMA.FI

[realms]
AD.FIRMA.FI = {
   kdc = server1.ad.firma.fi
   admin_server = server1.ad.firma.fi
   default_domain = ad.firma.fi
}

[domain_realm]
.ad.firma.fi = AD.FIRMA.FI
ad.firma.fi = AD.FIRMA.FI

AD:ssä oikeuksien välitys tietokoneesta toiseen hoidetaan Kerberoksen avulla. Siitä johtuen myös Linux-kone tulee asentaa käyttämään Kerberossia. Jos olet kiinnostunut siitä, mikä kerberos tarkemmin sanottuna on ja mitä se tekee, niin kannattaa lukea tämä seminaarityö: http://www.it.lut.fi/kurssit/01-02/010628000/semmat/Kerberos.pdf

Kerberosin toiminta voidaan testata komennolla:

kinit administrator@AD.FIRMA.FI

Kerberos pyytää tämän jälkeen verkon pääkäyttäjän (Administratorin) salasanaa ja jos sen syöttämisen jälkeen ei tule virheilmoituksia, niin Kerberoksen tunnistautuminen onnistui ja voidaan jatkaa eteenpäin.

Seuraavaksi tehdään Samban ja Winbindin asetukset tiedostoon /etc/samba/smb.conf:

[global]
        security = ads
        realm = AD.FIRMA.FI
        workgroup = AD
        idmap uid = 10000-20000
        idmap gid = 10000-20000
        winbind use default domain = yes
        domain master = no
        template shell = /bin/bash

AD käyttää sisäisesti LDAP:ta käyttäjätietojen hallintaan. Käyttäjätietojen hakeminen AD:stä on mahdollista myös LDAP:in avulla, mutta koska sen käyttöönotto on hyvin monimutkaista on Sambaan kehitetty winbind-lisäosa, joka on tarkoitettu AD-verkkoon liittymiseen.

Ylläoleva asetustiedosto sallii winbind (AD) -tunnusten käyttämisen Linuxin palveluille eikä jaa automaattisesti mitään tiedostoja tai resursseja Samban avulla. Samalla asetukset kuitenkin mahdollistavat resurssien jakamisen Samballa niin, että AD käyttäjät voivat niitä käyttää.

Samban asetusten toimivuus testataan komennolla:

testparm 

Jos se ei anna virheilmoituksia on Samballa toimivat asetukset. Samba ja Winbind on käynnistettävä uudelleen, jotta asetukset tulisivat voimaan:

/etc/init.d/samba restart
/etc/init.d/winbind restart

Seuraavaksi voidaan liittyä AD-verkkoon komennolla

net ads join -U administrator@AD.FIRMA.FI

Nyt Winbindin toiminta voidaan testata komennoilla

wbinfo -u

ja

wbinfo -g

joiden pitäisi näyttää AD:n käyttäjät ja ryhmät.

Mahdollistetaan seuraavaksi se, että järjestelmä voi tarkistaa käyttäjät ja ryhmät Winbindin avulla: lisätään tiedostoon /etc/nsswitch.conf kahdelle ensimmäiselle riville winbind-sanat siten, että nuo rivit näyttävät tältä:

passwd:         compat winbind
group:          compat winbind

Nyt voidaan mahdollistaa sisäänkirjautuminen AD-tunnuksilla lisäämällä kirjautumishallinta PAM:in asetuksiin tiedoston /etc/pam.d/common-auth alkuun rivi

auth	sufficient	pam_winbind.so

ja tieodoston /etc/pam.d/common-account alkuun rivi

account	sufficient	pam_winbind.so

Vielä on sallittava AD:n käyttäjien kotihakemistojen luominen lisäämällä tiedoston /etc/pam.d/common-session alkuun rivi:

session	required	pam_mkhomedir.so

Tähän liittyen luodaan vielä lopuksiAD:n käyttäjien kotihakemistoille hakemisto /home/AD:

mkdir /home/AD

Linux käyttää PAM:ia erilaisten tunnistamismenetelmien liittämiseksi palveluihin. Eli PAM:in avulla voidaan määrittää mitä tapaa käyttäjän tunnistamiseen mikäkin palvelu käyttää. Jos olet kiinnostunut tietämään tarkemmin mikä PAM on ja miten se toimii kannattaa lukea tämä seminaarityö aiheesta: http://www.it.lut.fi/kurssit/01-02/010628000/semmat/pam.pdf

Nyt koneen pitäisi olla liitetty AD-verkkoon ja sisäänkirjautumisen pitäisi onnistua AD-verkon tunnuksilla.