nova-rootwrap笔记
使用root wrapper可以让非特权用户以root身份尽可能安全地执行部分操作。nova曾经使用sudoers文件来列出允许执行的特权命令,使用sudo来运行这么命令,但是这样不容易维护,而且不能进行复杂的参数处理,rootwrap就是为了解决这些问题。
使用sudo nova-rootwrap config-file command,而不再是使用sudo command。只需要使用一个通用的sudoers使nova-rootwrap以root身份运行。nova-rootwrap查看配置文件,加载command filters,检查请求的命令是否匹配某个filter,如果匹配就以root身份运行,否则就拒绝请求。
以devstack安装的openstack
stack@ubuntu :/home/openstack$ cat /etc/iscsi/initiatorname.iscsicat: /etc/iscsi/initiatorname.iscsi: Permission denied
显示没有权限,查看文件的权限
stack@ubuntu :/home/openstack$ ls -l /etc/iscsi/initiatorname.iscsi-rw------- 1 root root 348 Jan 5 05:21 /etc/iscsi/initiatorname.iscsi
只有root有读和写的权限,再用nova-rootwrap试试
sudo nova-rootwrap /etc/nova/rootwrap.conf cat /etc/iscsi/initiatorname.iscsi
可以查看文件内容了再看执行其他命令呢
stack@ubuntu :/root$ sudo nova-rootwrap /etc/nova/rootwrap.conf cat /etc/shadow/usr/local/bin/nova-rootwrap: Unauthorized command: cat /etc/shadow (no filter matched)
不能查看shadow文件,因为没有filter匹配到
sudoers文件是这么写的,路径在/etc/sudoers.d/nova-rootwrap
suoders.d文件夹下的配置都会被加载
stack ALL=(root) NOPASSWD: /usr/local/bin/nova-rootwrap /etc/nova/rootwrap.conf *
所以stack用户可以用nova-rootwrap带任何参数,而且不需要输入密码(NOPASSWD)
在nova.conf文件中定义了rootwrap的配置文件路径
rootwrap_config=/etc/nova/rootwrap.conf
在rootwrap.conf文件中
[DEFAULT]filters_path=/etc/nova/rootwrap.dexec_dirs=/sbin,/usr/sbin,/bin,/usr/binuse_syslog=Falsesyslog_log_facility=syslogsyslog_log_level=ERROR
filter_path包含filters的文件夹,多个文件夹以逗号分隔
exec_dirs为命令的路径,以逗号分隔多个目录
当使用 sudo nova-rootwrap /etc/nova/rootwrap.conf cat /etc/iscsi/initiatorname.iscsi 时,从filter_path目录下加载所有的filters 从所有filters中查找匹配到的filter,用一个新的进程执行
转载于:https://my.oschina.net/OQKuDOtsbYT2/blog/119990
nova-rootwrap笔记相关推荐
- openstack nova 分析笔记
原文地址:https://blog.csdn.net/u010827484/article/details/82627646 Openstack Nova 分析笔记
- 【OpenStack】【Nova】安装与配置详解 (1)
文章目录 centos-openstack-rocky仓库中Nova相关的包 openstack-nova-common包 openstack-nova-api包 openstack-nova-con ...
- nova与neutron交互
1 nova命令 先介绍一下nova命令中与网络相关的一些参数. 1.1 指定网络启动虚机 usage: nova boot [--flavor <flavor>] [--im ...
- nova network-vif-plugged事件分析1
在创建虚机过程中,nova-compute会调用wait_for_instance_event函数(nova/compute/manage.py)进行network-vif-plugged的事件等待, ...
- 虚拟创建失败之Dbus调试
DBus调试命令 查询连接名 ### 查询所有连接名 # dbus-send --system --print-reply --dest=org.freedesktop.DBus / org.free ...
- Docker与OpenStack集成实战
1.计算节点安装Docker root@compute2: ~# apt install docker.io -y 或 root@compute2:~# sh -c "echo deb ht ...
- Ubuntu 12.04 Server OpenStack Havana多节点(OVS+GRE)安装
1.需求 节点角色 NICs 控制节点 eth0(10.10.10.51)eth1(192.168.100.51) 网络节点 eth0(10.10.10.52)eth1(10.20.20.52)eth ...
- OpenStack-Mitaka版本部署
1.环境准备 centos7.2相关文件 镜像:https://mirrors.aliyun.com/centos-vault/7.2.1511/isos/x86_64/CentOS-7-x86_64 ...
- openstack虚拟机热迁移优化(victoria版)(附源码分析以及日志分析)
优化目标 提高热迁移成功率 热迁移认知 热迁移是转移内存(或存储)的过程.源主机不断把虚拟机的内存转移到目的主机,直到源主机仅仅省一部分可以一次转移完成的内存未被转移,此时把源主机上的虚拟机暂停,转移 ...
最新文章
- matlab画梅花,基于Matlab图像素描生成算法究.doc
- weblogic.jdbc.wrapper.Blob_oracle_sql_BLOB cannot be cast to oracle.sql.BLOB 解决方法
- 3D物体识别的如果检验
- 微信小程序--搭建linux服务器并部署java后端程序2021
- python演示验证图像叠加过程_Python叠加矩形框图层2种方法及效果代码实例
- 深蓝学院《从零开始手写VIO》作业七
- 实时事件日志记录和聚合的平台——Sentry
- Linux-Centos 安装Anaconda(2021)
- TensorFlow-RNN循环神经网络 Example 2:文本情感分析
- oracle as sydba,Oracle的操作系统认证(/ as sydba 登录方式)
- Perl 标量的操作符
- sysservers 中找不到服务器,请执行 sp_addlinkedserver 将该服务器添加到sysserver
- Android 集成友盟统计
- linux手机纠错软件,纠错神笔Lernstift:让你远离拼写错误
- python包和库的区别_python中模块、包、库的区别和使用
- FTDI通用转USB芯片简述
- 【Nginx】Nginx在Windows、Linux环境下的下载安装详细步骤
- 不忘初心,方得始终——NOIP2016前的感悟
- AIGC火了,但它能替代红人们吗?
- 基于python与scipy拟合椭圆