public inbox for passt-dev@passt.top
 help / color / mirror / code / Atom feed
From: "Richard W.M. Jones" <rjones@redhat.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: Stefano Brivio <sbrivio@redhat.com>,
	Yumei Huang <yuhuang@redhat.com>,
	passt-dev@passt.top, david@gibson.dropbear.id.au,
	crobinso@redhat.com
Subject: Re: [PATCH] test: Update README.md
Date: Thu, 25 Sep 2025 10:21:15 +0100	[thread overview]
Message-ID: <20250925092115.GX1460@redhat.com> (raw)
In-Reply-To: <aNPPNDr9mlz_zH8s@redhat.com>

On Wed, Sep 24, 2025 at 12:00:04PM +0100, Daniel P. Berrangé wrote:
> On Wed, Sep 24, 2025 at 11:31:31AM +0100, Richard W.M. Jones wrote:
> > On Wed, Sep 24, 2025 at 11:09:09AM +0200, Stefano Brivio wrote:
> > > And now that you say that, I just realised that it would be as simple
> > > as:
> > > 
> > >   https://libguestfs.org/guestfs-faq.1.html#permission-denied-when-running-libguestfs-as-root
> > > 
> > >   LIBGUESTFS_BACKEND=direct virt-edit...
> > 
> > While that will indeed work, we're trying to discourage people from
> > doing that, since it removes the other good things that libvirt does,
> > such as setting up SELinux.
> > 
> > The real solution here IMHO is for libvirt to make session mode work
> > for root without changing UID.  It actually goes out of its way to
> > stop this working at the moment[1].
> 
> We made it possible to run QEMU as root:root while still using
> system mode quite a while ago now. It requires adding this
> to the XML:
> 
>   <seclabel type='static' model='dac' relabel='yes'>
>     <label>+0:+0</label>
>   </seclabel>

We don't currently use this.  I have filed a bug:

  https://issues.redhat.com/browse/RHEL-117440

> AFAICT, the resulting QEMU will also still have all capabiltiies
> set, most importantly CAP_DAC_OVERRIDE.  So unless I'm missing
> something there shouldn't be anything that can't be done with
> system mode, that a session mode would allow.
> 
> I thought I had already suggested that libguestfs use this
> seclabel, but don't recall if it was ever tried, or if we
> hit some other roadblock.
> 
> > [1] In qemuStateInitialize -> virQEMUDriverConfigNew, I think
> 
> Well that's where the initial control is, but it isn't a simple as just
> removing/changing that code. When running as root, we have access to a
> lot of system wide resources, and libvirt needs to track which are in
> use by VMs or not. We can't do that tracking if we have two separate
> privileged daemons for both system mode and a root-session mode.
> 
> It might be possible to have a single daemon service both roles. VMs
> defined via a session mode connection would auto-add the above
> <seclabel> to default to running as root. It would also need to
> dynamically change what's reported in capabilities to reflect this
> different default, and more systemd socket unit files at the locations
> that the session mode client app looks for.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-top is 'top' for virtual machines.  Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top


  reply	other threads:[~2025-09-25  9:21 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-19  1:43 Yumei Huang
2025-09-19  5:00 ` David Gibson
2025-09-19  9:58 ` Stefano Brivio
2025-09-22  3:03   ` Yumei Huang
2025-09-22 20:03     ` Stefano Brivio
2025-09-23  6:36       ` Yumei Huang
2025-09-23  7:16         ` Yumei Huang
2025-09-23 10:32         ` Stefano Brivio
2025-09-24  1:58           ` David Gibson
2025-09-24  1:58           ` Yumei Huang
2025-09-24  3:44             ` David Gibson
2025-09-24  4:02               ` Yumei Huang
2025-09-24  8:46             ` Stefano Brivio
2025-09-24  8:56               ` Richard W.M. Jones
2025-09-24  9:09                 ` Stefano Brivio
2025-09-24 10:31                   ` Richard W.M. Jones
2025-09-24 11:00                     ` Daniel P. Berrangé
2025-09-25  9:21                       ` Richard W.M. Jones [this message]
2025-09-24 11:05                     ` Stefano Brivio
2025-09-24 11:20                       ` Daniel P. Berrangé
2025-09-24 11:48                         ` Stefano Brivio
2025-09-25  5:16                       ` Yumei Huang
2025-09-23  7:49   ` David Gibson

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

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

  git send-email \
    --in-reply-to=20250925092115.GX1460@redhat.com \
    --to=rjones@redhat.com \
    --cc=berrange@redhat.com \
    --cc=crobinso@redhat.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=passt-dev@passt.top \
    --cc=sbrivio@redhat.com \
    --cc=yuhuang@redhat.com \
    /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://passt.top/passt

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 IMAP folder(s).