Linux Active Directory integrációja. - újabb kérdés [Megoldva]

Fórumok

Adott egy hálózat, ami nagyrészt windows server, winxp, win7 oprendszeres gépekből áll.
Active Directory is van. Viszont nem üzemel windows-os NTP szerver.
Gondolom ilyenkor minden gép külön szinkronizál valamilyen default NTP szerverről. (vagy nem szinkronizálnak)

A kérdés az, hogy ha szeretném a Linuxom integrálni az adott tartományba (tehát az AD-be) akkor kell-e nekem NTP csomagot telepítenem/konfigurálnom Linuxra.

Úgy hallottam, hogy a windows más időformátumot használ mint a Linux és ezért kell főleg ez az időszinkronizálás.
Van valakinek tapasztalata ezzel kapcsolatban?

Hozzászólások

A tartomanyi tagok automatikusan szinkronizalnak az AD-hoz. Hogy maga a domain controllered szinkronizal-e valamilyen idoszolgaltatashoz, az ebbol a szempontbol mindegy, "legfeljebb" nem lesz pontos ido - sehol a tartomanyban, de mindenhol ugyanaz a pontatlan lesz/kell legyen.
A kerberos 5 percnel nagyobb ido kulonbseget nem visel el, ugyhogy a linuxos geped is a domain controllerhez szinkronizald.
Aztan a DC-n oldd meg, hogy pontos ido legyen rajta, es mindenki happy lesz.

Volna még néhány kérdésem:

Pontosan milyen csomagokra lesz szükségem az AD integrációhoz?
Régebben likewise-al csináltam AD integrációt, de sajnos a likewise már nincs fent a tükörszervereken.
A likewise mellett nem nagyon kellett konfigurálni. :)
Szóval az AD integrációhoz gondolom kerberosra szükségem lesz mindenképpen.
Na de melyik csomag kell nekem?
krb5-admin-server,krb5-clients, vagy a krb5-user?

Ha jól tudom akkor szükségem lesz még "winbind"-re.
LDAP és samba telepítésre is szükségem lesz?

LDAP ha jól tudom ahhoz kell ha le akarok kérdezni valamit AD-ből.
A samba pedig megosztásokhoz kell.
Ezek nélkül, tehát csak az NTP és a kerberos segítségével ill. a winbind-el tudnom kellene már tartományi felhasználónév/jelszó-val loginolni?

Előre is köszi a segítséget!

Likewise-open még mindig van, pl. ubuntu tárolóiban benne is van. Ha neked nincs, akkor vagy megváltozott néven keresd (PowerBroker Identity Services, Open Edition), vagy pedig erről a linkről tudod leszedni:
http://www.beyondtrust.com/Technical-Support/Downloads/PowerBroker-Iden…

Centrify-t nézted már?

Engem valahogy mindig elrettentett a samba+winbind+kerberos játék...

Hat, en az alant elrettentonek titulalt (jo, nem a legbaratsagosabb, teny) samba+winbind+kerberos combot hasznalom. Egeszen keves problemaval, de tenyleg.
krb5-user csomag kell neked, samba pedig mar integralta a winbindet, ha jol emlekszem, kulon nem kell levadaszni. A wikijukon teljesen egyszeru es kovetheto leiras van amugy:
http://wiki.samba.org/index.php/Samba_&_Active_Directory
Kalappal!

van máris egy hibaüzenetem:
krb5kdc.log fájlból

megpróbáltam elindítani a kdc-t "/etc/init.d/krb5-kdc start"

a hibaüzenet a következő:

krb5kdc: No such file or directory - while initializing database for realm ******.HU

amit eddig telepítettem:
samba, krb5-user, krb5-kdc, libpam-krb5, winbind, NTP

Az NTP működik (fut, és az idő is szinkronban van)

mi lehet a hiba?
lehet hogy a krb5.conf-ban rontottam el valamit?

kdc nem hiszem, hogy kell neked.
A /etc/krb5.conf-od legyen jol kitoltve, aztan kinit paranccsal ha tudsz azonsoitani a tartomanybol, akkor mar jo uton haladsz, onnantol mehet a samba+winbind beallitas, nsswitch.conf-ban ennek hasznalata, net ads join, es kb keszen vagy.
Pam akkor kell, ha a gepre akarsz autholni tartomanybol. Ha csak megosztasokat akarsz kezelni, akkor azt majd elintezi a samba.

