Ubuntu 9.04 Samba szerver Active Directory integrációval

A következő leírásban bemutatom, hogyan tudunk egy Ubuntu Linuxra (vagy a megfelelő csomagok telepítésével bármely Linuxra) telepített Samba fájlkiszolgálót integrálni a Windows Active Directoryval, így megvalósítva a központi felhasználó azonosítást.

Szükségünk lesz egy telepített, frissített, beállított Ubuntu 9.04 Server telepítésre.
Szerezzünk root jogú konzolt:

sudo -s

Telepítsük a samba és kerberos csomagokat

apt-get install samba krb5-user winbind

Szerkesztenünk kell a /etc/krb5.conf fájlt. Először csináljunk erről egy mentést a fájlról, hogy ha kell vissza tudjuk állítani az eredeti állapotot

cp /etc/krb5.conf /etc/krb5.conf.bak

Majd nyissuk meg kedvenc szerkesztőnkkel a fájlt szerkesztésre (én az mceditet használom, de lehetne használni a nanot is)

mcedit /etc/krb5.conf

A fájl tartalma a következő legyen. Értelemszerűen a tartomany.local domain nevet írjuk át a saját Active Directory tartománynevünkre. A gep.tartomany.local gépevet pedig egy AD szerver hostnevére írjuk át.

[logging]
default = FILE:/var/log/krb5.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmin.log
[libdefaults]
default_realm = tartomany.local
dns_lookup_realm = false
dns_lookup_kdc = true
ticket_lifetime = 24000
[realms]
tartomany.local = {
kdc = gep.tartomany.local
admin_server = gep.tartomany.local
default_domain = tartomany.local }
[domain_realm]
.example.net = tartomany.local
example.net = tartomany.local

Ha ez megvan akkor mentsük a fájlt. mceditben az F10 lenyomásával tudjuk menteni és kilépni, nanoban a CTRL+X lenyomásával.
Teszteljük a Kerberos azonosítást:

kinit rendszergazda@tartomany.local

A rendszergazda egy létező, tartományi rendszergazdai jogokkal rendelkező felhasználó legyen, a kukac után pedig a tartománynév kerüljön. Be fogja kérni a felhasználó jelszavát, azt adjuk meg.
Ezután adjuk ki a következő parancsot:

klist

Ilyesmit kell látnunk:

Ticket cache: FILE:/tmp/krb5cc_0
Default principal: rendszergazda@tartomany.local
Valid starting          Expires                  Service principal
08/06/09 12:09:34 08/06/09 22:09:39  krbtgt/tartomany.local@tartomany.local
                 renew until 08/07/09  12:09:34
Kerberos  4 ticket cache: /tmp/tkt0
klist: You have no tickets cached

A lényeg, hogy legyen egy érvényes kerberos “jegyünk”.
Most szerkesszük a Samba konfigurációs fájlját. De előtt erről is csináljunk egy mentést:

cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

Most akkor nyissuk meg szerkesztésre

mcedit /etc/samba/smb.conf

Töröljük ki a meglévő tartalmat és a következőt írjuk be (tartomány.local helyett a saját tartománynevünket írjuk, tartomány helyett pedig a NetBIOS nevet):

#/etc/samba/smb.conf
[global]
workgroup = tartomany
realm = tartomany.local
netbios name = yourservername
server string = %h szerver (Samba %v, Ubuntu)
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
security = ADS
domain master = no
idmap uid = 10000-20000
idmap gid = 10000-20000
template shell = /bin/bash
template homedir = /home/%D/%U
winbind enum groups = yes
winbind enum users = yes
winbind use default domain = yes
winbind separator = +
usershare allow guests = yes

Mentsük a fájlt, majd a testparm parancs kiadásával ellenőrizzük, hogy helyes e a fájl szintaktikája (nem gépeltünk e el valamit).
Ha minden jó, indítsuk újra a samba és winbind szolgáltatásokat:

/etc/init.d/winbind stop
/etc/init.d/samba restart
/etc/init.d/winbind start

Most csatlakoztassuk a tartományhoz az Ubuntunkat:

net ads join -U rendszergazda@tartomány.local

A Windows tartományi rendszergazda jelszavának megadása után hasonlót kell látnunk, ha sikeres a csatlakozás:

Using short domain name - tartomany
Joined 'gepnev' to realm 'tartomany.local' 

Most állítsuk be, hogy a rendszer is az AD-ből azonosítsa a felhasználókat:

mcedit /etc/nsswitch.conf

A tartalma ilyen legyen (tehát a megfelelő helyekre írjuk be a winbind szót)

passwd: compat winbind
group:  compat winbind
shadow: compat winbind
hosts:     files dns wins
networks:  files dns
protocols:   db files
services:    db files
ethers:      db files
rpc:         db files
netgroup:     nis

Indítsuk újra megint a winbind és a samba szolgáltatásokat

/etc/init.d/winbind stop
/etc/init.d/samba restart
/etc/init.d/winbind start

