tmpfs 可供所有用户随时进行读/写访问

tmpfs 可供所有用户随时进行读/写访问

我想/mnt/ramdisk在不同用户之间共享 tmpfs 文件夹 ( )。所有用户都应该能够读取/写入该文件夹中的所有文件(就像 fat32/fuse/samba 一样),这对于每个应用程序都有自己的 uid/gid 的 Android 特别有用。解决方案应该是在 Linux/文件系统级别。问题是大多数文件都是使用自己的 uid/gid 创建的 600,因此其他应用程序无法访问这些文件。

如何才能做到这一点?

答案1

您(大部分)可以使用默认 ACL 来做到这一点:

mkdir dir
setfacl -d -m u::rwx,g::rwx,o::rwx dir
chmod 0777 dir

默认 ACL 会覆盖umask创建文件的进程的 ACL,这通常会阻止进程创建全局可写文件。默认 ACL 不会停止显式创建只能由所有者(使用open(filename, flags, 0600)等)访问的“私有”文件的进程,也不会随后修改权限。

tmpfs似乎默认支持 ACL,没有任何安装选项,假设CONFIG_TMPFS_POSIX_ACL在内核配置中设置。

如果这还不够,您可能需要设置一些过程来修复目录中文件的权限(如果它们被以您不想要的方式修改)。为此使用cron或之类的。inotify

相关内容