ez engem is zavart eleinte, de ha nincs hiba, akkor nincs hiba :)
PAM-hoz is van leírás, hogy kerberoson át autentikálhass, meg pár clickety-click segítségével be lehet lőni, hogy bármely user AD-ből autentikálhasson és automatice jöjjön létre neki home könyvtár. Nyilván lehet szűrőket is bevetni...

elvileg beállítottam a sambát is

alapvetően addig szeretnék eljutni, hogy be tudjak jelentkezni tartományi felhasználónév/jelszó párossal Linuxra
ill. jó lenne ha látnám a hálózaton elérhető megosztásokat

ha jól értelmezem, akkor a "net ads join -U username" paranccsal tudok AD-hez adni egy adott felhasználót
nem lehet az egész gépet tartományba tenni? csak egyes felhasználókat lehet?

ezt a hibaüzenetet kaptam:

root@debian:~# net ads join -U domainusername
Enter domainusername's password:
Using short domain name -- company
Joined 'DEBIAN' to realm 'thecompany.hu'
[2012/03/20 14:42:52.772445, 0] libads/kerberos.c:333(ads_kinit_password)
kerberos_kinit_password DEBIAN$@THECOMPANY.HU failed: Client not found in Kerberos database
DNS update failed!

viszont bekerült a debian gép az AD-be :D
de sajnos nem tudok bejelentkezni tartományi felhasználónév/jelszó párossal

mit rontottam el?

Az, hogy bejelentkezz magara a szerverre AD-s userrel, az megegy kor, PAM-ot kell heggesztened. Ez a megosztasok kezelesehez nem szukseges - es ha valami nem szukseges, de persze csak ha tenyleg nem az, szerintem hagyd ki, ez alapszabaly barmit is csinalsz :>
Ha meg muszaj, ugyanazon az oldalon amit mar irtam/irtak, ott van mit hogy kell beconfigolni melyik pam fileban.
A kdc-d amugy meg mindig fut? Merthogy ezt a hibauzenetet valszin nem az active directorytol kaptad.

Nem indítok új topicot, mivel ez már meg van :)
nekiugrottam újra az AD + Debian témának

kinit megy
net ads join működik (bekerült a hoszt az AD-be)

viszont valami el van *aszarintva az nsswitch.conf fájlban (szerintem)
mert a login-t egyáltalán nem engedi
se root ként se domain userként és ssh-val sem

így néz ki az nsswitch.conf fájlom:

passwd: files winbind
shadow: files winbind
group: files winbind
#hosts: db files nisplus nis dns
hosts: files dns wins
# Example - obey only what nisplus tells us...
#services: nisplus [NOTFOUND=return] files
#networks: nisplus [NOTFOUND=return] files
#protocols: nisplus [NOTFOUND=return] files
#rpc: nisplus [NOTFOUND=return] files
#ethers: nisplus [NOTFOUND=return] files
#netmasks: nisplus [NOTFOUND=return] files
bootparams: nisplus [NOTFOUND=return] files
ethers: db files
netmasks: files
networks: files dns
protocols: db files
rpc: files
services: files
netgroup: files
publickey: nisplus
automount: files
aliases: files nisplus

Lehet hogy a PAM beállításaim hibásak?

A PAM fájljaim így néznek ki:
auth required /lib/security/$ISA/pam_env.so
auth sufficient /lib/security/$ISA/pam_unix.so likeauth nullok
auth sufficient /lib/security/$ISA/pam_winbind.so use_first_pass
auth required /lib/security/$ISA/pam_deny.so

/etc/pam.d/common-account
account required /lib/security/$ISA/pam_unix.so
account sufficient /lib/security/$ISA/pam_succeed_if.so uid < 100 quiet
account sufficient /lib/security/$ISA/pam_winbind.so use_first_pass
account required /lib/security/$ISA/pam_permit.so

/etc/pam.d/common-password
password requisite /lib/security/$ISA/pam_cracklib.so retry=3 type=
password sufficient /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow
password sufficient /lib/security/$ISA/pam_winbind.so use_first_pass
password required /lib/security/$ISA/pam_deny.so

/etc/pam.d/common-session
session required /lib/security/$ISA/pam_limits.so
session required /lib/security/$ISA/pam_unix.so
session required /lib/security/$ISA/pam_winbind.so use_first_pass

Tudna valaki segíteni hogy mit ronthattam el?

Átírtam a PAM fájljaimat (auth, account, session) és most már kér jelszót loginnál (eddig azt sem kért) viszont amikor beírom a jelszót, akkor azt írja hogy 13 napja lejárt a jelszavam :) (nem járt le...) :)

így néznek ki a PAM fájljaim:

/etc/pam.d/common-account

account [success=1 new_authtok_reqd=done default=ignore] pam_unix$
# here's the fallback if no module succeeds
account requisite pam_deny.so
# prime the stack with a positive return value if there isn't one alread$
# this avoids us returning an error just because nothing sets a success $
# since the modules above will each just jump around
account required pam_permit.so
# and here are more per-package modules (the "Additional" block)
# end of pam-auth-update config
account sufficient pam_winbind.so
account required pam_unix.so

/etc/pam.d/common-auth

auth [success=2 default=ignore] pam_unix.so nullok_secure try_fi$
auth [success=1 default=ignore] pam_winbind.so krb5_auth krb5_cc$
# here's the fallback if no module succeeds
auth requisite pam_deny.so
# prime the stack with a positive return value if there isn't one alread$
# this avoids us returning an error just because nothing sets a success $
# since the modules above will each just jump around
auth required pam_permit.so
# and here are more per-package modules (the "Additional" block)
auth optional pam_krb5_migrate.so
# end of pam-auth-update config
auth sufficient pam_winbind.so
auth sufficient pam_unix.so nullok_secure use_first_pass
auth required pam_deny.so

/etc/pam.d/common-session

session [default=1] pam_permit.so
# here's the fallback if no module succeeds
session requisite pam_deny.so
# prime the stack with a positive return value if there isn't one alread$
# this avoids us returning an error just because nothing sets a success $
# since the modules above will each just jump around
session required pam_permit.so
# and here are more per-package modules (the "Additional" block)
session optional pam_krb5.so minimum_uid=1000
session required pam_unix.so
session optional pam_winbind.so
# end of pam-auth-update config
session required pam_unix.so
session required pam_mkhomedir.so umask=0022 skel=/etc/skel

van valakinek ötlete hogy mi lehet a baj?

sajnos közel sem működik tökéletesen a rendszer

az egyik problémám az, hogy nem tudok felcsatolni hálózati megosztásokat
(gondolom az ntfs fájlrendszer miatt)

/etc/fstab-ban próbáltam ezt:

//servername/ /mnt/mountname cifs guest,uid=1000,iocharset=utf8,codepage=unicode,unicode 0 0
és ezt:
//servername/ /mnt/mountname smb defaults 0 0

de ezt írja ki (bootnál) smb... ismeretlen fájlrendszer

a másik problémám, hogy bár be tudok jelentkezni az egyik tartományi felhasználónév/jelszó párossal (ennek a nevében tettem AD-ba a gépet)
viszont más AD-s felhasználónév/jelszó párossal nem tudok bejelentkezni

amikor belépek az egyetlen működő AD-s felhaszn./jelszó párossal akkor is ezt írja ki: "client not found in Kerberos database"
de ettől függetlenül enged loginolni

van valakinek ötlete, hogy mit rontottam el?

Az fstab bejegyzesedbol hianyzik a "username=xz,password=z".
Probald eloszor a mount paranccsal osszehozni, aztan abbol csinald meg az fstabot. (http://www.justlinux.com/nhf/Filesystems/Mounting_smbfs_Shares_Permanen… - a credentials file hasznalatara kulon felhivnam a figyelmet)

(szerk.): azt is nezd meg, hogy smbfs csomagod van-e egyaltalan.

Lokalis kerberos adatbazis pedig tovabbra sem kell neked. A pam beallitasaidat is ellenorizd.

Bocs, hogy nem irok _konkret_ mgoldasokat, de messze nem biztos, hogy eltalalom nalad mi kene mukodjon, es igy tobbet is tanulsz, es lusta is vagyok :)

"subscribe", azaz előfizet gyakorlatilag azzal a frissítésekre itt, hogy beleírt (bármi mást is írhatott volna, csak ebből érted, miért írt) - ugyanis innentől a "friss tartalom" funkció hozni fogja neki a sajátjai alatt a threadet, ha frissülne a jövőben.

/etc/lib/lu/plugins/lupi_bebasic

köszi, közben sikerült megoldanom a problémát :)
most már működik a login is :)
igaz hogy egyelőre nem jön még létre automatikusan az újonnan bejelentkezett felhasználóknak "home" könyvtár
és domain adminként bejelentkezve bár bash-t kapok, és "domain admin" userként vagyok bent, mégsincs jogom mindenhez.

Megoldható az valahogy, hogy a domain admin root-ként tudjon bejelentkezni? (domain admin jelszóval persze, de root jogai legyenek)

Amit csináltam: (Debian Squeeze i386 6.0.6)

