GNU bug report logs - #19795
Allow for stateless users and groups in GuixSD

Previous Next

Package: guix;

Reported by: "Thompson, David" <dthompson2 <at> worcester.edu>

Date: Fri, 6 Feb 2015 17:14:01 UTC

Severity: normal

Done: ludo <at> gnu.org (Ludovic Courtès)

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 19795 in the body.
You can then email your comments to 19795 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#19795; Package guix. (Fri, 06 Feb 2015 17:14:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Thompson, David" <dthompson2 <at> worcester.edu>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Fri, 06 Feb 2015 17:14:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: "Thompson, David" <dthompson2 <at> worcester.edu>
To: bug-guix <at> gnu.org
Subject: Allow for stateless users and groups in GuixSD
Date: Fri, 6 Feb 2015 12:13:31 -0500
Currently, removing a user account from the users list in an OS config
does not remove the user account from a system when 'guix system
reconfigure' is run.  I think that user accounts not specified in the
user accounts list should be invalidated and that /etc/passwd and
other files be fully rebuilt each time.  In other words, I want a
stateless /etc/passwd, not a stateful one.

As Mark brought up on IRC, this proposed change in behavior may very
well surprise and frustrate another subset of users, so perhaps the
existing behavior should be preserved, with a bit that can be flipped
for stateless user accounts.

Thoughts?




Information forwarded to bug-guix <at> gnu.org:
bug#19795; Package guix. (Fri, 06 Feb 2015 18:10:03 GMT) Full text and rfc822 format available.

Message #8 received at 19795 <at> debbugs.gnu.org (full text, mbox):

From: Alex Sassmannshausen <alex.sassmannshausen <at> gmail.com>
To: "Thompson\, David" <dthompson2 <at> worcester.edu>
Cc: 19795 <at> debbugs.gnu.org
Subject: Re: bug#19795: Allow for stateless users and groups in GuixSD
Date: Fri, 06 Feb 2015 18:24:23 +0100
Hello,

My 2c:

In short +1!

Thompson, David writes:

> Currently, removing a user account from the users list in an OS config
> does not remove the user account from a system when 'guix system
> reconfigure' is run.  I think that user accounts not specified in the
> user accounts list should be invalidated and that /etc/passwd and
> other files be fully rebuilt each time.  In other words, I want a
> stateless /etc/passwd, not a stateful one.

I would love this functionality: it feels intuitive for a functional
package manager.

> As Mark brought up on IRC, this proposed change in behavior may very
> well surprise and frustrate another subset of users, so perhaps the
> existing behavior should be preserved, with a bit that can be flipped
> for stateless user accounts.

I agree that perhaps statefulness should be the default for now, as that
seems the "common way to do things".

Alex




Information forwarded to bug-guix <at> gnu.org:
bug#19795; Package guix. (Sat, 07 Feb 2015 09:11:02 GMT) Full text and rfc822 format available.

Message #11 received at 19795 <at> debbugs.gnu.org (full text, mbox):

From: Andreas Enge <andreas <at> enge.fr>
To: "Thompson, David" <dthompson2 <at> worcester.edu>
Cc: 19795 <at> debbugs.gnu.org
Subject: Re: bug#19795: Allow for stateless users and groups in GuixSD
Date: Sat, 7 Feb 2015 10:10:23 +0100
Hello,

I agree, it is rather surprising that removing a user does not remove it.
So I think it should be fully stateless (as long as the user's home
directory is not erased, of course; so this should remain as a state and
be reactivated once the user is available again, which could cause problems
with user names vs. numbers).

Andreas





Information forwarded to bug-guix <at> gnu.org:
bug#19795; Package guix. (Sun, 08 Feb 2015 03:09:02 GMT) Full text and rfc822 format available.

Message #14 received at 19795 <at> debbugs.gnu.org (full text, mbox):

From: Mark H Weaver <mhw <at> netris.org>
To: Andreas Enge <andreas <at> enge.fr>
Cc: 19795 <at> debbugs.gnu.org, "Thompson, David" <dthompson2 <at> worcester.edu>
Subject: Re: bug#19795: Allow for stateless users and groups in GuixSD
Date: Sat, 07 Feb 2015 22:07:59 -0500
Andreas Enge <andreas <at> enge.fr> writes:

