Home / Linux / Ubuntu / Ubuntu 9.04 Samba szerver Active Directory integrációval

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.

Szerző charlie

Évek óta foglalkozom informatikával, azon belül elsősorban Linux szerverek üzemeltetésével. Saját vállalkozás keretében VPS szolgáltatás nyújtásával is foglalkozok.

Olvastad?

Linux

Friss funkciókkal érkezik a Linux 5.0 „Shy Crocodile”

Linus Torvalds nemrég megjelentette a Linux kernel 5.0 verzióját, melynek a Shy Crocodile, avagy a …

19 hozzászólás

  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. 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. 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. jah bocsánat, ha rootként adom ki a parancsot akkor mindenoké

  5. HA a

    getent passwd

    parancsot kiadod látod a usereket?

  6. 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)

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

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

  9. 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?

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

  11. apeelme: forum.hogyan.orgadar

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

  12. 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?

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

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

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

  16. 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?

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

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

A weboldal használatának folytatásával Ön elfogadja a cookie-k használatát Adatkezelési tájékoztató és felhasználási feltételek

A süti beállítások ennél a honlapnál engedélyezett a legjobb felhasználói élmény érdekében. Amennyiben a beállítás változtatása nélkül kerül sor a honlap használatára, vagy az "Elfogadás" gombra történik kattintás, azzal a felhasználó elfogadja a sütik használatát.

Bezárás