cl-*_*box 5 fedora acl qemu virt-manager libvirt
我在 Fedora 25 Workstation 主机上以访客身份运行各种虚拟机。我将虚拟磁盘(以及所有其他个人资料)存储在第二个内置磁盘的不同独立分区上。virt-manager以qemu用户身份运行虚拟机,为了引导磁盘,我需要执行:
sudo setfacl -R -m u:qemu:rwx /run/media/cl
Run Code Online (Sandbox Code Playgroud)
这让qemu用户可以使用这些虚拟磁盘来引导 VM。但是,如果我重新启动主机系统,ACL 设置将丢失,我必须再次运行该命令。当我使用 Ubuntu 系统作为主机时,该命令只需要运行一次,并且权限更改在后续重新启动后仍然有效。
如何让基于 Red Hat 的系统像 Ubuntu 一样在重新启动后记住修改后的 ACL 设置?
这是一个 hack,但您可以编写一个快速systemd服务来在启动时运行它,也许在/etc/systemd/system/set-qemu-acl.service.
[Unit]
Description=QEMU ACL Hack
Requires=local-fs.target
After=local-fs.target
[Service]
ExecStart=/usr/bin/setfacl -R -m u:qemu:rwx /run/media/cl
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
然后,只需启用它。
sudo systemctl enable set-qemu-acl.service
您也可以在系统cron表中添加一行。
* * * * * root /usr/bin/getfacl /run/media/cl | grep 'user:qemu:rwx' || /usr/bin/setfacl -R -m u:qemu:rwx /run/media/cl
或者由于您是手动安装,包装脚本可以为您完成,也许/usr/local/bin/mount-acl.
#!/bin/sh
mount $1 $2
setfacl -R -m u:qemu:rwx $2
Run Code Online (Sandbox Code Playgroud)
然后,就sudo mount-acl /dev/partition /run/media/wherever可以带你去你想去的地方,不是吗?
| 归档时间: |
|
| 查看次数: |
1500 次 |
| 最近记录: |