From: Brian Evans <grknight@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] [PATCH v3] glep-0081: User and group management via dedicated packages
Date: Thu, 20 Jun 2019 09:53:46 -0400 [thread overview]
Message-ID: <8d6601e6-a295-778e-5dc8-5d9f01701c7d@gentoo.org> (raw)
In-Reply-To: <20190609113955.19208-1-mgorny@gentoo.org>
[-- Attachment #1.1: Type: text/plain, Size: 4564 bytes --]
On 6/9/2019 7:39 AM, Michał Górny wrote:
> +Specification
> +=============
> +
> +Policy
> +------
> +
> +Following the acceptance of this GLEP, all new users and groups must
> +be created via user/group packages as defined in this GLEP. The old
> +method may still be used for existing users/groups, in existing
> +packages.
> +
> +All new users and groups must have unique UIDs/GIDs assigned
> +by developers. The developer adding them is responsible for checking
> +for collisions.
What significance will such numbers have when a daemon uses a new
UID/GID and really doesn't care what it is? Why do we have to go
through the effort of assigning fixed IDs at random?
> +
> +Before adding a new user and/or group, the developer must send a RFC
> +to the ``gentoo-dev`` mailing list.
This paragraph should go away. It is a complete waste of time.
> +
> +
> +Logical structure
> +-----------------
> +
> +In this proposal, system users and groups are represented by regular
> +packages. Those packages logically represent the ownership of
> +the respective users and group, and technically implement their
> +creation.
> +
> +User packages are placed in ``acct-user`` category. Each user package
> +defines the properties of the particular user, and must be named after
> +the user it creates. It must depend at build and run time on the groups
> +the user belongs to.
> +
> +Group packages are placed in ``acct-group`` category. Each group
> +package defines the properties of the particular group, and must be
> +named after the group it creates.
> +
> +All user and group packages must define preferred fixed UIDs/GIDs,
> +and they must be unique within the repository. The packages should
> +indicate whether the value needs to be strictly enforced, or whether
> +another UID/GID is acceptable when the user exists already or requested
> +UID/GID is taken.
> +
> +Packages needing a specific user or group use dependencies to pull
> +the required user/group packages. If the user is needed at build time,
> +a build time dependency (``DEPEND``) must be used. If the user is
> +needed at install and/or run time, a run time dependency (``RDEPEND``)
> +must be used.
Sounds like extra upgrade dependency time in an already crowded
resolution tree.
> +
> +Rationale
> +=========
> +
> +Requiring mailing list RFC
> +--------------------------
> +
> +The policy explicitly requires RFC-es for new users and groups, as they
> +have global scopes and effects of mistakes while adding them are hard
> +to fix. Wider review should decrease the risk of major design mistakes.
> +
> +To provide one example, right now we have two different packages
> +creating ``git`` user and requiring a different home directory for
> +the user. As a result, the first package being installed defines
> +the actual home directory, and both technically can not be installed
> +at the same time.
This section should go away. It is a complete waste of time.
> +
> +
> +Satisfied goals
> +---------------
> +
> +Tracking of user/group usage is done through dependencies. As long
> +as any installed package depends on a specific user/group package,
> +the respective user/group is assumed to be used. If no package
> +requiring the specific user/group is left, the package manager
> +automatically prunes the package clearly indicating it is no longer
> +used.
You cannot know when a name is "no longer used". An administrator could
have adopted a username for other purposes.
> +
> +Each user and group has a single respective package creating it.
> +If multiple packages need it, they depend on the same package. This
> +ensures that all properties are kept in a single location, and do not
> +need to be synced.
> +
> +Having a single location with all predefined user/group ranges makes it
> +possible to maintain fixed UID/GID definitions. This GLEP makes
> +allocating them obligatory. While this isn't enforced for existing
> +users, it provides a way forward for new installations.
> +
> +Local overrides can be trivially implemented via local repository,
> +through overriding the respective user/group ebuilds. The proposal also
> +respects direct sysadmin modifications.
> +
> +Avoiding unnecessary user/group creation at build time is implemented
> +via correct dependency types. While this was possible with the status
> +quo, the dependency model should be more natural to developers and cause
> +less mistakes.
> +
> +
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 834 bytes --]
next prev parent reply other threads:[~2019-06-20 13:54 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-09 11:39 [gentoo-dev] [PATCH v3] glep-0081: User and group management via dedicated packages Michał Górny
2019-06-13 2:21 ` Michael Orlitzky
2019-06-13 5:37 ` Michał Górny
2019-06-20 13:53 ` Brian Evans [this message]
2019-06-20 14:15 ` Michael Orlitzky
2019-06-20 14:32 ` Michał Górny
2019-06-21 5:59 ` Andrew Savchenko
2019-06-21 7:18 ` David Seifert
2019-06-21 12:02 ` Andrew Savchenko
2019-06-21 12:18 ` David Seifert
2019-06-21 13:09 ` Michał Górny
2019-06-21 8:31 ` Jaco Kroon
2019-06-21 6:03 ` Andrew Savchenko
2019-06-22 17:34 ` Andrey Utkin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8d6601e6-a295-778e-5dc8-5d9f01701c7d@gentoo.org \
--to=grknight@gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox