Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1137014 - Shell fallback mechanism in SSSD
Shell fallback mechanism in SSSD
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: sssd (Show other bugs)
7.0
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Jakub Hrozek
Kaushik Banerjee
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2014-09-03 16:24 EDT by Jakub Hrozek
Modified: 2015-03-05 05:33 EST (History)
8 users (show)

See Also:
Fixed In Version: sssd-1.12.2-5.el7
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2015-03-05 05:33:38 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2015:0441 normal SHIPPED_LIVE sssd bug fix and enhancement update 2015-03-05 10:05:27 EST

  None (edit)
Description Jakub Hrozek 2014-09-03 16:24:33 EDT
This bug is created as a clone of upstream ticket:
https://fedorahosted.org/sssd/ticket/2219

At this moment shell fallback mechanism in SSSD works a bit complex. Before it can be used you need to point in sssd.conf parameter allowed_shells. This parameter used for enumerate shells for which SSSD will use its shell fallback. 
It's not very convenient when you got huge heterogeneous network for different projects with different administrators. It seems shells(5) would be enough to indicate whenever SSSD need to use fallback shell.

To resolve this problem I contributed a tiny patch https://lists.fedorahosted.org/pipermail/sssd-devel/2014-January/018265.html "it's not pretty but it got it going on"
Comment 1 Jakub Hrozek 2014-10-22 15:49:25 EDT
* master: e88d426def412c0dde83e15fe17cdf374ee70166
Comment 3 Nirupama Karandikar 2015-01-07 04:27:16 EST
Tested with sssd-1.12.2-39.el7.x86_64

1. Set sssd.conf with following.

[nss]
debug_level = 9
allowed_shells = /bin/zsh
shell_fallback = /bin/bash

2. Add user in LDAP with "loginShell: /bin/zsh"

3. Make sure the 'zsh' rpm is not installed on client.

# getent -s sss passwd kb4

kb4:*:13581:13581:kb4:/home/kb4:/bin/bash

4. From /var/log/sssd/sssd_nss.log
-----------------------------
(Wed Jan  7 14:20:52 2015) [sssd[nss]] [nss_cmd_getpwnam_search] (0x0400): Returning info for user [kb4@DOMAIN1]
(Wed Jan  7 14:20:52 2015) [sssd[nss]] [get_shell_override] (0x0200): The shell '/bin/zsh' is allowed but does not exist. Using fallback
-----------------------------

5. Try login with user 

# ssh kb4@localhost
kb4@localhost's password: 
Last login: Wed Jan  7 14:32:23 2015 from localhost
id: cannot find name for group ID 13581
[kb4@dhcp207-182 ~]$ echo $SHELL
/bin/bash
[kb4@dhcp207-182 ~]$ 


6. Now install 'zsh' rpm on the system.

# yum install zsh

7 Re-try user lookup and auth.

# getent -s sss passwd kb4
kb4:*:13581:13581:kb4:/home/kb4:/bin/zsh

No shell fallback message will occur in logs allowed shell exist. 

# ssh kb4@localhost
kb4@localhost's password: 
[kb4@dhcp207-182]~% echo $SHELL
/bin/zsh
[kb4@dhcp207-182]~%
Comment 5 errata-xmlrpc 2015-03-05 05:33:38 EST
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2015-0441.html

Note You need to log in before you can comment on or make changes to this bug.