** Description changed:

+ IMPACT: libvir cannot setuid to run VMs as non-root
+ REGRESSION POTENTIAL: there should be none, we are only allowing libvirt to 
setuid and setgid, not changing any code
+ TEST CASE: 
+ 
  I couldn't boot any guest VMs with virsh until I modified 
/etc/apparmor.d/abstractions/libvirt-qemu:
  jad@kvmhost:~$ sudo bzr diff /etc/apparmor.d/
  === modified file 'apparmor.d/abstractions/libvirt-qemu'
  --- apparmor.d/abstractions/libvirt-qemu        2010-04-30 15:33:20 +0000
  +++ apparmor.d/abstractions/libvirt-qemu        2010-05-12 17:26:56 +0000
  @@ -8,6 +8,8 @@
-    capability dac_override,
-    capability dac_read_search,
-    capability chown,
+    capability dac_override,
+    capability dac_read_search,
+    capability chown,
  +  capability setgid,
  +  capability setuid,
-  
-    # this is needed with libcap-ng support, however it breaks a lot of things
-    # atm, so just silence the denial until libcap-ng works right. LP: #522845
+ 
+    # this is needed with libcap-ng support, however it breaks a lot of things
+    # atm, so just silence the denial until libcap-ng works right. LP: #522845
  
  ... and restarted apparmor and libvirtd.
  
  Without `capability setgid`, the qemu guest log file contained:
  LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin 
QEMU_
  AUDIO_DRV=none /usr/bin/kvm -S -M pc-0.11 -enable-kvm -m 512 -smp 1 -name dm1 
-u
  uid 79d03a71-3be6-19df-1070-791239480888 -chardev 
socket,id=monitor,path=/var/li
  b/libvirt/qemu/dm1.monitor,server,nowait -monitor chardev:monitor -boot c 
-drive
-  file=/var/vm/dm1/disk0.qcow2,if=ide,index=0,boot=on -drive 
file=/var/vm/dm1/disk1.qcow2,if=ide,index=1 -net 
nic,macaddr=52:54:00:bf:75:90,vlan=0,model=virtio,name=virtio.0 -net 
tap,fd=50,vlan=0,name=tap.0 -serial none -parallel none -usb -vnc 127.0.0.1:0 
-vga cirrus
+  file=/var/vm/dm1/disk0.qcow2,if=ide,index=0,boot=on -drive 
file=/var/vm/dm1/disk1.qcow2,if=ide,index=1 -net 
nic,macaddr=52:54:00:bf:75:90,vlan=0,model=virtio,name=virtio.0 -net 
tap,fd=50,vlan=0,name=tap.0 -serial none -parallel none -usb -vnc 127.0.0.1:0 
-vga cirrus
  libvir: QEMU error : cannot change to '109' group: Operation not permitted
  
  Without `capability setuid`, the qemu guest log file contained:
  LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin 
QEMU_AUDIO_DRV=none /usr/bin/kvm -S -M pc-0.11 -enable-kvm -m 512 -smp 1 -name 
dm1 -uuid 79d03a71-3be6-19df-1070-791239480888 -chardev 
socket,id=monitor,path=/var/lib/libvirt/qemu/dm1.monitor,server,nowait -monitor 
chardev:monitor -boot c -drive 
file=/var/vm/dm1/disk0.qcow2,if=ide,index=0,boot=on -drive 
file=/var/vm/dm1/disk1.qcow2,if=ide,index=1 -net 
nic,macaddr=52:54:00:bf:75:90,vlan=0,model=virtio,name=virtio.0 -net 
tap,fd=50,vlan=0,name=tap.0 -serial none -parallel none -usb -vnc 127.0.0.1:0 
-vga cirrus
  libvir: QEMU error : cannot change to '104' user: Operation not permitted
  
  I don't really know if these changes were the right thing to do, but it
  did allow me to boot the VMs with virsh.
  
  jad@kvmhost:~$ lsb_release -rd
  Description:    Ubuntu 10.04 LTS
  Release:        10.04
  
  jad@kvmhost:~$ apt-cache policy libvirt-bin kvm qemu-kvm
  libvirt-bin:
-   Installed: 0.7.5-5ubuntu27
-   Candidate: 0.7.5-5ubuntu27
-   Version table:
-  *** 0.7.5-5ubuntu27 0
-         500 http://us.archive.ubuntu.com/ubuntu/ lucid/main Packages
-         100 /var/lib/dpkg/status
+   Installed: 0.7.5-5ubuntu27
+   Candidate: 0.7.5-5ubuntu27
+   Version table:
+  *** 0.7.5-5ubuntu27 0
+         500 http://us.archive.ubuntu.com/ubuntu/ lucid/main Packages
+         100 /var/lib/dpkg/status
  kvm:
-   Installed: 1:84+dfsg-0ubuntu16+0.12.3+noroms+0ubuntu9
-   Candidate: 1:84+dfsg-0ubuntu16+0.12.3+noroms+0ubuntu9
-   Version table:
-  *** 1:84+dfsg-0ubuntu16+0.12.3+noroms+0ubuntu9 0
-         500 http://us.archive.ubuntu.com/ubuntu/ lucid/main Packages
-         100 /var/lib/dpkg/status
+   Installed: 1:84+dfsg-0ubuntu16+0.12.3+noroms+0ubuntu9
+   Candidate: 1:84+dfsg-0ubuntu16+0.12.3+noroms+0ubuntu9
+   Version table:
+  *** 1:84+dfsg-0ubuntu16+0.12.3+noroms+0ubuntu9 0
+         500 http://us.archive.ubuntu.com/ubuntu/ lucid/main Packages
+         100 /var/lib/dpkg/status
  qemu-kvm:
-   Installed: 0.12.3+noroms-0ubuntu9
-   Candidate: 0.12.3+noroms-0ubuntu9
-   Version table:
-  *** 0.12.3+noroms-0ubuntu9 0
-         500 http://us.archive.ubuntu.com/ubuntu/ lucid/main Packages
-         100 /var/lib/dpkg/status
+   Installed: 0.12.3+noroms-0ubuntu9
+   Candidate: 0.12.3+noroms-0ubuntu9
+   Version table:
+  *** 0.12.3+noroms-0ubuntu9 0
+         500 http://us.archive.ubuntu.com/ubuntu/ lucid/main Packages
+         100 /var/lib/dpkg/status

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/579584

Title:
  setgid, setuid needed by /etc/apparmor.d/abstractions/libvirt-qemu

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/579584/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to