搜索

19.4. 限制虚拟机用户可以使用哪些操作

download PDF

在某些情况下,在 RHEL 9 中托管的虚拟机(VM)用户可以默认执行。如果是这种情况,您可以通过将 libvirt 守护进程配置为在主机上使用 polkit 策略工具包来限制虚拟机用户可用的操作。

流程

  1. 可选: 确保与 libvirt 有关的系统 polkit 控制策略根据您的偏好而设置。

    1. /usr/share/polkit-1/actions//usr/share/polkit-1/rules.d/ 目录中找到所有与 libvirt 相关的文件。

      # ls /usr/share/polkit-1/actions | grep libvirt
      # ls /usr/share/polkit-1/rules.d | grep libvirt
    2. 打开文件并检查规则设置。

      有关读取 polkit 控制策略语法的详情,请使用 man polkit

    3. 修改 libvirt 控制策略。要做到这一点:

      1. /etc/polkit-1/rules.d/ 目录中创建一个新的 .rules 文件。
      2. 将自定义策略添加到此文件中,并保存。

        有关 libvirt 控制策略的更多信息和示例,请参阅 libvirt 上游文档

  2. 配置您的虚拟机,以使用由 polkit 确定的访问策略。

    为此,请在 /etc/libvirt/ 目录中找到虚拟化驱动程序的所有配置文件,并取消其中注释了 access_drivers = [ "polkit" ]的行。

    # find /etc/libvirt/ -name virt*d.conf -exec sed -i 's/#access_drivers = \[ "polkit" \]/access_drivers = \[ "polkit" \]/g' {} +
  3. 对于您在上一步中修改的每个文件,请重新启动对应的服务。

    例如,如果您修改了 /etc/libvirt/virtqemud.conf,请重新启动 virtqemud 服务。

    # systemctl try-restart virtqemud

验证

  • 作为您要限制其虚拟机操作的用户,请执行一个受限操作。

    例如,如果非特权用户被限制查看在系统会话中创建的虚拟机:

    $ virsh -c qemu:///system list --all
    Id   Name           State
    -------------------------------

    如果这个命令没有列出任何虚拟机,即使系统上有一个或多个虚拟机,则 polkit 成功地限制了非特权用户的操作。

故障排除

其它资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.