ramfs
之所以选择它,是因为文件写入磁盘的可能性为零(使用交换空间tmpfs
)。tmpfs
超出了这个问题的范围。
这是我的fstab
挂载点条目:
ramfs /path/to/mount ramfs defaults,nofail 0 0
安装后,我可以正常设置权限:
chown -R myuser:myuser /path/to/mount
问题出现在重启. 业主成为根重启后必须手动改回我的用户。我所需要做的就是在挂载时设置用户 ID(或者在重启后保留)。
答案1
ramfs 根本没有挂载选项,所以无法像 tmpfs 那样设置挂载 uid/gid。
从手册页中:
Ramfs 是基于内存的文件系统。挂载它,你就拥有它了。卸载它,它就消失了。自 Linux 2.3.99pre4 以来就存在了。没有挂载选项。
显然,您知道危险由于用户意外溢出了 ramfs,您的系统内存耗尽并崩溃,您已接受该风险。因此,我们不会提及 tmpfs 解决了此问题,这也是 ramfs 未受到开发人员太多关注且很少使用的原因。引用内核开发人员的话:
ramfs 的一个缺点是,您可以不断向其中写入数据,直到填满所有内存,而 VM 无法释放它,因为 VM 认为文件应该写入后备存储(而不是交换空间),但 ramfs 没有任何后备存储。因此,只有 root(或受信任的用户)才应被允许对 ramfs 挂载进行写访问。
创建了一个名为 tmpfs 的 ramfs 衍生产品,以添加大小限制以及将数据写入交换空间的能力。普通用户可以被允许对 tmpfs 挂载进行写访问。有关更多信息,请参阅 Documentation/filesystems/tmpfs.txt。
因此,执行此操作的唯一方法是在挂载文件系统后继续设置所有权,例如在 中rc.local
。