Feature changed by: Jan Engelhardt (jengelh) Feature #310922, revision 8 Title: central system user registry
openSUSE-11.4: Rejected by Ludwig Nussel (lnussel) reject reason: wasn't implemented Priority Requester: Important
openSUSE Distribution: Unconfirmed Priority Requester: Important
Requested by: Ludwig Nussel (lnussel) Partner organization: openSUSE.org
Description: Once upon a time all systems users were defined in aaa_base via the default /etc/passwd file. When the uid space below uid 100 got too small a new dynamic range between 100 and 499 was introduced. So nowadays packages dynamically create a user in %pre which gets a random uid in this range. Disadvantage: uids are different on every system. Usually this is not a problem but for programs that export files over the network it is. TV recordings made by VDR for example. useradd has a --preferred-uid option for such cases. It's possible to specify a uid and useradd tries to use it. If it's already taken another one is chosen. Thefore I'd propose to leverage that feature: - introduce a central uid registry for system users, e.g a file in aaa_base - lower SYSTEM_UID_MAX (/etc/login.defs) to e.g. 349 and assign "preferred uids" in the rage 350-499. - change useradd calls in packages to a macro that transparently decides whether a preferred uid needs to be used.
Use Case: - two systems running vdr, one for recording, the other one for playback on a TV want to share recordings via nfs. - avoid packagers picking too generic user names
+ Discussion: + #1: Jan Engelhardt (jengelh) (2011-03-15 15:15:13) + Recent kernels use NFS4 by default, which transmits the username rather + than UID, so the issue is basically resolved in openSUSE 11.4 already.