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:
- Mene Windows koneella osoitteeseen: \\server1
- Avaa kansio Printers and Faxes
- Paina "tyhjällä" hiiren oikeaa näppäintä ja valitse: Server Properties
Drivers --> Add...