Ellenőrizzük le, hogy minden tökéletes e:
Ha kiadjuk a következő parancsot látnunk kell az AD-ben lévő felhasználókat

wbinfo -u

A csoportokat

wbinfo -g

Információk a szerverről:

net ads info

Most már csak állítsuk be a Sambában a megosztásokat.

19 thoughts on “Ubuntu 9.04 Samba szerver Active Directory integrációval

  1. köszi szuper a leírás!
    két gondom lenne:
    1. nekem a “net ads join -U rendszergazda@tartomány.local” parancsnál nem kell a “@tartomány.local”
    2. ahhoz hogy ez működjön rendesen, ahhoz az ADben lévő felhasználókat is fel kell vennem Ubu alá ugye? vagy lehet valahogy szinkronizálni?
    thx!

  2. [re=5235]apeelme[/re]: nem kell felvenned a gépre, ez a lényege ennek. Viszont csak a Samba megosztásokat érik el, ha azt szeretnéd, hogy a gépre is be tudjanak lépni, akkor a gépen még külön be kell állítani, hogy a rendszerfelhasználókat is az AD-ből vegye.

  3. akkor vmit nem jól csináltam. XY szerepel AD-ben, de Ubuntu alatt nincs ilyen user, és bejelentkezéskor nem tudok vele bejelentkezni.
    most restartoltam ubut a biztonság kedvéért.
    és így sem megy.
    viszont egy: “net ads info” parancsra ez a válasza
    [2009/09/01 13:32:21, 0] libads/kerberos.c:create_local_private_krb5_conf_for_domain(914)
    create_local_private_krb5_conf_for_domain: smb_mkstemp failed, for file /var/run/samba/smb_tmp_krb5.ZU9fDG. Errno Hozzáférés megtagadva
    [2009/09/01 13:32:21, 0] libads/kerberos.c:create_local_private_krb5_conf_for_domain(914)
    create_local_private_krb5_conf_for_domain: smb_mkstemp failed, for file /var/run/samba/smb_tmp_krb5.5l67at. Errno Hozzáférés megtagadva
    LDAP server: 192.168.16.2
    és az LDAP szerver többi adata.

  4. [re=5243]apeelme[/re]: és hogyan probalsz belépni tartományi userrel? Csak sambaval a megosztáshoz, vagy lokálisan (ssh-n) keresztül a gépre is?
    logokba nem ír valamit (esetleg rakd részletes – debug – loggolási szintre)

  5. az auth-log-ban ilyeneket találok hogy:
    14:38:32 ubuserv sshd[3109]: Address 192.168.16.28
    maps to hp6320t.alfabus.local, but this does not map back to the address
    – POSSIBLE BREAK-IN ATTEMPT!
    amit nem igazán értek, mert 192.168.16.28 a laptop amiről SSHzom az ubuserv szervert (192.168.16.199) 192.168.16.28-hoz AD-ben gépneve: HP6320-SK

  6. vmi nagy gebasz van
    mert nyomtam egy scan LAN-t a gépnévre (hp6320t) és ez egy jelenleg is kiosztott IPvel rendelkező kliens. de hogy jött ő a képbe?

  7. [re=5246]charlie[/re]: nem tudunk valahol egy fórum topikban tovább dumálni, hogy ne szemeteljük itt tele?

  8. [re=5250]apeelme[/re]: forum.hogyan.orgadar
    [re=5247]apeelme[/re]: próbáld ki, hogy samba megosztást eléred e.

  9. Ez a leirás nekem nem sikerül ezt meg lehet csinálni egyetlen egy 9.04 szerverrel, vagy kell hozzá windows server is? Mi az a KDC, mert arra ír hibát? Vagy esetleg előtte fel kell rakni valami más programokat?

  10. [re=6208]human[/re]: Ez a leírás csak akkor működik, ha van Active Directory szerver. A kdc is ahhoz kapcsolódik.

  11. Gondoltam hogy kell valami más szerver is, nem vagyok jártas a Windowsos dolgokban. AD szervert lehet linux alatt is csinálni vagy mindenképpen Windows server kell? Esetleg található róla valahol leírás(angol is jó)?

  12. [re=6213]human[/re]: Googleba írd be, hogy Active directory. Ez nem kiváltható 1:1-ben linux alatt.

  13. hello, nem vagyok egy profi de azért probálkozom…
    Feltelepitettem a csomagokat, és modositottam a krb5.conf filet. De amikor kiadom a kinit parancsot ezt a jelentést kapom vissza: kinit: Improper format of Kerberos configuration file while initializing Kerberos 5 library
    mit tettem rosszul?

    1. hmm, milyen verziójú krb5-user csomag van fent? Lehet módosult a konfigurációs fájl szintaktikája.

  14. Bolcsa, én is beleszaladtam ebbe, de nálam a 9.10-es van fenn. Tudtál vele valamit kezdeni?

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük

Ez az oldal az Akismet szolgáltatást használja a spam csökkentésére. Ismerje meg a hozzászólás adatainak feldolgozását .