<div dir="ltr">Thanks, Thierry Carrez. Your explanation is easy to understand. I have got why we need such a <span style="font-family:arial,sans-serif;font-size:13px">mechanism.</span><div><span style="font-family:arial,sans-serif;font-size:13px"><br>
</span></div><div style><font face="arial, sans-serif">BTW, is root-wrap a general or popular way to keep security? I have no experience on security, but I have heard the <i>root </i>should be banned because of security. Ideally, should we ban <i>root </i>in nodes and just use root wrapped <i>nova </i>user for tasks in need?</font></div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Jan 11, 2013 at 7:29 PM, Thierry Carrez <span dir="ltr"><<a href="mailto:thierry@openstack.org" target="_blank">thierry@openstack.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">Daniel P. Berrange wrote:<br>
> FWIW, if you've got libguestfs available, the file injection code does<br>
> not require any rootwrap usage. Ironically the config drive stuff now<br>
> does require root if you configure it to use FAT instead of ISO9660 :-(<br>
<br>
</div>My issue is that we enable a very permissive compute.filters just to<br>
care for the case where you use localfs-style injection. We generally<br>
hurt the security model to care for a specific less-secure deploy option.<br>
<br>
What we /could/ do is split compute.filters so that you have a specific<br>
filters file for localfs-style injection commands. Deployers would<br>
enable that specific file in the case they use localfs-style injection.<br>
<br>
It's tricky because you can't really trust nova to tell you which option<br>
it runs with, so you have to rely on deployers enabling the<br>
localfs-option to also enable that specific filters file, which is a bit<br>
of a configuration nightmare and very error-prone.<br>
<br>
Alternatively we could rip out localfs-style injection altogether.<br>
<div class="im"><br>
> I have a general desire to make it such that you can run with KVM and<br>
> Nova without requiring rootwrap for anything. last time I looked the<br>
> three general areas where we required root wrap were networking, storage<br>
> and file injection. My recent refactoring of file injection addressed<br>
> the latter by using libguestfs APIs instead of libguestfs FUSE. Networking<br>
> is mostly solved if using newest libvirt + Quantum instead of Nova's<br>
> own networking. Storage is something that cna be addressed by using<br>
> libvirt's storage APIs instead of running commands directly.<br>
<br>
</div>That's my goal too. Ideally devs would think twice before adding any new<br>
run_as_root=True command. Every command we add lowers the security model<br>
around openstack. It's very easy to add one, and very difficult to<br>
remove one once it's in.<br>
<div class="im HOEnZb"><br>
--<br>
Thierry Carrez (ttx)<br>
Release Manager, OpenStack<br>
<br>
</div><div class="HOEnZb"><div class="h5">_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
Post to     : <a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
</div></div></blockquote></div><br></div>