Subject: Re: bug#34494: proot-based non-root setup: refusing to run with elevated privileges (UID 0)

From: Pjotr Prins <[email-masked]>
Date: Sat, 16 Feb 2019 07:34:52 +0100

Did you try something like

proot -0 -b /proc -b /dev -b /etc -r . -b etc_guix/acl:/etc/guix/acl gnu/store/vir3l..-guix-0.x/bin/guix-daemon --disable-chroot

(note the extra -0 and chroot switches) and you should see on a guix package install.

That used to work. But maybe no longer?

On Fri, Feb 15, 2019 at 09:39:21PM +0100, Florian Thevissen wrote:
>    Hi,
> 
>    I am trying to get guix to run on a system where I do not have root
>    access, following a guide by pjotrp involving proot, here:
>    [1]https://github.com/pjotrp/guix-notes/blob/master/GUIX-NO-ROOT.org .
> 
>    All guix operations that involve the script perform-download fail with
>    the error:
> 
>      guix perform-download: error: refusing to run with elevated
>      privileges (UID 0)
> 
>    I am not sure if this hints at a bug in guix itself, but a comment in
>    the guix sources lets me assume so. It says in
>    package-management.scm:355
> 
>      “Note that scripts like ‘guix perform-download’ do not run as root
>      (…)”
> 
>    In my setup, following this guide, however, it apparently is run as
>    root, and (assert-low-privileges) in the script perform-download.scm:89
>    acts accordingly by signalling the error and exiting.
> 
>    (By the way - running guix-daemon with proot root privileges fails
>    (-0), and running it without (no -0) fails also.)
> 
>    Now my question: why is perform-download run as root following pjotrs
>    guide, and is there anything that can be done about it?
> 
>    I am a bit at a loss here, being unfamiliar with the guix sources and
>    overall system setup.
> 
>    Looking forward to help, thanks,
> 
>    Florian
>    ​
> 
> References
> 
>    1. https://github.com/pjotrp/guix-notes/blob/master/GUIX-NO-ROOT.org