-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Mon 26 May 2014 06:18:08 PM EDT, Lukas Slebodnik wrote:
> On (14/03/14 14:22), Jakub Hrozek wrote:
>> On Fri, Mar 14, 2014 at 02:14:04PM +0100, Lukas Slebodnik wrote:
>>> On (13/03/14 15:24), Pete Fritchman wrote:
>>>> On Thu, Mar 13, 2014 at 1:28 PM, Jakub Hrozek
>>>> <jhro...@redhat.com> wrote:
>>>>> would you like any help amending the patch ? Are you still
>>>>> planning on re-sending it?
>>>> 
>>>> Hi Jakub,
>>>> 
>>>> Sorry - I forgot to follow up to this thread.  I attached a
>>>> new patch to the ticket that includes the case where
>>>> send_and_receive returns PAM_IGNORE and also updates the
>>>> pam_sss man page.
>>>> 
>>>> https://fedorahosted.org/sssd/ticket/2232 
>>>> https://fedorahosted.org/sssd/attachment/ticket/2232/0001-PAM-add-ignore_unknown_user-option.patch
>>>>
>>>>
>>>> 
thanks,
>>> ndex
>>> d45b2e88f16b030b81b180cef233bc024347f5d8..32558fac9b18e5f62b8968f6fbfbada6c9b3f504
>>> 100644
>>> 
>>>> Index: src/sss_client/pam_sss.c 
>>>> ===================================================================
>>>>
>>>> 
- --- a/src/sss_client/pam_sss.c
>>>> +++ b/src/sss_client/pam_sss.c @@ -47,6 +47,7 @@ #define
>>>> FLAGS_USE_FIRST_PASS (1 << 0) #define FLAGS_FORWARD_PASS   (1
>>>> << 1) #define FLAGS_USE_AUTHTOK    (1 << 2) +#define
>>>> FLAGS_IGNORE_UNKNOWN_USER (1 << 3)
>>>> 
>>>> #define PWEXP_FLAG "pam_sss:password_expired_flag" #define
>>>> FD_DESTRUCTOR "pam_sss:fd_destructor" @@ -1284,6 +1285,8 @@
>>>> static void eval_argv(pam_handle_t *pamh, int argc, const
>>>> char **argv, } } else if (strcmp(*argv, "quiet") == 0) { 
>>>> *quiet_mode = true; +        } else if (strcmp(*argv,
>>>> "ignore_unknown_user") == 0) { +            *flags |=
>>>> FLAGS_IGNORE_UNKNOWN_USER; } else { logger(pamh, LOG_WARNING,
>>>> "unknown option: %s", *argv); } @@ -1425,6 +1428,9 @@ static
>>>> int pam_sss(enum sss_cli_command task, pam_handle_t *pamh, 
>>>> ret = get_pam_items(pamh, &pi); if (ret != PAM_SUCCESS) { 
>>>> D(("get items returned error: %s", pam_strerror(pamh,ret))); 
>>>> +        if (flags & FLAGS_IGNORE_UNKNOWN_USER && ret ==
>>>> PAM_USER_UNKNOWN) { +            ret = PAM_IGNORE; +
>>>> } return ret; }
>>>> 
>>>> @@ -1463,6 +1469,11 @@ static int pam_sss(enum
>>>> sss_cli_command task, pam_handle_t *pamh,
>>>> 
>>>> pam_status = send_and_receive(pamh, &pi, task, quiet_mode);
>>>> 
>>>> +        if (flags & FLAGS_IGNORE_UNKNOWN_USER +
>>>> && pam_status == PAM_USER_UNKNOWN) { +            pam_status
>>>> = PAM_IGNORE;
>>> I think you can immediatelly return PAM_IGNORE
>> 
>> I think it's cleaner not to create more exit points from the
>> function.
>> 
>>>> 
>>>> +        } + switch (task) { case SSS_PAM_AUTHENTICATE: /* We
>>>> allow sssd to send the return code PAM_NEW_AUTHTOK_REQD
>>>> during
>>>> 
>>> 
>>> But you did not implement the same behavoiour like pam-ldap
>>> with argument ignore_authinfo_unavaile.
>>> 
>>> If sssd is stopped sss_pam will return PAM_AUTHINFO_UNAVAIL an
>>> local user cannot authenticate.
>>> 
>>> LS
>> 
>> Hm, that's true, I only tested with SSSD running. Feel free to
>> send a follow-up patch.
> 
> follow-up patch is attached.
> 
> How to test on linux?
> 
> Use following pam configuration in /etc/pam.d/password-auth # hbac
> will work, local user can connect to the machine with ssh # but
> local user will not be able to connect if sssd is down # e.g.
> service sssd stop
> 
> account     required      pam_unix.so broken_shadow account
> sufficient    pam_succeed_if.so uid < 1000 quiet account
> required      pam_sss.so debug ignore_unknown_user account
> required      pam_permit.so
> 
> 
> This change should fix the problem if sssd is down. -account
> required      pam_sss.so debug ignore_unknown_user +account
> required      pam_sss.so debug ignore_unknown_user
> ignore_authinfo_unavail
> 
> Arguments ignore_unknown_user ignore_authinfo_unavail are also
> implemented in pam_ldap.
> 


Not a full review, just a grammar review of the manpage.

Ack to the manpage phrasing.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iEYEARECAAYFAlOIiUgACgkQeiVVYja6o6NrkQCghWlzhpNJs1k5BTKvDXZT69HR
TlQAoJz4+Qz+Shm5sMOKO4jfDUTjW66J
=/Dot
-----END PGP SIGNATURE-----
_______________________________________________
sssd-devel mailing list
sssd-devel@lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/sssd-devel

Reply via email to