Differences between revisions 1 and 2
Revision 1 as of 2007-10-16 16:13:05
Size: 69
Editor: LittleLion
Comment:
Revision 2 as of 2007-10-16 16:15:13
Size: 5564
Editor: LittleLion
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Ubuntun käyttäminen Active Directory (aktiivihakemisto):n kanssa. ____'''Ubuntun liittäminen Active Directoryyn'''
Monissa yrityksissä käytetään nykyään Active Directoryä keskitetyyn käyttäjien ja oikeuksien hallintaan. Tästä johtuen ensimmäinen edellytys Linuxin käyttöönottamiseksi edes osassa koneista on, että myös Linux koneet saadaan liitettyä AD:n. Internetissä on paljon ohjeita siihen miten tuo asia toteutetaan, mutta mielestäni niissä ei ole selitetty riittävän tarkasti, että mitä kaikkea Linuxin liittämiseksi AD:n tulee olla kunnossa ja miksi. Yritän nyt tällä howtolla korjata tätä ongelmaa.

Tässä ohjeessa käytetään toimialuetta(domain): '''ad.firma.fi''' ja toimialueen ohjauskoneena(domain controller) toimii windows palvelin nimeältään: '''server1'''
Huomaa, että konfiguraatio tiedostoissa tekstin koolla on väliä eli jos mallissa joku asetus on kirjoitettu isolla se tulee kirjoittaa isolla.


1. Asennettaan tarvittavat paketit:


{{{
apt-get install krb5-user winbind samba ntpdate libpam-modules}}}

Kaikki nämä paketit tarvitaan, jotta AD:n liittäminen ja sen osana toimiminen onnistuisivat.

2. Testataan, että DNS kyselyt toimivat molempiin suuntiin. (nimestä IP:ksi ja IP:stä nimeksi)
{{{
nslookup server1.ad.firma.fi}}}


Vastauksen pitäisi näyttää jota kuinkin 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 elin ehto.

3. Konfiguroidaan Linux päivittämään kellonaika AD-palvelimelta viiden minuutin välein lisäämällä tiedostoon'''/etc/crontab'''rivi:
{{{
*/5 * * * * root ntpdate server1.ad.firma.fi}}}

Kerberos authentikointi vaatii, että clientin kellonajan tulee olla riittävän lähellä serverin kellon aikaa. Tästä johtuen kellonaikaa joudutaan synkronoimaan clienteissa serverin aikaan.

4. Konfiguroidaan kerberos laittamalla 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ö asiasta:http://www.it.lut.fi/kurssit/01-02/010628000/semmat/Kerberos.pdf

5. Testataan kerberosin toiminta komennolla:
{{{
kinit administrator@AD.FIRMA.FI}}}

Kerberos pyytää administratorin salasanaa ja jos sen syöttämisen jälkeen ei tule virheilmotuksia kerberos authentikointi onnistui ja voit jatkaa kohtaan kuusi.

6. Konfiguroidaan Samba ja Winbind 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:ia käyttäjätietojen hallintaan. Käyttäjätietojen hakeminen AD:stä on mahdollista myös LDAP:in avulla, mutta koska se on erittäin monimutkainen konfiguroida on sambaan kehitetty winbind lisäosa joka on tarkoitettu AD:n liittymiseen.

Ylläoleva konfiguraatio siis vain sallii winbind (AD) tunnusten käyttämisen Linuxin palveluille eikä jaa mitään samban avulla, mutta samalla nuo asetus rivit mahdollistavat resurssien jakamisen samballa niin, että AD käyttäjät voivat niitä käyttää.

Testataan samba konfiguraation toimivuus komennolla:'''testparm'''jos testparm ei anna virheilmoituksia on samban konfiguraatiotiedosto kirjoitettu oikein (=ei kirjoitusvirheitä).

Käynnistetään samba ja winbind uudelleen, jotta asetukset tulevat voimaan.
{{{
/etc/init.d/samba restart
/etc/init.d/winbind restart}}}


7. Liitetään Linux Active Directoryyn
{{{
net ads join -U administrator@AD.FIRMA.FI}}}


8. Testataan winbind toiminta.
Komennoilla:'''wbinfo -u'''ja'''wbinfo -g'''pitäisi näkyä AD:n käyttäjät ja ryhmät jos näin on voit jatkaa kohtaan yhdeksän.

9. Sallitaan Linuxin tarkistaa käyttäjät ja ryhmät käyttäen apuna winbindiä.
Lisätään tiedostoon'''/etc/nsswitch.conf'''kahdelle ensimmäiselle riville winbind sanat niin, että nuo rivit näyttävät sen jälkeen tältä.
{{{
passwd: compat winbind
group: compat winbind}}}


10. Sallitaan Linux koneeseen kirjautuminen AD tunnuksilla
Lisää tiedoston:'''/etc/pam.d/common-auth'''alkuun rivi:
{{{
auth sufficient pam_winbind.so}}}


Lisää tiedoston:'''/etc/pam.d/common-account'''alkuun rivi:
{{{
account sufficient pam_winbind.so}}}


Sallitaan AD:n käyttäjien kotihakemistojen luominen lisäämällä tiedoston:'''/etc/pam.d/common-session'''alkuun rivi:
{{{
session required pam_mkhomedir.so}}}


