Subject: Re: bug#35341: Guix System installer does not set up passwords and profile directories
From: Ludovic Courtès <[email-masked]>
To: "pelzflorian \(Florian Pelz\)" <[email-masked]>
Cc: [email-masked]
Date: Mon, 22 Apr 2019 12:02:03 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello Florian,

"pelzflorian (Florian Pelz)" <[email-masked]> skribis:

> I installed Guix System from a USB flash drive from the current git
> master.  The manual describes I should set up a password with passwd.
> I think the installer should automate this, so users do not need to
> know the passwd command.

I’ll open a separate bug for that.

> After setting a password with `passwd florian` and logging in
> as florian, I run `guix pull`.  This yields the following error:
>
> pull: error: while creating directory `/var/guix/profiles/per-user/florian': Permission denied
> hint: Please create the `/var/guix/profiles/per-user/florian' directory, with you
> as the owner.

Oh, got it.

On a fresh system (one can check with ‘guix system vm bare-bones.tmpl’
for instance), /var/guix/profiles/per-user is 555 and root-owned, so not
writable.

Then, the first time a client such as ‘guix package’ connects to the
daemon, the daemon chmods /var/guix/profiles/per-user to 777
(world-writable), see local-store.cc:89.

Next, ‘guix package’ calls ‘ensure-default-profile’, which creates
/var/guix/profiles/per-user/$USER.

The problem with ‘guix pull’ is that it would call
‘ensure-default-profile’ before it has connected to the daemon.

Fixed in a06a95baffc2005ad1a64c4c3f82fc328e0d0009.

Thanks,
Ludo’.