RE: PAM and the pwd.h interface

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I believe, strictly speaking, that's an application error - the application
should call PAM *before* any NSS calls if at all possible, exactly for this
reason. Last I checked, most didn't - which breaks Kerberos template users
(and any other username-rewriting)

The "correct" solution here is to fix the app, if at all possible - which
applications are you using?

Regards,
Phil

+----------------------------------+
| Phil Mayers, Network Support     |
| Centre for Computing Services    |
| Imperial College                 |
+----------------------------------+

-----Original Message-----
From: Chris Jaeger [mailto:cjaeger@ensim.com]
Sent: 11 June 2001 23:35
To: pam-list@redhat.com
Subject: Re: PAM and the pwd.h interface


Hi Adam,

	I'd actually posted this to the pam-list around
a couple of months ago, when I was trying to figure out
what the proper behavior for an application was supposed
to be with regards to handling usernames/testing for the
existence of a user. 

	In essence, for my application I'd like to be
able to translate usernames. PAM handles this fine;
I call pam_authenticate with the given username, if that
is successful, I retrieve the new username, and then
go on from there. However, 98% (an exact figure ;) of 
the applications out there seem to call getpwnam() to 
test for the existence of a user before trying to 
authenticate, and as my pre-translated users don't exist,
I never get a chance to authenticate. One can use
pam_authenticate() to test for the existence of a user,
but that isn't perfect either; I don't necessarily
want to authenticate. This can be fixed with pam_rootok,
but only if you are root. 

	So my original question was trying to determine
if someone had written a pwd library that does something
along the lines of pam_authenticate() to test for user
existence, and then uses the getpwnam function to retrieve
the user's attributes. I'll probably just write an nss library
that performs the same translation as my PAM module.

	It does seem a little bit awkward that one has
to write two libraries conforming to separate APIs in order
to authenticate a user and retrieve his or her attributes.
I do agree with Nicolas though, that targeting the read-side
of the API(s) may be more appropriate. 

Regards,
Chris

Adam Slattery wrote:
> 
> On Mon, 11 Jun 2001, Chris Jaeger wrote:
> 
> > Hi,
> >
> >       This could get me part of what I want, but would
> > involve me implementing a new libnss_xxx library, duplicating
> > some of what I already did for my PAM module. Oh well,
> > at least there is the option to plug in something different.
> >
> > Thanks,
> > Chris
> 
> There is still hope. Keep watching this thread, Nicolas and I are having a
> little discussion. In fact, I postponed my reply to his message to read
> this one... :)
> 
> What does your PAM module do?
> 
> You might provide further support for the ideas Nicolas and I are talking
> about with additions to the Linux-PAM api. I'm going to get back to my
> other message.
> 
> - Adam Slattery
> aslattery@sunriselinux.com



_______________________________________________

Pam-list@redhat.com
https://listman.redhat.com/mailman/listinfo/pam-list





[Index of Archives]     [Fedora Users]     [Kernel]     [Red Hat Install]     [Linux for the blind]     [Gimp]

  Powered by Linux