使用 systemd 241 在内核 4.20.17 上运行 Debian Buster:
+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid
我的 nand (/dev/mtd3) 分区上有两个 ubifs 卷:
ubi0:rootfs on / type ubifs (ro,relatime,assert=read-only,ubi=0,vol=1)
/dev/ubi0_2 on /var type ubifs (rw,relatime,assert=read-only,ubi=0,vol=2)
我收到以下错误:
systemd-journald[747]: Failed to set ACL on /var/log/journal/2f572c0abab24e2fafc1b969aba78f1f/user-1000.journal, ignoring: Operation not supported
我可以将 UBIFS 设置为 ACL,如果可以,我该如何调整我的 fstab 来启用它?
/dev/ubi0_2 /var ubifs defaults,auto 0 0
答案1
不,根据UBIFS 文档,UBIFS 中未实现 ACL 支持:
扩展属性
如果启用相应的配置选项,UBIFS 支持扩展属性(不需要额外的挂载选项)。它支持用户、可信和安全名称空间。但是,未实现访问控制列表 (ACL) 支持。
请注意,当前 mkfs.ubifs 会忽略扩展属性,并且不会将它们写入目标文件系统映像。
同样,内核源代码指出ACL 支持未实现。
实现 ACL 的文件系统通常acl.c
在源中有一个文件。 JFFS2有这样一个文件并支持 ACL(例如:其mkfs.jffs2
命令有一个--with-posix-acl
选项)。
如果确实需要 ACL 功能,并且您的系统可以负担得起(例如:JFFS2 可能使用更多 RAM,并且如果较大,则安装时间更长)也许是小的如果需要此功能,可以考虑使用单独的 JFFS2 文件系统。在 UBI 上使用 JFFS2(以提高磨损均衡)似乎很好,并且在比较各种解决方案时已经进行了研究,因此这可能是一种解决方法。
参考文献:
- ubi.ppt(PPT)
- 嵌入式Linux文件系统的比较分析(PDF)
- Linux:UBI 层上的 JFFS2 映像