Active Directory

Kohteesta Linux.fi
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 Realmd:n tai Samban avulla. Windows-puolella Windows Server 2000, 2003, 2008 sekä 2012 sisältävät Active Directory -palvelimen.

Realmd[muokkaa]

Realmd mahdollistaa Linux-koneen liittämisen AD:seen helposti. Aloitetaan asentamalla realmd ja muut tarvittavat paketit, jotka ovat Ubuntulla (ainakin 14.04) realmd samba-common-bin sssd-tools ssd libnss-sss libpam-sss.

Varmista, nslookup komennolla, että DNS löytää Windows-palvelimen. Liitä kone domainiin komennolla sudo realm --verbose join domaini.lo -u Administrator. Administrator voidaan korvata myös muulla käyttäjällä, jolla on oikeus liittää koneita domainiin.

Kokeile toiminta komennolla getent passwd 'DOMAINI\Administrator'. Administratorin voi korvata millä tahansa käyttäjällä. Vastaukseksi pitäisi tulla passwd-rivi muodossa

 käyttäjä@domain.lo:*:numeroita:numeroita:käyttäjä:/home/domain/käyttäjä:/bin/bash

Seuraavaksi lightdm:n asetuksissa pitää sallia sisäänkirjautuminen muillekin, kuin käyttäjäluettelossa oleville käyttäjille. Muokataan tiedostoa /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf (14.04:ää vanhemmilla eri tiedosto, jonka nimi pitäisi mainita myös.)

 greeter-show-manual-login=true

Jäljellä on vain kotikansioiden luonnin käyttöönottaminen. Muokkaa tiedostoa /etc/pam.d/common-session ja lisää sinne päällimmäiseksi rivi:

 session	required	pam_mkhomedir.so

Käynnistä uudelleen ja sisäänkirjautumisruudussa pitäisi olla uusi vaihtoehto "login". Anna sinne käyttäjätunnukseksi käyttäjä@domain.lo ja sisäänkirjautumisen pitäisi onnistua.

ntp[muokkaa]

Viimeiseksi NTP pitäisi asettaa synkronoimaan aika Windows-palvelimelta. Aloita asentamalla paketti ntp ja muokkaa tiedostoa /etc/ntp.conf. Kommentoi ulos kaikki rivit, jotka alkavat server ja lisää sinne rivi server WINDOWSIN_IP. Tallenna ja käynnistä ntp uudelleen

 service ntp restart

Samba[muokkaa]

Linuxin liittäminen Active Directory -verkkoon[muokkaa]

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ä lopuksi AD: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.