Mainos / Advertisement:

Linux AD liitos

Kohteesta Taisto
Loikkaa: valikkoon, hakuun
Muut kielet:
suomi

Tässä oppaassa neuvomme sinua kuinka liität linux tietokoneen osaksi Windows Serverin Active Directory Domain Serviceä.

Esimerkissämme käytössämme on verkkoavaruus 192.168.0.0/24
Oletusyhdyskäytävänä (Default Gateway) on verkon ensimmäinen osoite eli 192.168.0.1.
Windows-palvelimen ip-osoite on 192.168.0.2 ja nimi WIN.
Linux-tietokone käyttää ip-osoitetta 192.168.0.3 ja nimeä LNX.
Toimialueen nimi on firma.local.
Linux tietokone käyttää debianin versiota 7.1.0

Jos on kirjoitettu ISOLLA KIRJAIMILLA tai pienellä, laita niin. Linux on tarkka oikeinkirjoituksista. Jos ei toimi, tarkista konfiguroinnit tarkkaan!

Palveluiden asennus

Jotta voit liittää linux tietokoneen osaksi AD:ta, sinun tarvitsee asentaa muutama ohjelmisto.

aptitude install samba winbind krb5-user ntp

NTP on vapaaehtoinen, mutta suosittelemme asentamista. Kerberos vaatii että aikaero on enintään 5 minuuttia. NTP paketti päivittää automaattisesti kellon oikeaan aikaan.

Konfigurointi

Verkko / DNS

Ensimmäiseksi määritellään linuxin verkkoasetukset oikein, jotta liitos saadaan tehtyä onnistuneesti. Linuxin pitää saada yhteys DC-palvelimeen (Domain Controller), joten /etc/network/interfaces tiedosto pitää määritellä niin, että yhteys luonnistuu.

nano /etc/network/interfaces
auto eth0
iface eth0 inet static
       address 192.168.0.3
       netmask 255.255.255.0
       gateway 192.168.0.1

Toimialueen ohjauskone (DC) hoitaa luonnollisesti myös nimipalvelimen (DNS) tehtäviä eli myös /etc/resolv.conf tiedostoa pitää muokata niin, että linux tietokone ymmärtää tehdä nimikyselyt DC:n kautta. /etc/resolv.conf tiedostoon määritellään myös mitä toimialuetta tietokone käyttää.

nano /etc/resolv.conf
search firma.local
nameserver 192.168.0.2

Tarkista että nimipalvelut toimivat molempiin suuntiin nslookupin avulla!

 nslookup win.firma.local
 nslookup 192.168.0.2

> Kun kysyt win.firma.local sen pitäisi vastata 192.168.0.2

> Kun kysyt 192.168.0.2 sen pitäisi vastata win.firma.local

Suositeltaa on pingata palvelimeen Linuxista Windowssiin IP-osoitteella ja DNS nimellä.

Samba

Seuraavaksi konfiguroimme samban. Samba on mainio ohjelmisto linuxin windows-integraatiointiin, yleisimmin se tunnetaan ehkä tiedostopalvelimena. Samban avulla voi AD-liitoksen lisäksi tehdä jopa linux-palvelimesta itsenäisen DC:n, mutta meille riittää pelkkä liitos.

nano /etc/samba/smb.conf

Samba tiedostosta tarvii löytyä ainakin seuraavat kohdat [Global] kohdan alta. Tarpeen mukaan siis lisää, tai muokkaa tiedostoa niin että sieltä löytyy nämä.

workgroup = FIRMA
realm = FIRMA.LOCAL
security = ads
idmap gid = 10000-20000
idmap uid = 10000-20000
template shell = /bin/bash
domain master = no
winbind enum users = yes 
winbind enum groups = yes 
winbind use default domain = yes
winbind nested groups = yes
encrypt passwords = yes 
log level = 5 
log file = /var/log/samba/%m 
max log size = 1000 


Tämän jälkeen samba ja winbind pitää käynnistää uudelleen

service samba  restart
service winbind restart

Nyt liitoksen pitäisi onnistua komennolla

net ads join -U administrator

Jos tulee virhe No DNS domain configured for debian. Unable to perform DNS Update, niin muokkaa seuraava tiedosto:

 nano /etc/hosts

Seuraavanlaiseksi:

 127.0.0.1 hostname.domain.local hostname.domain.com hostname

Nyt kirjautuminen pitäisi onnistua toimialueen tunnuksilla. Kuitenkaan integraatio ei ole vielä kovin syvällinen. /etc/pam.d/ hakemiston alta löytyy kirjautumiseen vaikuttavia asetustiedostoja. Nyt käymme lisäämässä yhden rivin common-session tiedostoon, jotta linuxiin syntyisi käyttäjille kotikansiot sisäänkirjautuessa.

