为所有用户挂载ramfs

为所有用户挂载ramfs

我正在尝试使用以下命令创建ramfs安装点/tmp/ram

  1. /etc/fstab使用以下行创建了一个条目:

    ramfs /tmp/ram ramfs rw,nodev,noexec,nosuid,async,user,noauto 0 0

    (我也尝试过替换userusers。也尝试过使用x-mount.mkdir=0770

  2. 创建了一个权限为 0775 的目录/tmp/ram不是 root)。

  3. ramfs使用普通用户的命令挂载文件系统mount /tmp/ram

但安装后 - 目录始终具有所有权 user= root、 group= meme是我的普通用户的用户名/组名)和权限0755,这不允许我在目录中创建文件。

知道如何继续吗?我想使用普通用户而不是 root 来安装该文件系统...我根本不想使用 root 权限来进行此安装,这就是为什么/etc/fstab.

答案1

发生这种情况是因为安装的文件系统驱动程序已经提供了安装点的根目录。因此,inode 参数(包括权限设置)来自它,并且它们与 /tmp/ram 的原始设置重叠。

某些文件系统提供了通过挂载参数来修复或更改其权限的功能,尽管它有不同的原因:如果文件系统没有足够的权限信息(vfat),或者它与unix安全性(cifs)太陌生,这是一种由 sysadm 热提供的方法。 Ramfs没有这个功能。

“user”参数仅允许用户挂载或卸载文件系统,但不会更改其安全参数。这可能不是您的意图(我认为您希望生成一个所有用户同时可以访问的非常快的 tmp)。

注意,简单的优化:您也可以使用 tmpfs,而不是 ramfs。 tmpfs的内容也主要在ram中,但是不用的话可以换出。 Ramfs 的内容始终位于物理内存中。 Tmpfs 可以根据需要进行参数化,例如 mode=1777 会使其行为类似于 /tmp (每个人都可以创建/删除文件,但只能创建/删除他们自己的文件)。

您必须运行 chmod/chown 命令坐骑发生了。 Linux 挂载工具无法轻松提供此功能。

我建议在 /etc/init.d 中为此创建一个初始化脚本(其他初始化脚本提供语法,如何轻松完成)并在重新启动时执行 mount/chmod 。

相关内容