Red Hat Bugzilla – Bug 433816
If two users run at same time, only last to exit gets shadow passwords updated
Last modified: 2009-01-09 01:02:36 EST
Description of problem:
At work, in upgrading our e-mail system, we were forcing stronger passwords
for all accounts. More than one sysadmin had the GUI running at once. Later in
the day, as we stopped and started the GUI, we would discover that some people
that were getting on could no longer get on. I'd saved a copy of shadow so we
could guarantee that we got everyone changed, and as I did a diff between it
and the latest shadow, it was apparent that changes were dropped. The only
explanation I see is that the GUI doesn't do any locking for row updates to
the text file and perhaps retains too much in memory to be written when it
quits, thus wiping out changes made by anyone else in the interim. This may be
off base, but seems to be the only explanation that fits what we observed.
Version-Release number of selected component (if applicable):
system-config-users-1.2.72-1.fc8.noarch.rpm - all other RPMs were at the level
of Feb 13, 2008. The error was observed Feb 20 due to changes on the 19th and
Steps to Reproduce:
1. Log on in two different spots via ssh and run system-config-users (one was
at system console and one was remote, although I doubt it matters).
2. Update passwords in both places for different users.
3. Save at different times.
Whoever leaves first gets their changes lost. We actually had people going in
and out of the config-users program, so when a new one started that was the
snapshot it appeared to work with.
Anything dealing with files like passwd, shadow, and group should be doing
locking on write and only updating the row of information that was changed via
the properties button. No other accounts should be affected. If two people are
editing the same row (which wasn't the case here), then whoever writes last
should win. But you should never assume that other rows hadn't changed in the
interim and write everything out as if you were the only one in control.
This message is a reminder that Fedora 8 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 8. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora
'version' of '8'.
Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version prior to Fedora 8's end of life.
Bug Reporter: Thank you for reporting this issue and we are sorry that
we may not be able to fix it before Fedora 8 is end of life. If you
would still like to see this bug fixed and are able to reproduce it
against a later version of Fedora please change the 'version' of this
bug to the applicable version. If you are unable to change the version,
please add a comment here and someone will do it for you.
Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.
The process we are following is described here:
Fedora 8 changed to end-of-life (EOL) status on 2009-01-07. Fedora 8 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.
If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version.
Thank you for reporting this bug and we are sorry it could not be fixed.