[libvirt] [PATCH 2/3] Set basic capabilities needed for libvirtd

Daniel Veillard veillard at redhat.com
Tue Jun 23 13:43:26 UTC 2009


On Mon, Jun 22, 2009 at 08:58:27PM +0100, Daniel P. Berrange wrote:
> 
> This sets up some basic support in libvirtd for dropping privileges
> by removing capabilities, or changing uid/gid of the process. It 
> needed a little movement of existing code to allow us to drop
> privileges in between initializing the daemon and initializing the
> drivers. 
> 
> As I mentioned in the first mail, this patch doesn't really improve
> security of the daemon, since we keep CAP_DAC_OVERRIDE, CAP_SYS_ADMIN
> and CAP_NET_ADMIN. I've put comments inline showing why I chose to
> keep/exclude each capability.

  the problem is that the amound of capability we can drop is dependant
on the actual set of drivers installed. I have the feeling that each
driver should have a method exporting the capabilities it needs and
once we have initialized the set of drivers then we should drop to the
logical OR'ing of them. I think trying to maintain a global knowledge of
all drivers requirement in a central place won't scale well and that's
better left to the drivers maintainers.

> I also added a helper to util.c for resolving a name to a gid/uid.
> 
> Ignore all the printfs() in the code, those will be removed later
> before I submit this again...

  That said as a first approach that looks fine to me.

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list