Portál AbcLinuxu, 1. května 2025 20:48
Zdravim
Navazuju na můj předchozí blogpost o tlustých klientech do školy, aneb proti čemu ověřovat uživatele. Viz zde.
Pořešil jsem ověřování hesel, pořešil jsem automatické připojování disku H, včetně té opičárny kterou jsem končil předchozí blogpost.
Zbývá poslední věc a to jsou oživatele. Vyhnul jsem se uživatelům v LDAPu (ActiveDirectory), protože by to vyžadovalo zbytečně složité provázání s wokenním serverem.
V tuhle chvíli stačí založit uživatele příkazem "useradd uzivatel" a pokud tenhle uzivatel je zalozen na wokennim serveru a uzivatel zada spravne heslo, tak se mu pomoci pam_mkhomedir vytvori domovsky adresar a prihlasi se. K dokonalosti jeste chybi ty uzivatele dat do skupin audio, optical atd, to uz je spis jen detail.
Hledal jsem jestli PAM umi overit dvojici jmeno:heslo a pokud sedi tak zalozit lokalniho uzivatele. Narazil jsem jen na jednu starsi diskuzi, kde se resi vpodstate to same, ale bez vysledku. Viz zde.
Nevíte někdo jak to pořešit?
Díky.
Zdeněk
Tiskni
Sdílej:
[success=N]
daného autentizačního modulu odskočit na N. modul pam_exec, kterým si zavoláte useradd, nebo jaký skript potřebujete.
Chapu, ze mas urcite pro zvoleny postup sve duvody, ale doporucil bych ti znovu se zamyslet a zkusit pouzit standardni postup pro zacleni Linuxove masiny do Windows domeny (viz dokumentace Samby). Tim ti odpadne spousta problemu - at uz tento nebo i dalsi, na ktere v budoucnu narazis.
Jak jsem pochopil, chcete to pro "tlusté klienty". Předpokládám, že data uživatelů (domovské adresáře) budou na nějakém NFS serveru. Jak už tu někdo napsal, je třeba dát pozor na UID uživatelů.
/etc/passwd
a /etc/shadow
musíte mít na všech klientech připojené pro zápis ze serveru - už jen proto, aby UID zůstávala v čase konstantní.
/etc/passwd
z klientů (nevím ale, jak máte ty tlusté klienty řešené), a čekal bych s tím nejméně problémů. Žádná modifikace AD přitom není potřeba, stačí mít v AD vytvořen 1 účet, který bude mít práva dostatečná k vypsání seznamu všech uživatelů (to myslím může každý obyčejný uživatel).
Nicmene toto je neco jineho - tady nechces delat PDC, ale normalne join do domeny, ne? A proc ti vadi v LDAPu UNIXove parametry? (nikdy jsem s tim nedelal, takze vazne nevim!)
S tím využitím LDAPu jsem to asi navrhoval já, jsou v zásadě 2 možnosti:
1) Instalace Services for Unix na Windows Server - tím se do AD LDAP schematu doplní položky jako UID a GID - vygeneruje je Windows Server při založení uživatele. Linux se pak napojí přes nss_ldap, čte seznam uživatelů přímo z AD pomocí LDAP protokolu. Ani se moc nedivím, že to takhle nechcete řešit, je to dost velký zásah do AD.
2) Třeba každý den si pomocí skriptu na Linux serveru načíst seznam uživatelů z AD (můžete to omezit na některé skupiny / org. unit) a srovnat ho s /etc/passwd. Dostanete seznam uživatelů, kteří jsou v AD a nejsou v passwd - jim vytvoříte konta normálně pomocí useradd, zařadíte je do skupin, vygenerujete třeba nějaké výchozí nastavení desktopu - cokoliv je potřeba. V rámci toho zároveň zjistíte, že máte v passwd některé uživatele, kteří nejsou v AD - bud je rovnou smažete, nebo si ten seznam jen necháte poslat e-mailem.
Že se vytvoří i uživatelé, kteří to nikdy nevyužijí, až tak nevadí. Budou existovat jen jako záznam v passwd (pokud tedy budete zakládat home adresáře přes PAM).
Jinak chápu, že nechcete řešit plnou integraci AD přes sambu/winbind, takhle je to funkční a dostačující. Třeba někdo navrhne nějaké lepší řešení, ale tohle mi přijde jako potenciálně méně problémové, než "neprůhledný" pam_exec.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.