nano /etc/pam.d/common-session

Lisää tämä rivi konfiguraatiotiedoston alkuun:

session required          pam_mkhomedir.so umask=0077 skel=/etc/skel/

Kerberos

Asennusohjelma kysyy seuraavia:

Workgroup/domain -> firma.local

Kerberos servers for your realm -> win.firma.local

Administrative server for your Kerberos realm -> win.firma.local

Avaa seuraava tiedosto ja tarkista että on määritetty oikein

 nano /etc/krb5.conf
 [realms]
     SKILLS.LOCAL = {
     kdc = win.firma.local
     admin_server = win.firma.local
     default_domain = firma.local
     }
     [domain_realm]
      .firma.local = FIRMA.LOCAL
     firma.local = FIRMA.LOCAL

Nsswitch

Nsswitch.conffista voimme määritellä mitä tiedostoja linux käyttää ensisijaisesti käyttäjien kohdalla. Käymme siis muokkaamassa nsswitch.conf tiedostoa niin että linux käyttää ensisijaisesti winbindiä käyttäjätiedostoja hakiessa.

nano /etc/nsswitch.conf
passwd:        files winbind
group:         files winbind
shadow:        compat

NTP - Kello

On hyödyllistä käydä muuttamassa /etc/ntp/ntp.conf tiedostoa niin, että linux käyttää DC:tä aikapalvelimenaan. Liitos voi kuitenkin onnistua vaikka tätä ei tekisi, mutta jos DC ja clientti (asiakastietokone) jostain syystä joskus joutuvat eri aikaan, niin integraatio ei toimi kunnolla.

nano /etc/ntp.conf

Käy asettamassa windows-palvelimen ip-osoite kohtaan jossa on muitakin servereitä lueteltuna.

server 192.168.0.2

Jos et asentanut NTP aikapalvelinta, laita palvelimesi oikeaan aikaan seuraavalla komennolla

 date --set 1998-11-02 
 date --set 21:08:00

HUOM!! Jos käytät graafista linuxia, niin avahi-daemonista voi koitua harmia. Poista se tarvittaessa komennolla

aptitude purge remove avahi-daemon

Testaus

Muista testata palvelun toimivuus seuraavilla komennoilla

Winbind testaus

Käyttäjätilien testaus:

 wbinfo -u

Käyttäjäryhmien testaus:

 wbinfo -g

Tarkista onko toimialueen ohjauskone saatavilla

root@debian:# wbinfo --ping-dc
checking the NETLOGON dc connection succeeded

Testaa kirjautuminen winbind:

root@debian:#wbinfo --pam-logon=DOMAIN\\user
Enter DOMAIN\user's password:
plaintext password authentication succeeded
  • NT_STATUS_WRONG_PASSWORD = Virheellinen salasana
  • NT_STATUS_NO_SUCH_USER = Tuntematon käyttäjä

Testaan Nsswitch

 getent passwd


 getent group

kerberoksen testaus

 kinit administrator@FIRMA.LOCAL

Samban jaon oikeudet AD:ssa

Jakojen oikeudet voidaan määritellä valid users ja write list-parametrien avulla. Parametrit hyväksyvät sekä käyttäjiä että ryhmiä. Ryhmät täytyy merkitä @-merkillä.

 [SHARE]
      path = /home/share
      valid users = @domain.local+"powerusers", domain.local+bill
      write list = @domain.local+"admins"

Kirjautumisrajoitukset

PAM voidaan konfiguroida sallimaan vain tietyn käyttäjäryhmän kirjautumiset:

 /etc/pam.d/common-auth 
 auth sufficient pam_unix.so nullok_secure 
 auth required pam_succeedif.so user ingroup admins

Hallinta

Windowssin AD ja Linuxin liitos hallinta on erilaista kuin Windows työasemien. Eikä tämä liitos ole edes täydellinen, joten tässä hieman ohjeita.

Useita AD hallintaan liittyvät löytyy tälläisen komennon alta:

 net ads

Tämän komennon alta näet AD:n tilan

 net ads status

Linuxin poistaminen AD:sta

 net ads leave -U Administrator

Tämän jälkeen muutat konfiguroinnit alkuperäiseen.

Ongelmanratkaisu

 Error looking up domain users

-> Käynnistä winbind uudelleen

Aiheeseen liittyvää

Apache + PAM Autentikointi

Muita hyödyllisiä linkkejä

http://www.heikkiniemi.fi/files/Linux-AD-integrointi.pdf

Mainos / Advertisement: