Sziasztok!
Van egy laptop, amin korábban Win10 volt és tartományba is volt léptetve. A napokban újra lett húzva és lett rárakva egy Ubuntu22. Most azzal kísérletezgetek, hogy a Linuxra is tudjak AD-ba felvett bármilyen userrel bejelentkezni.
A laptopra az sssd-ad sssd-tools realmd adcli adsys telepítve lett, mint előfeltétel.
A realm discover megfelelő eredményt ad vissza. A realm join szintén sikeres volt.
Plusz configként az "Enable home folder creation for domain users" és a "use_fully_qualified_names = False" lett beállítva.
"id testuser"-re először nem adott vissza semmit. De utána rájöttem, hogy AD-ban még nem töröltem a Computers alól a korábbi Win10-es gépet. Ezen kívül még annyi módosítást csináltam a laptopon, hogy felvettem a realmd.conf fileba az "os-name" és "os-version" sorokat. Később meg is jelent az AD-ben a Computers alatt a gép, és az Operating System fülén is már azt írta, hogy Linuxról van szó. + ezt követően az "id testuser"-re is a kívánt eredményt kaptam.
Egyetlen problémát nem sikerült még megoldanom. Mégpedig a tartományi userrel való bejelentkezést. Úgy próbáltam, hogy átváltottam terminalos bejelentkezésre. A login: után a usernevet még be tudom írni, de a jelszót nem fogadja el. Olyan, mintha nem lenne jó. Viszont egy Win-es gépen kipróbálva be tudok jelentkezni vele. Nem nagyon találtam rá megoldást eddig. Mi lehet a gond szerintetek?
Előre is köszönöm a javaslatokat!
- 817 megtekintés
Hozzászólások
Az sssd.conf nálam az alábbi:
[sssd]
domains = sajat.domain
config_file_version = 2
services = nss, pam
[domain/magnet.bank]
ad_domain = sajat.domain
ad_server = dc1.sajat.domain, dc2.sajat.domain
krb5_realm = SAJAT.DOMAIN
realmd_tags = manages-system joined-with-adcli
cache_credentials = True
dyndns_update = false
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = False
fallback_homedir = /home/%u
access_provider = simple
simple_allow_groups = linux_ssh_ad_csoport
Nálad tippre a use_fully_qualified_names = True (az a default), akkor elvileg user@sajat.domain formában megy a login, illetve nézd meg a fallback_homedir -t is, mert ott is benne szokott lenni a %d, mint domain.
A pam-auth-update a realm join után "must have", legalább ellenőrzés szintjén, hogy az sssd és az mkhomedir be legeyen állítva.
Én ebből az oldalból indultam ki egyébként: https://computingforgeeks.com/join-ubuntu-debian-to-active-directory-ad…
- A hozzászóláshoz be kell jelentkezni
“Plusz configként az "Enable home folder creation for domain users" és a "use_fully_qualified_names = False" lett beállítva.”
- A hozzászóláshoz be kell jelentkezni
Emlékeim szerint az már új betoldás a posztban... Nekem a linkelt oldalon lévő lista alapján felpakolt csomagok után realm discover / join / sssd.conf fenti tartalommal történő felülírása és sssd újrarúgása után működik több tucat gépen.
- A hozzászóláshoz be kell jelentkezni
Emlékeim szerint az már új betoldás a posztban...
Nem az volt, legalábbbis mire én láttam (és a te válaszod előtt), már benne volt. Különösebb jelentősége egyébként nincs, csak pontosítás volt.
- A hozzászóláshoz be kell jelentkezni
Sikerült megcsinálnom, de egy teljesen más módszerrel, mint a korábbi próbálkozások. Úgy nem nagyon akart összejönni, ezért azt dobtam. A realmd-t és az adsys-t le is szedtem, hogy még véletlenül se legyen semmilyen összeakadás.
Főleg ebből a 2 doksiból merítettem végül az ötleteim jelentős részét:
https://techexpert.tips/ubuntu/ubuntu-kerberos-authentication-active-directory/
https://access.redhat.com/articles/3023951
Az sssd-ad és sssd-tools már fent volt korábban. Melléjük jöttek még a továbbiak: heimdal-clients, msktutil, nscd
A krb5.conf-ban nálam lett egy [logging], [domain_realms] és [libdefaults], amelyek alá felvettem a saját igény szerinti beállításokat.
Az nsswitch.conf-ot csak csekkoltam, nekem személy szerint abban nem volt szükségem semmit sem módosítani.
Az sssd.conf-ban a services kicsit ki lett bővítve: = nss, pam, ifp, ssh és csak egy [sssd] [pam] [nss] részem lett.
A domaint kivezettem 1 külön xy.intra.conf file-ba az sssd/conf.d/ alá. (Megjegyzem az access_provider maradt benne továbbra is ad. Nem volt kétségem arról, hogy nem az lesz a hiba, hogy az maradt ad és nem simple. )
[domain/XY.INTRA]
;debug_level = 5
id_provider = ad
auth_provider = ad
chpass_provider = ad
ad_hostname = hostneve.xy.intra
dns_discovery_domain = xy.intra
ldap_id_mapping = True
ldap_schema = ad
default_shell = /bin/bash
access_provider = ad
;ad_access_filter = (|(memberof=CN=xy-team,OU=company,DC=xy,DC=intra)(sAMAccountName=tester))
cache_credentials = true
account_cache_expiration = 7
entry_cache_timeout = 14400
pwd_expiration_warning = 30
ad_gpo_ignore_unreadable = true
krb5_validate = false
pam-auth-update esetén fontos, hogy activate mkhomedir legyen megjelölve.
Annyi trükk volt még, hogy kellett egy chmod 0600 /etc/sssd/sssd.conf és a home alá csináltam egy XY.INTRA directory-t, hogy oda tudja létrehozni a belépett AD-s userek könyvtárait.
Természetesen a leírás szerinti kinit és msktutil parancsok kiadása is megvolt nálam.
Extraként pedig akár ide is felvehetjük a saját teszt userünket: /etc/sudoers.d/domain_admins
- A hozzászóláshoz be kell jelentkezni
Néztem én is az ad access provider-t, de az az ldap-os filterszabály, pláne, ha van n+1 csoport, amit be kell engedni... Nem szép, de legalább ronda és nagyon el...ható, úgyhogy nálam maradt a simple és az ad-s csoportok simple :) felsorolása :-)
- A hozzászóláshoz be kell jelentkezni
Nálam a conf fileban nem volt ad_server = sor, azt pótoltam. Jó volt a tipp, a fallback_homedir -nél is ott volt a %d. Most kiszedtem. dyndns_update = false sem volt, bár jelen esetben szerintem az nem sok vizet zavar. De azért felvettem, megfér ott. :)
Jelenleg ugyanazok a főbb config elemek vannak, mint nálad, egyedüli különbség, hogy access_provider = simple helyett nekem ad a vége. + a simple_allow_groups = sor sem volt, de azt jelenleg csak commentelve vettem fel.
A módosítások után volt egy service restart. Most az sssd status-ra azt írja ki, hogy active (running), de alul jelez pár problémát:
sssd[5268]: Starting up
sssd_be[5269]: Starting up
sssd_nss[5270]: Starting up
sssd_pam[5271]: Starting up
systemd[1]: Started System Security Services Daemon.
sssd_be[5269]: Group Policy Container with DN [cn={D3....5},cn=policies,cn=system,DC=xy,DC=intra] is unreadable or has unreadable or missing attributes. In order to fix this make sure that this AD object has following attributes readable: nTSecurityDescriptor, cn, gPCFileSysPath, gPCMachineExtensionNames, gPCFunctionalityVersion, flags. Alternatively if you do not have access to the server or can not change permissions on this object, you can use option ad_gpo_ignore_unreadable = True which will skip this GPO. See ad_gpo_ignore_unreadable in 'man sssd-ad' for details.
A laptopon 2 AD-s belépési próbálkozás után próbáltam logot nézni, de legutóbb negyed órával előtte írt bele.
Az általad küldött linket nézve nyomtam egy pam-auth-update-et, de az activate mkhomedir rendben volt. Nyomtam még egy realm permit --all -t is és a sudoers.d/domain_admins alá is felvettem a testuser-t
Próbáltam 1 olyat is, hogy GUI-n hozom létre a usert. Ott az enterprise login alatt megjelenik az xy.intra, létre is jön a GUI-s felületen a local user. (de a home alá már nem hozott létre foldert). Ráadásul egyból dobott is egy hibaüzenetet. A details alatt ezt írta:
problem type: crash
Title: sssd crashed with SIGABRT
- A hozzászóláshoz be kell jelentkezni
melyik logba? nem ismerem ubuntut, de valahova logolnia kéne az authentication failuret, esetleg journalctl... az sssd logot ráér ezután nézegetni.
- A hozzászóláshoz be kell jelentkezni
Csináltam 1 restartot a gépen. Az sssd statusnál feljött egy ilyen sor is:
krb5_child: No credentials cache found (filename: /tmp/krb5cc_....)
Úgy néz ki a journalctl jó lesz. Néztem -f kapcsolóval csak az AD-s login folyamatot, de így is elég nagy infó halmazt dobott ki. Értelmezés után jelentkezem.
- A hozzászóláshoz be kell jelentkezni
Amit linkeltem cikket, azt nézted? A DC milyen verzió? Az access provider-ben próbáld ki a simple-t és az explicit megadott csoportokat első körben.
- A hozzászóláshoz be kell jelentkezni
"Próbáltam 1 olyat is, hogy GUI-n hozom létre a usert. " - Wtf? Vannak az AD-s userek, akikkel lokálisan semmi dolgod. A lokális user létrehozása során nem készül alapból el a home dir, azt a login során a pam_mkhomedir intézi.
A kommentezést felejtsd el, emlékeim szerint van arra háklis sssd verzió is...
- A hozzászóláshoz be kell jelentkezni
DC: 2016 std,
Comment elhagyása: OK
A lokális user létrehozása során nem készül alapból el a home dir
Itt abból indultam ki, hogy régebben néztem mac-en is ezt. Ott létrejött a folder + beállíthattam azt is, hogy az adott AD-s user lehessen az adott gépen local admin.
- A hozzászóláshoz be kell jelentkezni
első körben nézd meg a logot, miért nem engedi belépni a usert. ha jó a pw, lehet rossz formátumban van a usernév, nincs engedélyezve, hogy belépjen...
- A hozzászóláshoz be kell jelentkezni
Sub.
- A hozzászóláshoz be kell jelentkezni
Szia!
Pár éve (2019) foglalkoztam linux kliensek Windows tartományba léptetésének témájával. A megosztott szkriptet akkor sikeresen alkalmaztam több gép tartományba léptetéséhez. Ha hasznosnak találod használd egészséggel!
A szkriptben és a mellékelt conf fájlokban módosításokat szükséges végrehajtanod felhasználás előtt, mert eredetileg a saját domainemhez készült. Azokat a helyeket ahol módosítanod kell xxxxxx vagy XXXXXX jelöltem (kisbetű/nagybetű számít!).
A szkriptet futtathatóvá kell tenni indítás előtt (bár ezt gondolom te is tudod, de hátha valakinek szükséges ez az infó).
Remélem tudtam segíteni!
- A hozzászóláshoz be kell jelentkezni
ad_server = dc1.sajat.domain, dc2.sajat.domain
Nem értek a lnuxos AD / LDAP lelkivilágához. De ezt 2022-ben miért kell bedrótozni? Mikor 22 éve DNS SRV recordokkal illene ezt csinálni.
- A hozzászóláshoz be kell jelentkezni
Nem kell, csak lehetőség. Egyébként meg jó, ha van, mert ha a DNS-kéréseket bactató mindenbe belepofázó tűzfal doboz van a gép és a névszerver között, akkor khm. érdekes működést lehet tapasztalni...
- A hozzászóláshoz be kell jelentkezni
Ha nincs (jól működő) DNS, akor nincs AD. Pont. Ez windowson is így van a kezdetek óta, MSFT is ezt mondja. Ha vmi szekuriti doboz középen szétbarmolja a DNS-t, akkor azt megjavítani kell, nem megkerülni :)
- A hozzászóláshoz be kell jelentkezni
Ahol erre szükség volt, ott nem volt lehetőség a "megjavításra", úgyhogy maradt ez a megoldás - amit azóta is "viszek magammal", ugyanis ártani nem árt, a működés biztosabb lesz tőle.
- A hozzászóláshoz be kell jelentkezni
Ezek a bedrótozott beállítások tudják az embert évekkel később megszopatni keményen. Vagy akár az utódot, mivel szokás szerint nincs dokumentálva h. csak DC1 és DC2 van benne a konfigban. Az új IT felelős meg naívan azt hiszi majd DNS SRV lookup-pal meg fogja találni DC3 és DC4-et, mikor DC1 és DC2 nyugdíjba vonul. Aztán jön a meglepetés, h. 10 telephelyen megy flottul, 2-3 helyen meg elhasal "valami miatt".
- A hozzászóláshoz be kell jelentkezni
Dokumentálva van, hogy mi és miért került a konfigokba, ez az egyik. A másik, hogy a DC-ket csak úgy nem csereberéljük, pláne nem a nevet/ip-címet, mert az senkinek sem jó... Egyébként ott, ahol erre szükség volt, azóta lett DC cserélve, és nem dőlt össze a világ - a kivezetett DC nevét cname-ként megkapta az utódja. És ugye ez a konfig opció csak "hint", hogy milyen névhez tartozó IP-címen keresse a DC-ket...
- A hozzászóláshoz be kell jelentkezni
Nekem muszáj volt kézzel bedrótozni DC-ket LDAP konfigba, mert eleinte nem ismerte az SRV lookup-ot a 3rd party blackbox amin működésre kellett bírni. Aztán meg mikor sikerült meghekkelni, szoptunk vele h. a DC-k össze-vissza vannak a világban (ez még tudott volt), viszont site-aware nem tudtunk a szomszéd switchporton lógó DC-vel beszélni (nem adták hozzá AD-ben a subnet-ünket egy ADsite-hoz sem), hanem ment random a föld túloldalára ahogy esik módon, mindenféle megakadásokat, óriási delay-eket okozva. Aztán meg jött h. a szekusok blokkolták az LDAP portot, és minden DC-re manuálisan kellett hozzáadatnunk az IP rangünket. Aztán mikor jöttek-mentek a DC-k (AD csapat nem beszélt senkivel, kifejezett kérdéseinkre is faszságokat válaszoltak mindig), a DNS SRV meg hirtelen visszaadta az újakat is, amikről persze mi nem tudtunk. Így nem is kértük meg a tűzfal allow-t azokra, ezért elhasalgatott látszólag random időközönként az LDAP. Szóval volt vele szopás bőven, amihez az adott munkahely szervezeti felépítése és idióta munkahelyi arrogáns egymást fúró csapat-légköre is hozzájárult. Hálistennek azóta már eljöttem onnan, és nem nekem kell ezzel se szopnom.
- A hozzászóláshoz be kell jelentkezni