public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Thomas Deutschmann <whissi@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] [PATCH] acct-user.eclass: don't modify existing user by default
Date: Mon, 4 Jan 2021 15:46:31 +0100	[thread overview]
Message-ID: <cf400822-eba4-aa95-63ef-5f6f857f75b1@gentoo.org> (raw)
In-Reply-To: <60fac781-e080-999c-e83e-c657d5b89d18@gentoo.org>

Hi,

On 2021-01-04 04:18, Michael Orlitzky wrote:
> It would be nice if this was well-supported by the official way of 
> modifying system users/groups; that is, by using an overlay with 
> modified user/group ebuilds.

No, this doesn't work:

1) It's conflicting with the goals other have. See Mike's first reply to 
my patch proposal:

> So the main problem I see with doing this is that it becomes
> impossible to reliably make changes to a user in later ebuild
> revisions.

He is obviously looking for a way to allow maintainers to change users 
afterwards. But if we tell people, "If you need customization, fork the 
user/group ebuild in your overlay" we will disconnect these users from 
future changes.


2) Thank you for outlining the process how to make changes to users 
using the new acct-* way. It's a nice 'hack'. But it is an own, new way, 
which makes Gentoo special, unique. And this creates additional problems:

This maybe work for your local system. In environments where everything 
is Gentoo and everyone knows Gentoo. But in today's world you are using 
configuration management tools like Ansible, Puppet, Saltstack, Chef...

People who are not necessarily familiar with every implementation detail 
must be able to write configurations (recipes) and the used tool is 
supposed to take care of the differences. In the end, in the ideal 
world, you are just looking at your code describing a state the system 
should have.

But this doesn't work if you make Gentoo so special that you will break 
most tools, will require adjustments or special Gentoo support just for 
stuff Gentoo is doing differently and like everyone else.

Don't get me wrong here: Yes, these tools already have to implement USE 
flags for example which are unique for Gentoo. But stuff like user 
management isn't or should *not*.

When you will get LPIC certification one can expect that you have some 
basic knowledge in Linux stuff allowing you to do common tasks on all 
different Linux systems. Now there comes Gentoo where you aren't allowed 
to use standard Linux tools like 'usermod' when deploying another 
service if you don't want to risk that your service will go down when 
following best practice and do regular world upgrades. Really?


3) More important, the idea of forking acct-* packages whenever you need 
to make modifications don't scale. Like I already outlined in February 
2020, you cannot create overlays for each different user configuration:

I.e. using memcached/redis: You grant permission to socket via group. So 
you put other services belonging to that application you are deploying 
into your user running the key value store. Do you really expect that 
one would create multiple overlays per application using one of these 
services? How would you maintain hundreds of overlays? How would you 
keep track that each box will use the correct overlay to get the 
specific customized acct-* package? How do you deal with scenarios where 
you don't just deploy single instances?

Again, I understand the acct-* fork idea. But I think we have to admit 
that this will only work for the local system or small environments.

For any professional environment this won't work nor scale.


4) Yet we have to talk about the idea in general that it is really not a 
good idea to automatically make changes to the user if you run the risk 
of overwriting changes explicitly made by the system administrator.

It's one thing that multiple local users will get removed from portage 
group when you remerge acct-user/portage, but if you kill services 
because package maintainers are pushing their vision of how to run the 
package, it's not.


-- 
Regards,
Thomas Deutschmann / Gentoo Linux Developer
fpr: C4DD 695F A713 8F24 2AA1 5638 5849 7EE5 1D5D 74A5


  reply	other threads:[~2021-01-04 14:46 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-04  1:35 [gentoo-dev] [PATCH] acct-user.eclass: don't modify existing user by default Thomas Deutschmann
2021-01-04  2:41 ` Mike Gilbert
2021-01-04  3:17   ` Alec Warner
2021-01-04  3:18 ` Michael Orlitzky
2021-01-04 14:46   ` Thomas Deutschmann [this message]
2021-01-04 15:24     ` Michael Orlitzky
2021-01-04 15:55       ` David Seifert
2021-01-04 16:18         ` Thomas Deutschmann
2021-01-04 16:28           ` Michał Górny
2021-01-04 16:30             ` Thomas Deutschmann
2021-01-04 16:34               ` Thomas Deutschmann
2021-01-04 16:38                 ` Michał Górny
2021-01-04 16:50                   ` Thomas Deutschmann
2021-01-04 16:56                     ` Michał Górny
2021-01-04 16:56                     ` Mike Gilbert
2021-01-04 16:54                 ` Mike Gilbert
2021-01-04  7:32 ` Robin H. Johnson
2021-01-04 16:45   ` [gentoo-dev] " James Cloos
2021-01-04 18:07     ` Michael Orlitzky
2021-01-04 18:20       ` Michał Górny
2021-01-04 18:38         ` Michael Orlitzky
2021-01-04 18:23       ` Thomas Deutschmann
2021-01-04 18:27         ` Michael Orlitzky
2021-01-04 18:32           ` Thomas Deutschmann
2021-01-04  9:23 ` [gentoo-dev] " Michał Górny
2021-01-04 14:05   ` Thomas Deutschmann
2021-01-04 16:10   ` Mike Gilbert
2021-01-04 16:14     ` Michał Górny
2021-01-04 16:20       ` Thomas Deutschmann
2021-01-08 18:11       ` Fabian Groffen
2021-01-08 18:14         ` Michał Górny
2021-01-08 18:23           ` Thomas Deutschmann
2021-01-08 18:32             ` Michał Górny
2021-01-08 15:48 ` Thomas Deutschmann
2021-01-08 16:03   ` Mike Gilbert
2021-01-08 16:29     ` Thomas Deutschmann
2021-01-08 16:50       ` Mike Gilbert
2021-01-08 17:06       ` Mike Gilbert
2021-01-08 18:10         ` Thomas Deutschmann
2021-01-08 18:31           ` Michał Górny
2021-01-08 19:15             ` Mike Gilbert
2021-01-08 17:16       ` Michał Górny

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=cf400822-eba4-aa95-63ef-5f6f857f75b1@gentoo.org \
    --to=whissi@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