这是此Q/A的后续问题。
我在我的笔记本电脑上尝试了这个命令,它起作用了:
setfacl -m 'u:programX:rwx' /etc/NetworkManager
Run Code Online (Sandbox Code Playgroud)
我检查了我的嵌入式设备是否已acl安装并标记为正确。
但是我发现在嵌入式设备上使用命令时我得到了setfacl: /etc/NetworkManager: Operation not supported.
当我检查man setfacl我的版本时acl似乎支持该-m标志。
为什么acl在我的笔记本电脑上运行正常时,设备上不支持该操作?
结果mount | grep -w /:
/dev/block/mtd/by-name/linuxroot on / type ext4 (rw,relatime,barrier=1,data=ordered)
Run Code Online (Sandbox Code Playgroud)
Hau*_*ing 13
旧内核中的 ext4 代码(我直到什么时候才知道)需要acl作为挂载选项。所以你可以试试:
mount -o remount,acl /
Run Code Online (Sandbox Code Playgroud)
/etc/fstab
你fstab包含一行
/dev/sda3 / ext4 defaults 0 0
Run Code Online (Sandbox Code Playgroud)
您必须添加acl到选项字段:
/dev/sda3 / ext4 defaults,acl 0 0
Run Code Online (Sandbox Code Playgroud)