unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: "Ludovic Courtès" <ludo@gnu.org>
To: "Jakub Kądziołka" <kuba@kadziolka.net>
Cc: 38800-done@debbugs.gnu.org
Subject: bug#38800: Non-existent setuid programs make "guix system reconfigure" break mid-generation-switch
Date: Thu, 02 Jan 2020 19:45:25 +0100	[thread overview]
Message-ID: <8736cxu27u.fsf@gnu.org> (raw)
In-Reply-To: <20191229202346.p3nixfhsanw4oy4s@zdrowyportier.kadziolka.net> ("Jakub \=\?utf-8\?B\?S8SFZHppb8WCa2EiJ3M\=\?\= message of "Sun, 29 Dec 2019 21:23:46 +0100")

Hello,

Jakub Kądziołka <kuba@kadziolka.net> skribis:

> Steps to reproduce:
>
> 0. [IMPORTANT] Make sure you will be able to reconfigure your system
>    when all setuid binaries stop working (this includes sudo, which
>    makes this, IMHO, a serious bug).
>
>    Namely, either make sure you can log in as root, or keep a "sudo -s"
>    shell open. The latter is slightly more dangerous in the event of a
>    power outage.
>
>    I would also recommend running "guix pull" in this recovery shell, as
>    a root login shell will use root's profile, and not your own.
> 1. Add a non-existant file to your system configuration's
>    setuid-programs. For example,
>
>    (setuid-programs (cons*
>                       #~(string-append #$bash "/bin/enoent")
>                       %setuid-programs))
>
> 2. Reconfigure your system.
>
>    $ sudo guix system reconfigure /etc/config.scm
>
> Actual behavior:
>
>    activating system...
>    substitute: updating substitutes from 'https://ci.guix.gnu.org'...  100.0%
>    building /gnu/store/0ay9wd3wz4x0f5mgmbdfs72w98qvm68z-switch-to-system.scm.drv...
>    making '/gnu/store/7vwa2xd378fgwrkgwif7pi6ymshsf2jc-system' the current system...
>    setting up setuid programs in '/run/setuid-programs'...
>    guix system: error: copy-file: No such file or directory: "/run/setuid-programs/enoent"
>    $ sudoedit /etc/config.scm
>    -bash: /run/setuid-programs/sudoedit: No such file or directory
>    $ ls -l /run/setuid-programs
>    total 0

Good catch, I believe commit 7c4e4bac876190eae90635ba7d7f59892c31bcc6
fixes it.

> 3. [OPTIONAL] Run a rollback.
>
>    # guix system roll-back
>
> Expected behavior: /run/setuid-programs gets populated again.
> Actual behavior: /run/setuid-programs is still empty.
>
> (Is this a separate bug with roll-back not restoring setuid-programs? No
> idea, didn't test)

It looks like a separate bug, yes.  Could you report it separately?

Thanks!

Ludo’.

      reply	other threads:[~2020-01-02 18:46 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-29 20:23 bug#38800: Non-existent setuid programs make "guix system reconfigure" break mid-generation-switch Jakub Kądziołka
2020-01-02 18:45 ` Ludovic Courtès [this message]

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

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8736cxu27u.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=38800-done@debbugs.gnu.org \
    --cc=kuba@kadziolka.net \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).