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



Tulostimien jakaminen ja hallitseminen AD ympäristössä

Linux soveltuu erittäin hyvin tiedostojen ja tulostimien jakamiseen ja siihen onkin paljon ohjeita, mutta koska Suomessa suurimmassa osassa yrityksistä on käytössä ns AD ympäristö täytyy tulostimien käyttäminen ja hallitseminen onnistua myös suoraan Windows koneilta käsin.


1. Liitä Ubuntu AD:n


2. Asennetaan tarvittavat paketit:

sudo apt-get install cupsys


3. Muokkaa tiedostoa /etc/cups/cupsd.conf seuraavasti:

Määritetään cupsin hallintaryhmäksi Domain Admins ryhmä

SystemGroup "AD\domain admins"

Määritetään cups vastaanottamaan saapuva liikenne:

Listen *:631

Sallitaan hallinta paikallisesta verkosta

# Restrict access to the server...
<Location />
  Order allow,deny
  Allow localhost
  Allow from 10.0.0.0/24
</Location>

# Restrict access to the admin pages...
<Location /admin>
  Encryption Required
  Order allow,deny
  Allow localhost
  Allow from 10.0.0.0/24
</Location>

# Restrict access to configuration files...
<Location /admin/conf>
  AuthType Basic
  Require user @SYSTEM
  Order allow,deny
  Allow localhost
  Allow from 10.0.0.0/24
</Location>


4. Käynnistetään cupsys uudelleen

sudo /etc/init.d/cupsys restart

Nyt tulostimien hallinta pitäisi onnistua paikallisilta koneilta webbihallinnan kautta osoitteessa: https://server1.ad.firma.fi:631 ja konfigurointiin vaadittaviksi tunnuksiksi pitäisi kelvata mikä tahansa Domain Adminin tunnus.


5. Muokataan tiedostoa /etc/samba/smb.conf seuraavasti:

Määritetään tulostuksessa käytettävän cupsys palvelua

printing = cups
printcap name = cups}}

Jaetaan tulostimet ja tulostin ajurit windows koneille.
{{{
[printers]
   comment = All Printers
   browseable = no
   path = /var/spool/samba
   printable = yes
   public = no
   writable = no
   create mode = 0700

[print$]
   comment = Printer Drivers
   path = /var/lib/samba/printers
   browseable = yes
   read only = yes
   guest ok = no
   write list = @"AD\domain admins"

"write list" rivi sallii Domain Adminien lisätä ajureita Linux serverin ajuri jakoon.


6. Lisätään Domain Admins ryhmälle kirjoitusoikeudet ajuri kansioon

chown :"domain admins" /var/lib/samba/printers -R
chmod 0775 /var/lib/samba/printers -R


7. Käynnistetään samba uudelleen

sudo /etc/init.d/samba restart

Nyt AD käyttäjien pitäisi pystyä käyttämään cupsiin määritettyjä tulostimia. Ja Domain Adminien pitäisi pystyä lisäämään Windowseille jaettavat ajurit Linuxin ajurijakoon.

Ajureiden lisäys onnistuu näin:

  1. Mene Windows koneella osoitteeseen: \\server1
  2. Avaa kansio Printers and Faxes
  3. Paina "tyhjällä" hiiren oikeaa näppäintä ja valitse: Server Properties
  4. Drivers --> Add...