Ubuntu 9.04 Samba szerver Active Directory integrációval

2009.08.20. | 19 hozzászólás | Kategória: Ubuntu
Címkék: , , , ,

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.

Szólj hozzzá Trackback 6139 olvasás, 2 ma

Kapcsolódó írások

Hozzászólások követése

19 hozzászólás

  1. apeelme

    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. charlie

    apeelme: 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. apeelme

    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. apeelme

    jah bocsánat, ha rootként adom ki a parancsot akkor mindenoké

  5. charlie

    HA a

    getent passwd

    parancsot kiadod látod a usereket?

  6. apeelme

    igen

  7. charlie

    apeelme: é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)

  8. apeelme

    csak ssh-n és lokálisan próbálkoztam.

  9. apeelme

    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

  10. apeelme

    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?

  11. apeelme

    charlie: nem tudunk valahol egy fórum topikban tovább dumálni, hogy ne szemeteljük itt tele?

  12. charlie

    apeelme: forum.hogyan.orgadar

    apeelme: próbáld ki, hogy samba megosztást eléred e.

  13. human

    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?

  14. charlie

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

  15. human

    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ó)?

  16. charlie

    human: Googleba írd be, hogy Active directory. Ez nem kiváltható 1:1-ben linux alatt.

  17. bolcsa

    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?

  18. charlie

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

  19. zelota

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

Szólj hozzá

Használható HTML tagek: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

A hozzászólás elküldésével elfogadod az oldal felhasználási feltételeit!

Értesítés beállítása hozzászólás nélkül