Haven't looked closely enough yet, but a few comments:

1. mount/umount make up a lot of the privileged calls, and
at some point these will hopefully be supported unprivileged
(at least for bind mounts).

2. one nice bonus of this is that we can easily spot where
priv is expected to be used

3. instead of keeping caps in pP and raising in pE when needed,
a more privilege-separated approach could be used, where you
have small privileged helpers which are called by the unprivileged
main program.  In this case, lxc-start would clear out both pP
and pE, but keep caps in pI.  Then, little helpers like
lxc-destroy-cgroup would have fP=fE=empty and fI=<some_set> where
some_set has just the caps it needs to do its job.  Then if any
normal user calls lxc-destroy-cgroup, it'll run with no privs,
but when lxc-start calls it with pI=full, then lxc-destroy-cgroup
will run with pP = (intersection of lxc-start's pI and lxc-destroy-cgroup's
fI).  It can then move bits from pP to pE when needed (or just
have fE=fI to have pE auto-filled).

-serge

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Lxc-devel mailing list
Lxc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-devel

Reply via email to