Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 03 Feb 1999 11:46:27 +0500
From:      Konstantin Chuguev <joy@urc.ac.ru>
To:        Wes Peters <wes@softweyr.com>
Cc:        hackers@FreeBSD.ORG
Subject:   Re: YP-like mySQL thing
Message-ID:  <36B7F0C2.4FE4FAB5@urc.ac.ru>
References:  <Pine.BSF.4.05.9902021630200.535-100000@bright.fx.genx.net> <36B7A3C0.AC423DEC@softweyr.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Wes Peters wrote:

> Alex, I suggest that if you think you need to modify libc to do this, you
> probably have not thought about it enough.  I've been watching this thread
> for several days now, and wondering why it isn't sinking in that a PAM
> module to access the MySQL database would do what you are asking for
> without modifying libc.  That's why PAM was added.
>

I seem to miss something completely.

Until this time I was sure PAM is for absolutely other purpose. I can log
in/authenticate with S/Key, cleartext password, UNIX (/etc/master.passwd) password,
Kerberos or something I wrote myself through any utility which uses PAM explicitly,
such as login, su or xdm. I myself can write such a utility as well. After the
successful login, a service works with a user in a standard way, allowing or
disallowing the user to make some things regarding the service's configuration.
POP/IMAP services usually have very simple configuration, so do UUCP. FTP or WWW can
have much more complicate configuration, and they are often use /etc/[master.]passwd
looking for the user's home directory. UNIX shell accounts are based on
/etc/master.passwd completely, they learn from this file about the user's id, its
group id, class, home dir and the shell implementation itself. Disc quotas mechanism
is based on UIDs and GIDs, file access permissions and every executable depend on
UID, GID. Many things depend on the user's class. All the utilities call getpwent
and/or getgrent for this purposes, PAM knows nothing about it. At least, I found
nothing related to it in PAM documentation.

What I cannot do with PAM is to bind the user with this information. I don't want to
use /etc/passwd for my customers because I have many servers with different services
including UNIX accounts.

In other words, if FreeBSD supported NIS+, I'd use it probably. But I prefer to use
a database's table for it, because the same database would have other tables with
information about the same user's dial-up permissions, statistics, IP access-lists,
contracts, payments etc. And, of course, all those tables are the one single
relation. ISP staff members can have different access rights to this database.
Someone can add/delete/modify the contract information, some more technical person
can change access lists or passwords, someone can fetch the statistics. All with the
database integrity guaranteed.

Am I wrong and PAM has callbacks reporting about UNIX user's capabilities which are
usually in /etc/passwd?


--
        Konstantin V. Chuguev.          System administrator of Southern
        http://www.urc.ac.ru/~joy/      Ural Regional Center of FREEnet,
        mailto:joy@urc.ac.ru            Chelyabinsk, Russia.




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?36B7F0C2.4FE4FAB5>