That works, but it is only pre-auth mode. In --auth mode it fails, but I don't think that relevant since fails the same way on Fedora too.The problems seems to be that on Ubuntu, --auth mode is never called. On Fedora p11_child is called twice. Once with --pre and then a second time with --auth. In the log you see:$ egrep 'main|verified' p11_child.log(Thu Sep 28 14:23:19 2017) [[sssd[p11_child[15375]]]] [main] (0x0400): p11_child started.(Thu Sep 28 14:23:19 2017) [[sssd[p11_child[15375]]]] [main] (0x2000): Running in [pre-auth] mode.(Thu Sep 28 14:23:19 2017) [[sssd[p11_child[15375]]]] [main] (0x2000): Running with effective IDs: [0][0].(Thu Sep 28 14:23:19 2017) [[sssd[p11_child[15375]]]] [main] (0x2000): Running with real IDs [0][0].(Thu Sep 28 14:23:22 2017) [[sssd[p11_child[15378]]]] [main] (0x0400): p11_child started.(Thu Sep 28 14:23:22 2017) [[sssd[p11_child[15378]]]] [main] (0x2000): Running in [auth] mode.(Thu Sep 28 14:23:22 2017) [[sssd[p11_child[15378]]]] [main] (0x2000): Running with effective IDs: [0][0].(Thu Sep 28 14:23:22 2017) [[sssd[p11_child[15378]]]] [main] (0x2000): Running with real IDs [0][0].(Thu Sep 28 14:23:23 2017) [[sssd[p11_child[15378]]]] [do_work] (0x4000): Certificate verified and validated.I've trimmed the log to what (I think) was interesting. I can send everything if you need it.For Ubuntu, the log stops after the first invocation of p11_child and you never see the [auth] mode call. Otherwise the logs are the same.SteveOn Fri, Sep 29, 2017 at 3:17 AM, Sumit Bose <sbose@redhat.com> wrote:On Thu, Sep 28, 2017 at 02:35:55PM -0400, Steve Weeks wrote:
> Progress, but still not using the smartcard and falling back to the
> password.
>
> I changed to change the pam_sss line in common-auth too:
>
> auth [default=1 success=ok] pam_localuser.so
> auth [success=2 default=ignore] pam_unix.so nullok_secure
> #auth [success=1 default=ignore] pam_sss.so use_first_pass
> auth sufficient pam_sss.so forward_pass
>
> Now p11_child is called, but doesn't validate the certificate. On Fedora
> the final line in p11_child.log is "Ceritificate verified and validated".
> On Ubuntu that line is missing.
>
> The root certificate is in the certdb. (certutil -d /etc/pki/nssdb -L).
>
> Is there a way to do what p11_child does from the command line or with
> better logging so I can what it doesn't like? I have debug_level = 9 on
> everything at the moment.
/usr/libexec/sssd/p11_child -d 10 --debug-fd=1 --pre --nssdb=/etc/pki/nssdb
should do the trick.
HTH
bye,
Sumit
>
> Thanks,
> Steve
>
>
> On Thu, Sep 28, 2017 at 12:43 PM, Sumit Bose <sbose@redhat.com> wrote:
>
> > On Thu, Sep 28, 2017 at 12:13:38PM -0400, Steve Weeks wrote:
> > > In all cases on both system pam_unix comes before pam_sss. For example
> > in
> > > Fedora system-auth it is:
> >
> > On recent Fedora systems you should have
> >
> > auth [default=1 success=ok] pam_localuser.so
> >
> > before the lines below. This will call pam_unix only for users from
> > /etc/passwd and skip the line it otherwise (default=1). Maybe something
> > like this would help on Ubuntu as well?
> >
> > bye,
> > Sumit
> >
> > >
> > > auth [success=done ignore=ignore default=die] pam_unix.so nullok
> > > try_first_pass
> > > auth requisite pam_succeed_if.so uid >= 1000 quiet_success
> > > auth sufficient pam_sss.so forward_pass
> > >
> > > and in Ubuntu common-auth it is:
> > >
> > > auth [success=2 default=ignore] pam_unix.so nullok_secure
> > > auth [success=1 default=ignore] pam_sss.so use_first_pass
> > >
> > > I tried reversing the lines and get a pam error about user not know (it
> > is
> > > an AD user which works fine on fedora).
> > >
> > > Also, it looks like pam_pkcs11.so is used in smartcard-auth on Fedora.
> > > Don't know if this is relevant or not.
> > >
> > > Steve
> > >
> > >
> > > On Thu, Sep 28, 2017 at 11:40 AM, Sumit Bose via FreeIPA-users <
> > > freeipa-users@lists.fedorahosted.org > wrote:
> > >
> > > > On Thu, Sep 28, 2017 at 11:29:27AM -0400, Steve Weeks via FreeIPA-users
> > > > wrote:
> > > > > We have smartcards (PIV) working just fine on Fedora 25 with FreeIPA
> > > > client
> > > > > version 4.4.4 (SSSD 1.14.2). However on Ubuntu 16.04, FreeIPA client
> > > > > 4.3.1, SSSD 1.13.4 the smartcard seems to be ignored.
> > > > >
> > > > > The smartcard is readable using pkcs11-tools and pkcs15-tools on both
> > > > > systems.
> > > > >
> > > > > On both systems sssd.conf contains:
> > > > > [pam]
> > > > > pam_cert_auth = True
> > > > >
> > > > > I've turned the sssd logging up to 9 on both systems and it looks
> > like
> > > > > p11_child is never called on the Ubuntu system. On the Ubuntu system
> > > > > p11_child.log is empty and there is no sign of it being started in
> > the
> > > > > sssd_pam.log.
> > > > >
> > > > > Any suggestions on what I should look at next?
> > > >
> > > > How does your PAM configuration looks like? You have to make sure that
> > > > pam_sss.so is the first module called for SSSD users. If pam_unix comes
> > > > first it will ask for a Password and pass it on to pam_sss.so which
> > will
> > > > try password authentication in this case.
> > > >
> > > > HTH
> > > >
> > > > bye,
> > > > Sumit
> > > >
> > > > >
> > > > > Thanks,
> > > > > Steve
> > > >
> > > > > _______________________________________________
> > > > > FreeIPA-users mailing list -- freeipa-users@lists.fedorahosted.org
> > > > > To unsubscribe send an email to freeipa-users-leave@lists.
> > > > fedorahosted.org
> > > > _______________________________________________
> > > > FreeIPA-users mailing list -- freeipa-users@lists.fedorahosted.org
> > > > To unsubscribe send an email to freeipa-users-leave@lists.
> > fedorahosted.org
> > > >
> >