Red Hat Bugzilla – Bug 135280
hang & corruption when renaming a user
Last modified: 2007-11-30 17:10:51 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3)
Description of problem:
I created a user account and learned later the user wished for a
different spelling. I launched system-config-users and selected the
user in question and "properties".
Under the "User Data" tab I retyped the users name and I also changed
the home directory name. I clicked "OK". The hourglass is still
turning, 5 minutes later.
Poking around the terminal (which s-c-u contines to spin), I've
- in /etc/passwd and /etc/shadow, login and home have been renamed
- in /etc/passwd- and /etc/shadow-, no changes
- /etc/group and /etc/gshadow have not been updated
- the home directory has not been renamed.
Essentially, the account is now "broken" and I'm going to have to use
superuser text editing skills to repair it. So I'm filing this as
"high priority / data loss" because the GUI tool has easily broken a
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. open system config users
2. select a user and "properties"
3. try to rename the user and their home dir
Actual Results: (1) s-c-u hangs (hourglass tumbling)
(2) incomplete changes render the account "broken"
Expected Results: it should be possible to correctly rename an
account, -or- it should be completely disallowed. As is, it appears
to have corrupted this account.
Andy, I tried this with the same results. Because I was running it
from the command line, I got a python traceback which indicates that
this is some kind of a libuser problem:
Traceback (most recent call last):
File "/usr/share/system-config-users/userProperties.py", line 512,
RuntimeError: unknown error
Andy, please tell us which version of libuser you have.
Miloslav, should s-c-users (and in turn libuser) allow changing
username and/or home directory or should we block it?
I'm running a pretty much up2date version of FC, the specific libuser is
The RuntimeError is a duplicate of #78376 and #121252, and
fixed in libuser >= 0.51.10.
The more general problems:
* ADMIN.modifyUser doesn't move the home directory by default,
contrary to documentation.
* the home directory move functionality actually can't work right now;
it doesn't remember the old home directory.
* libuser is working on a per-entity basis, so renaming of group
entries (including the private group) has to be done by s-c-users.
* I'll fix home directory moving and fix modifyUser documentation
(rather than change modifyUser default)
* Once that is done, s-c-users can call ADMIN.modifyUser(..., True),
and Require: a fixed version of libuser.
* s-c-users should rename the user in all user's supplementary groups
and rename user's private group, if any.
Sounds good, Nils?
Sounds very good, especially because that means getting a fix for this
other python interface problem we had lately for FC2, i.e. I can get
the fix in that if possible uid == gid for new users.
I guess for s-c-users this means:
- When renaming the home, just trust on libuser to do the right thing
- When renaming a user, take care of the group entities so they don't
have the old user name
- When renaming a group, everything should be OK because users are
either already listed with the group (when it's secondary) or the
group is referenced by GID which doesn't change.
Fixed libuser is libuser-0.52.5-1.
(BTW: libuser renames home directories by copying them and then
removing the original; fixing this can probably wait post-FC3.)
Miloslav, can you then pipe a "libuser-0.52.5-0.fc2.1" or so through
the build system for FC2? Thanks.
libuser-0.52.5-0.FC2.1 is published now.
system-config-services-1.2.25-0.fc2.1 containes the needed changes for