From: Daniel Troeder <daniel@admin-box.com>
To: gentoo-user@lists.gentoo.org
Subject: Re: [gentoo-user] nss_updatedb && pam_ccreds
Date: Tue, 03 Aug 2010 21:31:28 +0200 [thread overview]
Message-ID: <4C586E90.1010002@admin-box.com> (raw)
In-Reply-To: <201007291850.13570.Giampiero@gabbiani.org>
[-- Attachment #1: Type: text/plain, Size: 4977 bytes --]
On 07/29/2010 06:50 PM, Giampiero Gabbiani wrote:
> Hi all,
> I configured nss & pam in order to make LDAP authentication. In order to
> have a proper authentication and attributes retrieving I added also ccreds
> and nss_updatedb modifying /etc/pam.d/system-auth for the first and
> /etc/nsswithch for both:
>
> /etc/pam.d/system-auth:
>
> auth [success=done default=ignore] pam_unix.so
> nullok_secure try_first_pass debug
> auth [authinfo_unavail=ignore success=1 default=2] pam_ldap.so
> use_first_pass
> auth [default=done]
> pam_ccreds.so action=validate use_first_pass
> auth [default=done]
> pam_ccreds.so action=store
> auth [default=bad]
> pam_ccreds.so action=update
>
> account [user_unknown=ignore authinfo_unavail=ignore default=done]
> pam_unix.so debug
> account [user_unknown=ignore authinfo_unavail=ignore default=done]
> pam_ldap.so debug
> account required
> pam_permit.so
>
> password required pam_cracklib.so difok=2 minlen=8 dcredit=2
> ocredit=2 try_first_pass retry=3
> password sufficient pam_unix.so try_first_pass use_authtok
> nullok md5 shadow
> password sufficient pam_ldap.so use_authtok use_first_pass
> password required pam_deny.so
>
> session optional pam_mkhomedir.so skel=/etc/skel/ umask=0022
> session required pam_limits.so
> session required pam_env.so
> session required pam_unix.so
> session optional pam_permit.so
> session optional pam_ldap.so
>
> # /etc/nsswitch.conf:
> # $Header: /var/cvsroot/gentoo/src/patchsets/glibc/extra/etc/nsswitch.conf,v
> 1.1 2006/09/29 23:52:23 vapier Exp $
>
> passwd: files ldap [NOTFOUND=return] db
> shadow: files ldap
> group: files ldap [NOTFOUND=return] db
>
> #passwd: files ldap
> #shadow: files ldap
> #group: files ldap
>
> # passwd: db files nis
> # shadow: db files nis
> # group: db files nis
>
> hosts: files dns
> networks: files dns
>
> services: db files
> protocols: db files
> rpc: db files
> ethers: db files
> netmasks: files
> netgroup: files ldap
> bootparams: files
>
> automount: files ldap
> aliases: files
>
> sudoers: ldap files
>
> the problem is that, when the connection to the ldap server is down, I can't
> login:
>
> Jul 18 19:22:59 athena login[10600]: pam_unix(login:auth): check pass; user
> unknown
> Jul 18 19:22:59 athena login[10600]: pam_unix(login:auth): authentication
> failure; logname=LOGIN uid=0 euid=0 tty=tty2 ruser= rhost=
> Jul 18 19:22:59 athena login[10600]: pam_ldap: ldap_simple_bind Can't
> contact LDAP server
> Jul 18 19:23:02 athena login[10600]: nss_ldap: failed to bind to LDAP server
> ldap://vesta.homenet.telecomitalia.it: Can't contact LDAP server
> Jul 18 19:23:02 athena login[10600]: nss_ldap: could not search LDAP server
> - Server is unavailable
> Jul 18 19:23:02 athena login[10600]: FAILED LOGIN (1) on 'tty2' FOR
> `UNKNOWN', User not known to the underlying authentication module
>
> from the last line above it seems like the credentials were not cached or the
> nss switch doesn't use the db service for the passwd and shadow database.
>
> Is there someone that has a working configuration in order to have the
> cached credentials systems working properly ?
>
> Regards
> Giampiero
>
I haven't done this on Gentoo, only on a Ubuntu 10.04 system of a
client, but there it works like a charm. So I don't know if the
following applies, but here are my ideas:
Did you run "sudo nss_updatedb ldap"? In Ubuntu it fetches the
(non-password) data for "getent passwd" and "getent group" and stores it
in /var/lib/misc/passwd.db and /var/lib/misc/group.db.
Check those files. You should be able to list LDAP-users and LDAP-groups
now without connection to the LDAP (by running "getent passwd" and
"getent group").
The PAM configuration is very different of course.
Then to be able to login the user must have logged in once with the LDAP
connected, so that the password can be stored locally. If that was
successful, can be checked by running "sudo cc_dump". It prints:
$ sudo cc_dump
Credential Type User Service Cached Credentials
------------------------------------------------------------------------
Salted SHA1 daniel any 788e8f863a089211911dbbf1774ce141516936f4
Hope it helps...
Daniel
--
PGP key @ http://pgpkeys.pca.dfn.de/pks/lookup?search=0xBB9D4887&op=get
# gpg --recv-keys --keyserver hkp://subkeys.pgp.net 0xBB9D4887
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 262 bytes --]
next prev parent reply other threads:[~2010-08-03 19:32 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-29 16:50 [gentoo-user] nss_updatedb && pam_ccreds Giampiero Gabbiani
2010-07-30 11:50 ` Vincent-Xavier JUMEL
2010-08-03 19:31 ` Daniel Troeder [this message]
2010-08-22 13:51 ` [gentoo-user] SOLVED: " Giampiero Gabbiani
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4C586E90.1010002@admin-box.com \
--to=daniel@admin-box.com \
--cc=gentoo-user@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox