Openstack rootwrap


在openstack组件中可能会需要用root权限去运行某些命令。目前是通过rootwrap实现的。


官方wiki:

https://wiki.openstack.org/wiki/Rootwrap


以nova为例,安装nova后,会将一下文件放在sudoers.d目录下:

[root@ci91szcmp003 sudoers.d]# cat /etc/sudoers.d/nova
Defaults:nova !requiretty

nova ALL = (root) NOPASSWD: /usr/bin/nova-rootwrap /etc/nova/rootwrap.conf *

这使得nova可以以root权限运行nova-rootwrap. 而在rootwarp.conf中定义了filters_path=/etc/nova/rootwrap.d,/usr/share/nova/rootwrap。这两个目录中定义的命令的filter,也就是说这些filter中定义的命令就可以用root权限执行了。需要注意/etc/nova/rootwrap.d,/usr/share/nova/rootwrap必须是root权限才能修改。当我们需要定义一个新的需要root权限的命令时,仅需要修改这些filter。


相关内容