Differences between revisions 2 and 9 (spanning 7 versions)
Revision 2 as of 2007-10-16 16:15:13
Size: 5564
Editor: LittleLion
Comment:
Revision 9 as of 2007-10-16 19:22:53
Size: 5726
Editor: LittleLion
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
____'''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.
= Ubuntun käyttäminen osana aktiivihakemistoa (Active Directory) =
Line 4: Line 3:
Tässä ohjeessa käytetään toimialuetta(domain): '''ad.firma.fi''' ja toimialueen ohjauskoneena(domain controller) toimii windows palvelin nimeältään: '''server1''' Monissa yrityksissä käytetään nykyään Active Directoryä keskitettyyn käyttäjien ja oikeuksien hallintaan.
Tästä johtuen ensimmäinen edellytys Linuxin käyttöönottamiseksi edes osassa koneista on, että myös Linux koneita pystytään käyttämään osana AD:tä.
Tässä ohjeessa käytetään toimialuetta (domain): '''ad.firma.fi''' ja toimialueen ohjauskoneena (domain controller) toimii Windows palvelin nimeältään '''server1'''
Line 7: Line 9:
== Ubuntun liittäminen AD:n ==
Line 9: Line 11:

Line 13: Line 13:
Line 17: Line 16:

Nimestä IP:ksi:
Line 19: Line 20:
Line 29: Line 29:
AD käyttää DNS:ää nimien selvitykseen ja toimiva DNS palvelin on AD:n elin ehto. IP:stä nimeksi:
{{{
nslookup 10.0.0.10}}}
Line 31: Line 33:
3. Konfiguroidaan Linux päivittämään kellonaika AD-palvelimelta viiden minuutin välein lisäämällä tiedostoon'''/etc/crontab'''rivi: Vastauksen pitäisi näyttää jota kuinkin tältä:
{{{
Server: 10.0.0.10
Address: 10.0.0.10#53

10.0.0.10.in-addr.arpa name = server1.ad.firma.fi.}}}

''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:
Line 35: Line 47:
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. Kerberos authentikointi vaatii, että clienttien kellonajan tulee olla riittävän lähellä serverin kellon aikaa. Tästä johtuen kellonaikaa joudutaan synkronoimaan clienteissa serverin aikaan.
Line 37: Line 49:
4. Konfiguroidaan kerberos laittamalla tiedostoon'''/etc/krb5.conf'''rivit: Oletuksena AD ympäristössä kellonaika saa heittää maksimissaan viisi minuuttia.


4. Konfiguroidaan kerberos laittamalla tiedostoon'''/etc/krb5.conf '''rivit:
Line 54: Line 69:
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
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
Line 61: Line 78:
Line 78: Line 96:
Testataan samba konfiguraation toimivuus komennolla:'''testparm'''jos testparm ei anna virheilmoituksia on samban konfiguraatiotiedosto kirjoitettu oikein (=ei kirjoitusvirheitä). Testataan samba konfiguraation toimivuus komennolla: '''testparm''' jos testparm ei anna virheilmoituksia on samban konfiguraatiotiedosto kirjoitettu oikein (=ei kirjoitusvirheitä).
Line 86: Line 104:
7. Liitetään Linux Active Directoryyn 7. Liitetään Ubuntu AD:n
Line 91: Line 109:
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.
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.
Line 94: Line 111:
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ä.

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ä.
Line 101: Line 118:
10. Sallitaan Linux koneeseen kirjautuminen AD tunnuksilla
Lisää tiedoston:'''/etc/pam.d/common-auth'''alkuun rivi:
10. Sallitaan Linux koneeseen kirjautuminen AD tunnuksilla Lisää tiedoston:'''/etc/pam.d/common-auth '''alkuun rivi:
Line 104: Line 120:
auth sufficient pam_winbind.so}}} auth    sufficient      pam_winbind.so}}}
Line 106: Line 122:
Lisää tiedoston:''' /etc/pam.d/common-account '''alkuun rivi:
{{{
account sufficient pam_winbind.so}}}
Line 107: Line 126:
Lisää tiedoston:'''/etc/pam.d/common-account'''alkuun rivi: Sallitaan AD:n käyttäjien kotihakemistojen luominen lisäämällä tiedoston:''' /etc/pam.d/common-session '''alkuun rivi:
Line 109: Line 128:
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}}}
session required pam_mkhomedir.so}}}
Line 121: Line 134:

Ubuntun käyttäminen osana aktiivihakemistoa (Active Directory)

Monissa yrityksissä käytetään nykyään Active Directoryä keskitettyyn käyttäjien ja oikeuksien hallintaan. Tästä johtuen ensimmäinen edellytys Linuxin käyttöönottamiseksi edes osassa koneista on, että myös Linux koneita pystytään käyttämään osana AD:tä. 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.

Ubuntun liittäminen AD:n

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)

Nimestä IP:ksi:

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

IP:stä nimeksi:

nslookup 10.0.0.10

Vastauksen pitäisi näyttää jota kuinkin tältä:

Server:         10.0.0.10
Address:        10.0.0.10#53

10.0.0.10.in-addr.arpa   name = server1.ad.firma.fi.

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ä clienttien kellonajan tulee olla riittävän lähellä serverin kellon aikaa. Tästä johtuen kellonaikaa joudutaan synkronoimaan clienteissa serverin aikaan.

Oletuksena AD ympäristössä kellonaika saa heittää maksimissaan viisi minuuttia.

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 Ubuntu AD:n

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