我当前遇到一个问题,我的计算机上的用户无法qemu
访问某些文件。例如/dev/shm/looking-glass
。
我已经跑了:
sudo setfacl --modify user:$(logname):rw "/dev/shm/looking-glass"
sudo setfacl --modify user:qemu:rw "/dev/shm/looking-glass"
以下是有关该文件权限的更多信息:
$ ls -la /dev/shm/looking-glass
-rw-rw----+ 1 qemu kvm 33554432 Jul 29 01:29 /dev/shm/looking-glass
$ getfacl /dev/shm/looking-glass
getfacl: Removing leading '/' from absolute path names
# file: dev/shm/looking-glass
# owner: qemu
# group: kvm
user::rw-
user:qemu:rw-
user:fedora:rw-
group::rw-
mask::rw-
other::---
该特定文件的文件权限和所有权是通过systemd-tmpfiles
以下方式管理的:
$ cat /etc/tmpfiles.d/10-looking-glass.conf
#Type Path Mode UID GID Age Argument
f /dev/shm/looking-glass 0660 qemu kvm -
我也尝试setfacl
直接使用 on/dev
和/dev/shm
,但这完全搞乱了我的系统,而且无论如何也没有帮助,所以我不得不撤消它。
现在如果我简单地将 SELinux 设置为宽容 ( sudo setenforce 0
)
用户qemu
可以毫无问题地访问该文件。
但我想让 SELinux 设置为强制执行,所以这不是一个选择。
现在我的问题是:如何向 SELinux 添加规则来授予给定用户访问给定文件的权限?
我能找到的唯一相关问题是这这只是为 systemd 服务添加规则,所以这对我的情况没有帮助。