Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1225560 - usermod should prevent inadvertent homedir ownership changes on group id modification
usermod should prevent inadvertent homedir ownership changes on group id modi...
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: shadow-utils (Show other bugs)
7.1
All Linux
medium Severity high
: rc
: ---
Assigned To: Tomas Mraz
Stefan Kremen
:
Depends On:
Blocks: 1203710 1225674
  Show dependency treegraph
 
Reported: 2015-05-27 12:34 EDT by Jiri Jaburek
Modified: 2016-11-03 23:40 EDT (History)
8 users (show)

See Also:
Fixed In Version: shadow-utils-4.1.5.1-20.el7
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1225674 (view as bug list)
Environment:
Last Closed: 2016-11-03 23:40:40 EDT
Type: Bug
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 Knowledge Base (Solution) 1467083 None None None Never
Red Hat Product Errata RHBA-2016:2322 normal SHIPPED_LIVE shadow-utils bug fix and enhancement update 2016-11-03 09:43:15 EDT

  None (edit)
Description Jiri Jaburek 2015-05-27 12:34:02 EDT
Description of problem:

RHEL7 version of usermod states (in its manpage):

    -g, --gid GROUP
        The group name or number of the user's new initial login group.
        The group must exist.

        Any file from the user's home directory owned by the previous
        primary group of the user will be owned by this new group.

        The group ownership of files outside of the user's home
        directory must be fixed manually.

Some use cases (ie. system users with `/' as home) require just changing the GID value in /etc/passwd, without actually touching any files in a home directory. This RFE proposes just that - an override option that would stop usermod from touching any homedirs (second paragraph of the help above).

Alternatively, if you, after reconsideration, find the existing default too disruptive, the feature could be turned off by default with an opt-in switch instead, similarly to how useradd -m behaves with "CREATE_HOME no" in login.defs.


Version-Release number of selected component (if applicable):
shadow-utils-4.1.5.1-18.el7

How reproducible:
always

Steps to Reproduce:
# useradd joe
# /bin/su - joe -c 'touch testfile'
# ls -l /home/joe/testfile
-rw-r-----. 1 joe joe 0 May 27 18:27 /home/joe/testfile
# usermod -g adm joe
# ls -l /home/joe/testfile
-rw-r-----. 1 joe adm 0 May 27 18:27 /home/joe/testfile

Actual results:
usermod changes file metadata in user homedir

Expected results:
usermod provides a way to change group without touching homedir

Additional info:
"Just use $EDITOR to edit /etc/passwd" might not be a satisfactory resolution/answer as some installations require auditing of tools used to modify the system (with proper audit trail).
Comment 2 Fred van Zwieten 2015-05-27 16:07:51 EDT
I see this as a regression with a potentially catastrophic outcome. I set the severity to High. The default behavior of usermod -g should return to the RHEL6 behavior.
Comment 3 Tomas Mraz 2015-05-28 03:03:08 EDT
I completely disagree that this is a regression or even potentially catastrophic one.

My proposal is to disable the functionality only for users whose homedir is /.
Comment 6 Tomas Mraz 2016-04-20 08:52:42 EDT
So is the solution to disable this functionality if homedir == "/" acceptable?
Comment 7 Tomas Mraz 2016-04-20 08:54:49 EDT
Or another possibility - disable this functionality if homedir gid != the old primary gid - that indicates the user's home dir is 'special'.
Comment 8 Tomas Mraz 2016-05-03 09:57:02 EDT
So I am going to implement this restriction of the chown/chgrp:

If the home dir is not owned by the user the chown/chgrp of the home dir tree will not be performed.
Comment 14 errata-xmlrpc 2016-11-03 23:40:40 EDT
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-2016-2322.html

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