Bug 1817375
| Summary: | Removing an IPA sub-group should NOT remove the members from indirect parent that also belong to other subgroups [rhel-7.4.z] | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | RAD team bot copy to z-stream <autobot-eus-copy> |
| Component: | sssd | Assignee: | Alexey Tikhonov <atikhono> |
| Status: | CLOSED ERRATA | QA Contact: | ipa-qe <ipa-qe> |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | 7.7 | CC: | afarley, atikhono, bthekkep, dchen, grajaiya, ipa-qe, jhrozek, ksiddiqu, lslebodn, mzidek, ndehadra, pbrezina, sbose, sgoveas, ssidhaye, thalman, tscherf, yoguma, yuriy.halytskyy |
| Target Milestone: | rc | Keywords: | ZStream |
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | sssd-1.15.2-50.el7_4.15 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | 1782087 | Environment: | |
| Last Closed: | 2020-05-19 14:40:59 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | 1782087 | ||
| Bug Blocks: | |||
|
Description
RAD team bot copy to z-stream
2020-03-26 09:07:43 UTC
* `sssd-1-16`
* 9a7c044dcd17b23127ddda25ff9cddc9c67fe4ca - memberof: keep memberOf attribute for nested member
Reproducer:
master
[root@ci-vm-10-0-137-74 ~]# rpm -q ipa-server sssd
ipa-server-4.5.0-20.el7.x86_64
sssd-1.15.2-50.el7.x86_64
[root@ci-vm-10-0-137-74 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.4 (Maipo)
[root@ci-vm-10-0-137-74 ~]#
client
[root@ci-vm-10-0-136-184 ~]# rpm -q ipa-client sssd; cat /etc/redhat-release
ipa-client-4.5.0-20.el7.x86_64
sssd-1.15.2-50.el7.x86_64
Red Hat Enterprise Linux Server release 7.4 (Maipo)
on master:
[root@ci-vm-10-0-137-74 ~]# kinit admin
Password for admin:
[root@ci-vm-10-0-137-74 ~]# vim test.sh
[root@ci-vm-10-0-137-74 ~]# sh -x test.sh
+ ipa hbacrule-add --usercat=all --hostcat=all --servicecat=all any_to_any
----------------------------
Added HBAC rule "any_to_any"
----------------------------
Rule name: any_to_any
User category: all
Host category: all
Service category: all
Enabled: TRUE
+ ipa user-add --first=u --last=1 u1
---------------
Added user "u1"
---------------
User login: u1
First name: u
Last name: 1
Full name: u 1
Display name: u 1
Initials: u1
Home directory: /home/u1
GECOS: u 1
Login shell: /bin/sh
Principal name: u1
Principal alias: u1
Email address: u1
UID: 1142600001
GID: 1142600001
Password: False
Member of groups: ipausers
Kerberos keys available: False
+ ipa passwd u1
New Password:
Enter New Password again to verify:
----------------------------------------
Changed password for "u1"
----------------------------------------
+ ipa group-add a
---------------
Added group "a"
---------------
Group name: a
GID: 1142600003
+ ipa group-add b
---------------
Added group "b"
---------------
Group name: b
GID: 1142600004
+ ipa group-add c
---------------
Added group "c"
---------------
Group name: c
GID: 1142600005
+ ipa group-add-member --groups=a b
Group name: b
GID: 1142600004
Member groups: a
-------------------------
Number of members added 1
-------------------------
+ ipa group-add-member --groups=b c
Group name: c
GID: 1142600005
Member groups: b
Indirect Member groups: a
-------------------------
Number of members added 1
-------------------------
+ ipa group-add-member --users=u1 a
Group name: a
GID: 1142600003
Member users: u1
Member of groups: b
Indirect Member of group: c
-------------------------
Number of members added 1
-------------------------
+ ipa user-show u1
+ grep group
Member of groups: a, ipausers
Indirect Member of group: b, c
[root@ci-vm-10-0-137-74 ~]# systemctl stop sssd; find /var/lib/sss/ ! -type d -delete; systemctl start sssd
[root@ci-vm-10-0-137-74 ~]# systemctl status sssd
● sssd.service - System Security Services Daemon
Loaded: loaded (/usr/lib/systemd/system/sssd.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/sssd.service.d
└─journal.conf
Active: active (running) since Fri 2020-05-15 01:47:52 EDT; 5s ago
Main PID: 15176 (sssd)
CGroup: /system.slice/sssd.service
├─15176 /usr/sbin/sssd -i -f
├─15177 /usr/libexec/sssd/sssd_be --domain testrealm.test --uid 0 --gid 0 --debug-to-files
├─15178 /usr/libexec/sssd/sssd_sudo --uid 0 --gid 0 --debug-to-files
├─15179 /usr/libexec/sssd/sssd_nss --uid 0 --gid 0 --debug-to-files
├─15180 /usr/libexec/sssd/sssd_ifp --uid 0 --gid 0 --debug-to-files
├─15181 /usr/libexec/sssd/sssd_pam --uid 0 --gid 0 --debug-to-files
├─15182 /usr/libexec/sssd/sssd_ssh --uid 0 --gid 0 --debug-to-files
└─15183 /usr/libexec/sssd/sssd_pac --uid 0 --gid 0 --debug-to-files
May 15 01:47:52 master.testrealm.test sssd[pam][15181]: Starting up
May 15 01:47:52 master.testrealm.test sssd[sudo][15178]: Starting up
May 15 01:47:52 master.testrealm.test sssd[nss][15179]: Starting up
May 15 01:47:52 master.testrealm.test sssd[ssh][15182]: Starting up
May 15 01:47:52 master.testrealm.test sssd[pac][15183]: Starting up
May 15 01:47:52 master.testrealm.test sssd_be[15177]: GSSAPI client step 1
May 15 01:47:52 master.testrealm.test sssd_be[15177]: GSSAPI client step 1
May 15 01:47:52 master.testrealm.test systemd[1]: Started System Security Services Daemon.
May 15 01:47:52 master.testrealm.test sssd_be[15177]: GSSAPI client step 1
May 15 01:47:52 master.testrealm.test sssd_be[15177]: GSSAPI client step 2
[root@ci-vm-10-0-137-74 ~]# ssh -q u1.test groups
Password:
Password expired. Change your password now.
Current Password:
New password:
Retype new password:
Could not chdir to home directory /home/u1: No such file or directory
u1 a b c
[root@ci-vm-10-0-137-74 ~]# ipa group-add-member --users=u1 b
Group name: b
GID: 1142600004
Member users: u1
Member groups: a
Member of groups: c
-------------------------
Number of members added 1
-------------------------
on client:
[root@ci-vm-10-0-136-184 ~]# ssh -q u1.test groups
Password:
u1 a b c
Could not chdir to home directory /home/u1: No such file or directory
on master:
[root@ci-vm-10-0-137-74 ~]# ipa group-remove-member --users=u1 b
Group name: b
GID: 1142600004
Member groups: a
Member of groups: c
Indirect Member users: u1
---------------------------
Number of members removed 1
---------------------------
on client:
[root@ci-vm-10-0-136-184 ~]# ssh -q u1.test groups
Password:
Could not chdir to home directory /home/u1: No such file or directory
u1 a c
Scenario mentioned in https://bugzilla.redhat.com/show_bug.cgi?id=1782087#c0
[root@ci-vm-10-0-137-74 ~]# sh +x test2.sh
First name: user
Last name: one
------------------
Added user "user1"
------------------
User login: user1
First name: user
Last name: one
Full name: user one
Display name: user one
Initials: uo
Home directory: /home/user1
GECOS: user one
Login shell: /bin/sh
Principal name: user1
Principal alias: user1
Email address: user1
UID: 1142600006
GID: 1142600006
Password: False
Member of groups: ipausers
Kerberos keys available: False
--------------------
Added group "child1"
--------------------
Group name: child1
GID: 1142600007
--------------------
Added group "child2"
--------------------
Group name: child2
GID: 1142600008
--------------------
Added group "parent"
--------------------
Group name: parent
GID: 1142600009
Group name: parent
GID: 1142600009
Member groups: child1
-------------------------
Number of members added 1
-------------------------
Group name: parent
GID: 1142600009
Member groups: child1, child2
-------------------------
Number of members added 1
-------------------------
Group name: child1
GID: 1142600007
Member users: user1
Member of groups: parent
-------------------------
Number of members added 1
-------------------------
Group name: child2
GID: 1142600008
Member users: user1
Member of groups: parent
-------------------------
Number of members added 1
-------------------------
[root@ci-vm-10-0-137-74 ~]# sss_cache -E
[root@ci-vm-10-0-137-74 ~]# id user1
uid=1142600006(user1) gid=1142600006(user1) groups=1142600006(user1),1142600009(parent),1142600008(child2),1142600007(child1)
[root@ci-vm-10-0-137-74 ~]# sss_cache -E
[root@ci-vm-10-0-137-74 ~]# getent group parent
parent:*:1142600009:user1
[root@ci-vm-10-0-137-74 ~]# sss_cache -E
[root@ci-vm-10-0-137-74 ~]# ipa user-show user1
User login: user1
First name: user
Last name: one
Home directory: /home/user1
Login shell: /bin/sh
Principal name: user1
Principal alias: user1
Email address: user1
UID: 1142600006
GID: 1142600006
Account disabled: False
Password: False
Member of groups: ipausers, child1, child2
Indirect Member of group: parent
Kerberos keys available: False
[root@ci-vm-10-0-137-74 ~]# sss_cache -E
[root@ci-vm-10-0-137-74 ~]# ipa group-remove-member parent --group child1
Group name: parent
GID: 1142600009
Member groups: child2
Indirect Member users: user1
---------------------------
Number of members removed 1
---------------------------
[root@ci-vm-10-0-137-74 ~]# sss_cache -E
[root@ci-vm-10-0-137-74 ~]# id user1
uid=1142600006(user1) gid=1142600006(user1) groups=1142600006(user1),1142600007(child1),1142600008(child2)
[root@ci-vm-10-0-137-74 ~]# sss_cache -E
[root@ci-vm-10-0-137-74 ~]# getent group parent
parent:*:1142600009:
[root@ci-vm-10-0-137-74 ~]# sss_cache -E
[root@ci-vm-10-0-137-74 ~]# ipa user-show user1
User login: user1
First name: user
Last name: one
Home directory: /home/user1
Login shell: /bin/sh
Principal name: user1
Principal alias: user1
Email address: user1
UID: 1142600006
GID: 1142600006
Account disabled: False
Password: False
Member of groups: ipausers, child1, child2
Indirect Member of group: parent
Kerberos keys available: False
Verification:
master:
[root@ci-vm-10-0-136-92 ~]# rpm -q ipa-server sssd; cat /etc/redhat-release
ipa-server-4.5.0-20.el7.x86_64
sssd-1.15.2-50.el7_4.15.x86_64
Red Hat Enterprise Linux Server release 7.4 (Maipo)
client:
[root@ci-vm-10-0-137-155 ~]# rpm -q ipa-client sssd; cat /etc/redhat-release
ipa-client-4.5.0-20.el7.x86_64
sssd-1.15.2-50.el7_4.15.x86_64
Red Hat Enterprise Linux Server release 7.4 (Maipo)
on master:
[root@ci-vm-10-0-136-92 ~]# kinit admin
Password for admin:
[root@ci-vm-10-0-136-92 ~]# klist
Ticket cache: KEYRING:persistent:0:0
Default principal: admin
Valid starting Expires Service principal
2020-05-15T02:10:06 2020-05-16T02:10:03 krbtgt/TESTREALM.TEST
[root@ci-vm-10-0-136-92 ~]# sh +x test.sh
----------------------------
Added HBAC rule "any_to_any"
----------------------------
Rule name: any_to_any
User category: all
Host category: all
Service category: all
Enabled: TRUE
---------------
Added user "u1"
---------------
User login: u1
First name: u
Last name: 1
Full name: u 1
Display name: u 1
Initials: u1
Home directory: /home/u1
GECOS: u 1
Login shell: /bin/sh
Principal name: u1
Principal alias: u1
Email address: u1
UID: 1975600001
GID: 1975600001
Password: False
Member of groups: ipausers
Kerberos keys available: False
New Password:
Enter New Password again to verify:
----------------------------------------
Changed password for "u1"
----------------------------------------
---------------
Added group "a"
---------------
Group name: a
GID: 1975600003
---------------
Added group "b"
---------------
Group name: b
GID: 1975600004
---------------
Added group "c"
---------------
Group name: c
GID: 1975600005
Group name: b
GID: 1975600004
Member groups: a
-------------------------
Number of members added 1
-------------------------
Group name: c
GID: 1975600005
Member groups: b
Indirect Member groups: a
-------------------------
Number of members added 1
-------------------------
Group name: a
GID: 1975600003
Member users: u1
Member of groups: b
Indirect Member of group: c
-------------------------
Number of members added 1
-------------------------
Member of groups: a, ipausers
Indirect Member of group: b, c
[root@ci-vm-10-0-136-92 ~]# systemctl stop sssd; find /var/lib/sss/ ! -type d -delete; systemctl start sssd
[root@ci-vm-10-0-136-92 ~]# systemctl status sssd
● sssd.service - System Security Services Daemon
Loaded: loaded (/usr/lib/systemd/system/sssd.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/sssd.service.d
└─journal.conf
Active: active (running) since Fri 2020-05-15 02:11:03 EDT; 5s ago
Main PID: 15215 (sssd)
CGroup: /system.slice/sssd.service
├─15215 /usr/sbin/sssd -i -f
├─15216 /usr/libexec/sssd/sssd_be --domain testrealm.test --uid 0 --gid 0 --debug-to-files
├─15217 /usr/libexec/sssd/sssd_sudo --uid 0 --gid 0 --debug-to-files
├─15218 /usr/libexec/sssd/sssd_nss --uid 0 --gid 0 --debug-to-files
├─15219 /usr/libexec/sssd/sssd_ifp --uid 0 --gid 0 --debug-to-files
├─15220 /usr/libexec/sssd/sssd_pam --uid 0 --gid 0 --debug-to-files
├─15221 /usr/libexec/sssd/sssd_ssh --uid 0 --gid 0 --debug-to-files
└─15222 /usr/libexec/sssd/sssd_pac --uid 0 --gid 0 --debug-to-files
May 15 02:11:03 master.testrealm.test sssd[pac][15222]: Starting up
May 15 02:11:03 master.testrealm.test sssd[nss][15218]: Starting up
May 15 02:11:03 master.testrealm.test sssd[ssh][15221]: Starting up
May 15 02:11:03 master.testrealm.test sssd[ifp][15219]: Starting up
May 15 02:11:03 master.testrealm.test sssd[sudo][15217]: Starting up
May 15 02:11:03 master.testrealm.test sssd_be[15216]: GSSAPI client step 1
May 15 02:11:03 master.testrealm.test sssd_be[15216]: GSSAPI client step 1
May 15 02:11:03 master.testrealm.test sssd_be[15216]: GSSAPI client step 1
May 15 02:11:03 master.testrealm.test systemd[1]: Started System Security Services Daemon.
May 15 02:11:03 master.testrealm.test sssd_be[15216]: GSSAPI client step 2
[root@ci-vm-10-0-136-92 ~]# ssh -q u1.test groups
Password:
Password expired. Change your password now.
Current Password:
New password:
Retype new password:
Could not chdir to home directory /home/u1: No such file or directory
u1 a b c
[root@ci-vm-10-0-136-92 ~]# ipa group-add-member --users=u1 b
Group name: b
GID: 1975600004
Member users: u1
Member groups: a
Member of groups: c
-------------------------
Number of members added 1
-------------------------
on client:
[root@ci-vm-10-0-137-155 ~]# ssh -q u1.test groups
Password:
u1 a b c
Could not chdir to home directory /home/u1: No such file or directory
on master:
[root@ci-vm-10-0-136-92 ~]# ipa group-remove-member --users=u1 b
Group name: b
GID: 1975600004
Member groups: a
Member of groups: c
Indirect Member users: u1
---------------------------
Number of members removed 1
---------------------------
on client:
[root@ci-vm-10-0-137-155 ~]# ssh -q u1.test groups
Password:
u1 a b c
Could not chdir to home directory /home/u1: No such file or directory
Scenario mentioned in https://bugzilla.redhat.com/show_bug.cgi?id=1782087#c0
[root@ci-vm-10-0-136-92 ~]# sh +x test2.sh
First name: user
Last name: one
------------------
Added user "user1"
------------------
User login: user1
First name: user
Last name: one
Full name: user one
Display name: user one
Initials: uo
Home directory: /home/user1
GECOS: user one
Login shell: /bin/sh
Principal name: user1
Principal alias: user1
Email address: user1
UID: 1975600006
GID: 1975600006
Password: False
Member of groups: ipausers
Kerberos keys available: False
--------------------
Added group "child1"
--------------------
Group name: child1
GID: 1975600007
--------------------
Added group "child2"
--------------------
Group name: child2
GID: 1975600008
--------------------
Added group "parent"
--------------------
Group name: parent
GID: 1975600009
Group name: parent
GID: 1975600009
Member groups: child1
-------------------------
Number of members added 1
-------------------------
Group name: parent
GID: 1975600009
Member groups: child1, child2
-------------------------
Number of members added 1
-------------------------
Group name: child1
GID: 1975600007
Member users: user1
Member of groups: parent
-------------------------
Number of members added 1
-------------------------
Group name: child2
GID: 1975600008
Member users: user1
Member of groups: parent
-------------------------
Number of members added 1
-------------------------
[root@ci-vm-10-0-136-92 ~]# sss_cache -E
[root@ci-vm-10-0-136-92 ~]# id user1
uid=1975600006(user1) gid=1975600006(user1) groups=1975600006(user1),1975600009(parent),1975600008(child2),1975600007(child1)
[root@ci-vm-10-0-136-92 ~]# sss_cache -E
[root@ci-vm-10-0-136-92 ~]# getent group parent
parent:*:1975600009:user1
[root@ci-vm-10-0-136-92 ~]# sss_cache -E
[root@ci-vm-10-0-136-92 ~]# ipa user-show user1
User login: user1
First name: user
Last name: one
Home directory: /home/user1
Login shell: /bin/sh
Principal name: user1
Principal alias: user1
Email address: user1
UID: 1975600006
GID: 1975600006
Account disabled: False
Password: False
Member of groups: ipausers, child1, child2
Indirect Member of group: parent
Kerberos keys available: False
[root@ci-vm-10-0-136-92 ~]# ipa group-remove-member parent --group child1
Group name: parent
GID: 1975600009
Member groups: child2
Indirect Member users: user1
---------------------------
Number of members removed 1
---------------------------
[root@ci-vm-10-0-136-92 ~]# sss_cache -E
[root@ci-vm-10-0-136-92 ~]# id user1
uid=1975600006(user1) gid=1975600006(user1) groups=1975600006(user1),1975600007(child1),1975600008(child2),1975600009(parent)
[root@ci-vm-10-0-136-92 ~]# sss_cache -E
[root@ci-vm-10-0-136-92 ~]# getent group parent
parent:*:1975600009:user1
[root@ci-vm-10-0-136-92 ~]# sss_cache -E
[root@ci-vm-10-0-136-92 ~]# ipa user-show user1
User login: user1
First name: user
Last name: one
Home directory: /home/user1
Login shell: /bin/sh
Principal name: user1
Principal alias: user1
Email address: user1
UID: 1975600006
GID: 1975600006
Account disabled: False
Password: False
Member of groups: ipausers, child1, child2
Indirect Member of group: parent
Kerberos keys available: False
[root@ci-vm-10-0-136-92 ~]#
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://access.redhat.com/errata/RHBA-2020:2211 |