Luodaan AD:n käyttäjien kotihakemistoille hakemisto:
{{{
mkdir /home/AD}}}



Linux käyttää PAM:ia erilaisten authentikointi menetelmien liittämiseksi palveluihin. Eli PAM:in avulla voidaan määrittää mitä authentikointi tapaa 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

Ubuntun liittäminen Active Directoryyn Monissa yrityksissä käytetään nykyään Active Directoryä keskitetyyn käyttäjien ja oikeuksien hallintaan. Tästä johtuen ensimmäinen edellytys Linuxin käyttöönottamiseksi edes osassa koneista on, että myös Linux koneet saadaan liitettyä AD:n. Internetissä on paljon ohjeita siihen miten tuo asia toteutetaan, mutta mielestäni niissä ei ole selitetty riittävän tarkasti, että mitä kaikkea Linuxin liittämiseksi AD:n tulee olla kunnossa ja miksi. Yritän nyt tällä howtolla korjata tätä ongelmaa.

Tässä ohjeessa käytetään toimialuetta(domain): ad.firma.fi ja toimialueen ohjauskoneena(domain controller) toimii windows palvelin nimeältään: server1 Huomaa, että konfiguraatio tiedostoissa tekstin koolla on väliä eli jos mallissa joku asetus on kirjoitettu isolla se tulee kirjoittaa isolla.

1. Asennettaan tarvittavat paketit:

apt-get install krb5-user winbind samba ntpdate libpam-modules

Kaikki nämä paketit tarvitaan, jotta AD:n liittäminen ja sen osana toimiminen onnistuisivat.

2. Testataan, että DNS kyselyt toimivat molempiin suuntiin. (nimestä IP:ksi ja IP:stä nimeksi)

nslookup server1.ad.firma.fi

Vastauksen pitäisi näyttää jota kuinkin 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 elin ehto.

3. Konfiguroidaan Linux päivittämään kellonaika AD-palvelimelta viiden minuutin välein lisäämällä tiedostoon/etc/crontabrivi:

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

Kerberos authentikointi vaatii, että clientin kellonajan tulee olla riittävän lähellä serverin kellon aikaa. Tästä johtuen kellonaikaa joudutaan synkronoimaan clienteissa serverin aikaan.

4. Konfiguroidaan kerberos laittamalla tiedostoon/etc/krb5.confrivit:

[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ö asiasta:http://www.it.lut.fi/kurssit/01-02/010628000/semmat/Kerberos.pdf

5. Testataan kerberosin toiminta komennolla:

kinit administrator@AD.FIRMA.FI

Kerberos pyytää administratorin salasanaa ja jos sen syöttämisen jälkeen ei tule virheilmotuksia kerberos authentikointi onnistui ja voit jatkaa kohtaan kuusi.

6. Konfiguroidaan Samba ja Winbind 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:ia käyttäjätietojen hallintaan. Käyttäjätietojen hakeminen AD:stä on mahdollista myös LDAP:in avulla, mutta koska se on erittäin monimutkainen konfiguroida on sambaan kehitetty winbind lisäosa joka on tarkoitettu AD:n liittymiseen.

Ylläoleva konfiguraatio siis vain sallii winbind (AD) tunnusten käyttämisen Linuxin palveluille eikä jaa mitään samban avulla, mutta samalla nuo asetus rivit mahdollistavat resurssien jakamisen samballa niin, että AD käyttäjät voivat niitä käyttää.

Testataan samba konfiguraation toimivuus komennolla:testparmjos testparm ei anna virheilmoituksia on samban konfiguraatiotiedosto kirjoitettu oikein (=ei kirjoitusvirheitä).

Käynnistetään samba ja winbind uudelleen, jotta asetukset tulevat voimaan.

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

7. Liitetään Linux Active Directoryyn

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

8. Testataan winbind toiminta. Komennoilla:wbinfo -ujawbinfo -gpitäisi näkyä AD:n käyttäjät ja ryhmät jos näin on voit jatkaa kohtaan yhdeksän.

9. Sallitaan Linuxin tarkistaa käyttäjät ja ryhmät käyttäen apuna winbindiä. Lisätään tiedostoon/etc/nsswitch.confkahdelle ensimmäiselle riville winbind sanat niin, että nuo rivit näyttävät sen jälkeen tältä.

passwd:         compat winbind
group:          compat winbind

10. Sallitaan Linux koneeseen kirjautuminen AD tunnuksilla Lisää tiedoston:/etc/pam.d/common-authalkuun rivi:

auth    sufficient      pam_winbind.so

Lisää tiedoston:/etc/pam.d/common-accountalkuun rivi:

account sufficient      pam_winbind.so

Sallitaan AD:n käyttäjien kotihakemistojen luominen lisäämällä tiedoston:/etc/pam.d/common-sessionalkuun rivi:

session required        pam_mkhomedir.so

Luodaan AD:n käyttäjien kotihakemistoille hakemisto:

mkdir /home/AD

Linux käyttää PAM:ia erilaisten authentikointi menetelmien liittämiseksi palveluihin. Eli PAM:in avulla voidaan määrittää mitä authentikointi tapaa 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