Portál AbcLinuxu, 25. dubna 2024 10:47


Dotaz: Přihlašování pomocí mysql místo /etc/passwd

3.12.2006 19:11 master
Přihlašování pomocí mysql místo /etc/passwd
Přečteno: 518×
Odpovědět | Admin
Nelíbí se mi ldap a proto bych chtěl udělat přihlašování pomocí mysql. Jde o lokální přihlašování a chtěl mych tam mít jak uživatele /etc/passwd, tak i mysql. Napadlo mě, že by to šlo přes pam. Jen nevím jak a nikde jsem nenašel návod. Poradí mi prosím někdo?
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

3.12.2006 20:13 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Přihlašování pomocí mysql místo /etc/passwd
Odpovědět | | Sbalit | Link | Blokovat | Admin
Hledejte Name Service Switch (NSS), pro MySQL třeba nss-mysql nebo libnss-mysql.
3.12.2006 22:00 master
Rozbalit Rozbalit vše Re: Přihlašování pomocí mysql místo /etc/passwd
Teď co si vybrat. Máte s tím nějaké zkušenosti? U toho druhýho je plus ta dokumentace k tomu. Jinak, co to vlastně dělá? To nahradí ty standartní linuxový mechanismy přihlašování a ověřuje to v mysql hned po nainstalování a samozřejmě založení databáze?
4.12.2006 08:01 devon | skóre: 3
Rozbalit Rozbalit vše Re: Přihlašování pomocí mysql místo /etc/passwd
Ahoj, používám na FreeBSD libnss-mysql a jsem s tím vcelku spokojen. V mysql je tabulka pro uživatele, ze které se tahá uid, gid, home, shell atp., pak tabulka pro skupiny a pro členství ve skupinách. Zatím to nepoužívám příliš dlouho a teprve přicházím na různé problémky. Je třeba nutné trošku ladit nastaveni mysql, protože dostává docela záhul. Nicméně instalace byla bezproblémová.

Libor
4.12.2006 08:05 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Přihlašování pomocí mysql místo /etc/passwd
Na to by asi mohl pomoci nscd (name service cache daemon), který údaje kešuje. Ovšem doporučuji během ladění NSS vypínat, jinak se budete divit, proč to pořád vrací staré údaje :-)
4.12.2006 18:40 devon | skóre: 3
Rozbalit Rozbalit vše Re: Přihlašování pomocí mysql místo /etc/passwd
Áááá děkuji, jdu se na to mrknout:-)
4.12.2006 08:03 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Přihlašování pomocí mysql místo /etc/passwd
NSS dělá to, že informace o uživatelských účtech a skupinách umí získávat z více míst, nejen z klasických souborů /etc/passwd a spol. Např. z LDAPu nebo právě z databáze.

V /etc/nsswitch.conf pak máte třeba
passwd:      compat
shadow:      compat
group:       compat
což znamená kompatibilní mód, tj. že se údaje berou ze souborů /etc/passwd, /etc/shadow a /etc/group.

Funguje to tak, že funkce pro získávání údajů o uživatelích (z glibc?) volají knihovnu libnss a ta podle konfigurace zavolá funkci v příslušném modulu (třeba libnss-mysql). Na to je potřeba si dát pozor, protože když změníte /etc/nsswitch.conf, změny se projeví až u nově spuštěných programů.

Kterou z těch dvou knihoven si vybrat bohužel neporadím, zkušenost mám jen s NSS přes LDAP nebo PostgreSQL.

Pro MySQL bude /etc/nsswitch.conf vypadat nejspíš nějak takhle:
passwd:      compat mysql
shadow:      compat mysql
group:       compat mysql
…
Plus bude ještě v /etc nějaký konfigurační soubor pro MySQL NSS, kde budou nadefinovány SELECTy pro příslušné tabulky, přihlašovací údaje k databázi apod.
4.12.2006 19:07 jm
Rozbalit Rozbalit vše Re: Přihlašování pomocí mysql místo /etc/passwd
Teď co si vybrat.
nss-mysql nebrat! Mrtva vykopavka, ktera ma prima featury jako ze tar nadherne segfaultuje... :X

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.