Active Directory
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 ja 2003 sisältävät Active Directory -palvelimen.
Realmd
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=
Viimeiseksi NTP pitäisi asettaa synkronoimaan aika Windows-palvelimelta.
Samba
Linuxin liittäminen Active Directory -verkkoon
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ä lopuksiAD: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.