Fedora
如何使 /run/media/* 上的 ACL 設置持久化?
我在 Fedora 25 Workstation 主機上以訪客身份執行各種虛擬機。我將虛擬磁碟(和所有其他個人資料)儲存在第二個內置磁碟上的不同單獨分區上。
virt-manager
以使用者身份執行虛擬機qemu
,為了啟動磁碟,我需要執行:sudo setfacl -R -m u:qemu:rwx /run/media/cl
這讓
qemu
使用者可以使用這些虛擬磁碟來引導虛擬機。但是,如果我重新啟動主機系統,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
然後,只需啟用它。
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
然後,只會
sudo mount-acl /dev/partition /run/media/wherever
帶你去你想去的地方,不是嗎?