useradd -m m.pecio

Jacek Konieczny jajcus w pld-linux.org
Nie, 14 Mar 2004, 22:04:36 CET


On Sun, Mar 14, 2004 at 06:13:35PM +0100, Tomasz Pala wrote:
> On Tue, Mar 09, 2004 at 09:41:03 +0100, Jacek Konieczny wrote:
> 
> > Poza tym architektura PAM zwykle bardziej utrudnia niż ułatwia
> > kompleksowe rozwiązania uwierzytelniania użytkowników do wielu usług.
> > Dla mnie PAM + pam_sql to tylko taka ostatnia szansa dla usłóg które
> > same nie potrafią z PostgreSQL korzystać, zresztą już żadnej takiej
> > usługi dla użytkowników nie mam.
> 
> A możesz napisać, jakie masz i na jakim oprogramowaniu realizowane?

1. POP3 - courier-imap
2. SMTP - postfix + cyrus-sasl z modułem pgsql
3. antywir z personalizowaną konfiguracją - amavisd
4. FTP - proftpd z modułem pgsql (sypie się coś :( )

Chyba tyle mam "standardowych", poza tym sporo własnych programów
korzystających z tej samej bazy:

5. Serwer dhcp
6. Serwer DNS
7. System obsługi użytkowników przez WWW (na Zope)
8. firewall (n.p. blokowanie SMTP dla zawirusowanych kompów)
itp. itd.

Każdy użytkownik ma przypisany UID w systemie. W passwd nie mają wpisów,
jest jedynie nss_pgsql który pozwala mi widzieć sensowne nazwy po
wpisaniu np. "ls". Niestety tego bez "nscd" nie da się używać (za
wolne), więc nscd też musi chodzić (a to paskudztwo).

> > A SQL wraz ze schematami (PostgreSQL 7.4) i widokami pozwala używać
> > jednej bazy dla wielu różnych usług znacznie wygodniej niż PAM.
> 
> Wiesz może, gdzie mogę coś o tym poczytać?

W dokumentacji PostgreSQL.

W skrócie to mogę opowiedzieć na przykładzie mojej konfiguracji:

Mam bazę użytkowników zdefiniowaną tak jak _mnie_ się podoba. Wszystkie
tabele są w schemacie "int" (od "internal").

Dla każdej usługi robię osobny schemat, n.p. "postfix" albo "sasl" gdzie
są widoki zdefiniowane tak jak chce to widzieć dana usługa. Każda usługa
loguje się do bazy z innego usera (zwykle o nazwie takiej samej jak ma
schemat) który defaultowo ma ustawiony właściwy schemat. Dzięki temu nie
przeszkadza mi że usługa A i usługa B chcą korzystać z tabeli "passwd",
ale każda z nich oczekuje innych nazw pól. No i nie muszę wszystkim
usługom (i userom z których są odpalane) dawać dostępu do wszystkich
pól.

Pozdrowienia,
        Jacek



Więcej informacji o liście dyskusyjnej pld-devel-pl