通过 fstab 挂载的 ramfs 自动归 root 所有

通过 fstab 挂载的 ramfs 自动归 root 所有

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

相关内容