> I agree, it is rather surprising that removing a user does not remove it.
> So I think it should be fully stateless (as long as the user's home
> directory is not erased, of course; so this should remain as a state and
> be reactivated once the user is available again, which could cause problems
> with user names vs. numbers).

If we do this, I think we should take steps to prevent users+groups from
being added, removed, group memberships changed, setting of passwords,
etc, outside of 'guix system reconfigure'.  I think that users will be
very unhappy with us if commands like 'passwd' and 'useradd' work as
expected, but are undone the next time they update their system.

My position is that we should support both stateful or stateless
operation for some aspects of our configuration.

For example, consider wireless network configuration.  Most casual users
want this to be stateful.  They will want to be able to use a nice GUI
applet to connect to a wireless network, and have the system remember
the authentication info and to connect to that network automatically in
the future, etc.  I don't want GuixSD to forget that information the
next time I update, or if I roll-back, etc.

However, for some applications it may be preferable to have the wireless
configuration completely stateless and specified in the OS config,
e.g. for a headless server that's connected via wireless.

I think it's the same way with users+groups.  For my personal system, I
might want to be able to add a user without updating its software at the
same time (which might involve a lot of downloading and/or compiling),
and I don't want the new user to be erased if I roll-back.

Even for many kinds of servers, I don't think it makes sense to tie the
users+groups to the system configuration.  Most of the time I don't want
that.  But for some other kinds of servers, I think I would want it.

So, I think we should support both modes.

My two cents...

     Mark




Information forwarded to bug-guix <at> gnu.org:
bug#19795; Package guix. (Sun, 08 Feb 2015 14:34:03 GMT) Full text and rfc822 format available.

Message #17 received at 19795 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Mark H Weaver <mhw <at> netris.org>
Cc: "Thompson, David" <dthompson2 <at> worcester.edu>,
 Andreas Enge <andreas <at> enge.fr>, 19795 <at> debbugs.gnu.org
Subject: Re: bug#19795: Allow for stateless users and groups in GuixSD
Date: Sun, 08 Feb 2015 15:32:52 +0100
Mark H Weaver <mhw <at> netris.org> skribis:

> If we do this, I think we should take steps to prevent users+groups from
> being added, removed, group memberships changed, setting of passwords,
> etc, outside of 'guix system reconfigure'.  I think that users will be
> very unhappy with us if commands like 'passwd' and 'useradd' work as
> expected, but are undone the next time they update their system.

Just to be clear about the current situation: everything is stateless,
with the exception of passwords (‘reconfigure’ does not alter them) and
user accounts that are not removed (the crux of this report.)

Apart from passwords, any modification is undoed on the next
‘reconfigure’ or on the next reboot.  See notably e2b464b7, which took a
step to ensure that user account settings in the OS declaration are
fully honored.

In response to this bug report, I would just add activation code that
removes any unknown user accounts.

Thanks,
Ludo’.




Reply sent to ludo <at> gnu.org (Ludovic Courtès):
You have taken responsibility. (Wed, 08 Apr 2015 19:45:03 GMT) Full text and rfc822 format available.

Notification sent to "Thompson, David" <dthompson2 <at> worcester.edu>:
bug acknowledged by developer. (Wed, 08 Apr 2015 19:45:03 GMT) Full text and rfc822 format available.

Message #22 received at 19795-done <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Mark H Weaver <mhw <at> netris.org>
Cc: "Thompson, David" <dthompson2 <at> worcester.edu>,
 Andreas Enge <andreas <at> enge.fr>, 19795-done <at> debbugs.gnu.org
Subject: Re: bug#19795: Allow for stateless users and groups in GuixSD
Date: Wed, 08 Apr 2015 21:43:57 +0200
ludo <at> gnu.org (Ludovic Courtès) skribis:

> In response to this bug report, I would just add activation code that
> removes any unknown user accounts.

Commit 9bea87a does that.

Let me know if it wipes all your user accounts or anything!  :-)

(Seriously though, I’ve run it on my machine and everything is fine.)

Ludo’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 07 May 2015 11:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 8 years and 356 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.