fedora-atomic discussion point: /usr/lib/passwd

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



For the fedora-atomic work, the only not-in-Fedora package is shadow-utils because it requires a patch, that still lives in my walters/rpm-ostree COPR.

Patch is linked from my post here:
http://lists.alioth.debian.org/pipermail/pkg-shadow-devel/2014-March/010099.html

Also, some discussion in the glibc bug:
https://sourceware.org/bugzilla/show_bug.cgi?id=16142

What I'd like to open is a discussion about whether /usr/lib/passwd is the right thing long term. I think it'd be very useful to support it short term, but it's not perfect.

The main case where it breaks is when you have a daemon that runs as non-root and saves state, so you give it its own system user, but not a reserved uid. Daemons in this class will have their uids effectively ordered by package installation order =/

One way to fix this that goes with my general direction of moving things out of %post into systemd: a dynamic uid reservation system that saves state persistently.
Crudely, this would be ExecStartPre=/usr/sbin/useradd -r ...
except we'd wrap that with something that checked whether the user existed first.

Then /etc/passwd would still be local system-persistent state, and OSTree still wouldn't need to run a %post. I think though it'd be good to still use /usr/lib/passwd in this model for daemons that *don't* save state persistently, like dbus. No need to pollute /etc/passwd with them.

(Note, we'd also need to teach %systemd_preun to run some kind of ExecUninstall=, or skip spawning subprocesses and teach systemd how to modify the user database directly)

Thoughts?

--
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux