From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: User accounts Date: Tue, 13 May 2014 14:12:34 +0200 Message-ID: <87d2fhkhcd.fsf@gnu.org> References: <87d2fidrnm.fsf@gnu.org> <20140513081752.GA10442@jocasta.intra> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:33929) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WkBZb-0000zQ-DG for guix-devel@gnu.org; Tue, 13 May 2014 08:12:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WkBZV-0000oJ-EJ for guix-devel@gnu.org; Tue, 13 May 2014 08:12:43 -0400 Received: from hera.aquilenet.fr ([2a01:474::1]:47066) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WkBZV-0000oF-78 for guix-devel@gnu.org; Tue, 13 May 2014 08:12:37 -0400 In-Reply-To: <20140513081752.GA10442@jocasta.intra> (John Darrington's message of "Tue, 13 May 2014 10:17:52 +0200") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: John Darrington Cc: guix-devel John Darrington skribis: > On Tue, May 13, 2014 at 10:11:41AM +0200, Ludovic Court??s wrote: > Before commit ab6a279, /etc/{group,passwd,shadow} were all created f= rom > a derivation. Thus, /etc contained symlinks to those files, which w= ere > actually in the store. Being in the store, they were all immutable = and > world-readable (you can see that in the VM image released with 0.6.) >=20=20=20=20=20=20 > That was obviously not desirable, because then everyone can read sha= dow, > and because that prevents passwords from being changed. >=20=20=20=20=20=20 > So commit ab6a279 changed accounts to be created at ???activation > time??????i.e., when booting, or when switching to a new operating s= ystem > configuration. What happens is that the activation code checks for = all > the user accounts and groups required by the ???operating-system??? > declaration, and invokes ???useradd??? and ???groupadd??? for any mi= ssing > account/group. >=20=20=20=20=20=20 > That way, {group,passwd,shadow} are normal state files with the right > permissions, and everything works as expected. NixOS uses the same > strategy. >=20=20=20=20=20=20 > > Does /etc/group now have a "nogroup" group? No, but it=E2=80=99d be a useful addition. > I was trying to package up GNU cssc, but one of its tests relies on > having a group which no user is a member of. Ah, but that=E2=80=99s a different story: you=E2=80=99re referring to the b= uild environment, whereas I was talking about the operating system declarative configuration, for use in the stand-alone system (info "(guix) System Configuration"). Regarding the build environment, maybe it makes sense to add =E2=80=98nogro= up=E2=80=99 as well; not completely sure. Any pointers as to how ubiquitous it is, or other arguments? Ludo=E2=80=99.