apt-get install ntp samba samba-common smbfs winbind dnsutils krb5-user libpam-krb5 libkrb53 ldap-utils

ntp beállítása: (a fájl tartalmában csak a következőket módosítottam)
nano /etc/ntp.conf
#server 0.debian.pool.ntp.org iburst
#server 1.debian.pool.ntp.org iburst
#server 2.debian.pool.ntp.org iburst
#server 3.debian.pool.ntp.org iburst
server 192.168.0.1 iburst #192.168.0.1 az ntp szerver címe

Kerberos beállítása:(kitöröltem a fájl tartalmát és csak a következőket írtam be)
nano /etc/krb5.conf
[logging]
Default = FILE:/var/log/krb5.log
[libdefaults]
ticket_lifetime = 24000
clock-skew = 300
default_realm = DOMAIN.HU
[realms]
domain.hu = {
kdc = 192.168.0.1:88 #A domain controller IP címe
}
[domain_realm]
.server.com = DOMAIN.HU
server.com = DOMAIN.HU

Samba beállítása: (minden alap beállítást meghagytam, csak a következőket módosítottam)
nano /etc/samba/smb.conf
[global]
workgroup = MSHOME
realm= domain.hu
preferred master = no
server string = Linux Test Machine
encrypt password = yes
log level = 3
log file = /var/log/samba.log
max log size = 50
#### Networking ####
interfaces = 192.168.0.0/24 eth0
####### Authentication #######
security = ADS
encrypt passwords = true
############ Misc ##### winbind enum groups = yes
winbind enum users = yes
winbind use default domain = yes
winbind nested groups =yes
winbind separator = /
idmap uid = 600-20000
idmap gid = 600-20000
;template primary group = "Domain Users"
template shell = /bin/bash

PAM fájlok beállítása: (nem töröltem ki semmit ami a fájlokban volt, csak a fájl végére beillesztettem a következő sorokat)
nano /etc/pam.d/common-account
account required /lib/security/$ISA/pam_unix.so
account sufficient /lib/security/$ISA/pam_succeed_if.so uid < 100 quiet
account sufficient /lib/security/$ISA/pam_winbind.so use_first_pass
account required /lib/security/$ISA/pam_permit.so

nano /etc/pam.d/common-auth
auth required /lib/security/$ISA/pam_env.so
auth sufficient /lib/security/$ISA/pam_unix.so likeauth nullok
auth sufficient /lib/security/$ISA/pam_winbind.so use_first_pass
auth required /lib/security/$ISA/pam_deny.so

nano /etc/pam.d/common-password
password requisite /lib/security/$ISA/pam_cracklib.so retry=3 type=
password sufficient /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow
password sufficient /lib/security/$ISA/pam_winbind.so use_first_pass
password required /lib/security/$ISA/pam_deny.so

nano /etc/pam.d/common-session
session required /lib/security/$ISA/pam_limits.so
session required /lib/security/$ISA/pam_unix.so
session required /lib/security/$ISA/pam_winbind.so use_first_pass

NSSWITCH.CONF beállítása:
nano /etc/nsswitch.conf
passwd: files winbind
shadow: files winbind
group: files winbind
hosts: files dns wins
bootparams: nisplus [NOTFOUND=return] files
ethers: db files
netmasks: files
networks: files dns
protocols: db files
rpc: files
services: files
netgroup: files
publickey: nisplus
automount: files
aliases: files nisplus

cp /lib/libnss_winbind.so.2 /lib/libnss_winbind.so
cp /lib/libnss_wins.so.2 /lib/libnss_wins.so

ezután a "kinit domainusername" parancsnak működnie kell (bekéri a jelszót, és ha minden rendben, akkor nem ad vissza hibaüzenetet)
vagy "kinit domainuser@DOMAIN.HU"
a "klist" parancs pedig valami hasonlót kell hogy visszadjon:
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: user@DOMAIN.HU
Valid starting Expires Service principal
01/17/13 13:04:01 01/17/13 19:44:01 krbtgt/DOMAIN.HU@DOMAIN.HU

ezután tartományba tettem a gépet:
net ads join -w DOMAIN.HU -U domainusername

ezután kiadtam a "getent passwd" és a "getent group" parancsokat

ha valamit rosszul írtam, vagy valami kiegészítésre szorul, akkor nyugodtan jöhetnek a javaslatok :)
kezdő vagyok, és 2-3 leírás alapján ollóztam össze a megoldást
gondoltam megosztom veletek, hátha valakinek segít