我有一个硬盘驱动器(NTFS 格式),需要在 fstab 中自动挂载。
我基本上希望它像我的主目录一样,所以我(和其他程序)应该能够写入它,读取文件,创建目录等等。
这是我的 fstab 中当前的内容:
UUID=7099E21207CE11EC /mnt/v auto umask=022,dmask=022,uid=1000,gid=985 0 0
我对此进行了很多迭代,我不记得我到底尝试了什么,但我得到的最大的收获是能够从中阅读。
我正在使用 arch 顺便说一句,我的用户 id 是 1000,我有一个名为 users 的组,其 id 为 985,尽管我也尝试将 gid 设置为 1000。
抱歉,如果这是一个菜鸟问题,但我不太了解文件权限和所有权,并且确实需要它才能工作。
答案1
正如 @parsa-mousavi 指出的,你肯定必须将“rw”选项添加到第四个字段:
UUID=7099E21207CE11EC /mnt/v auto rw,umask=022,dmask=022,uid=1000,gid=985 0 0
顺便说一句:您经常可以在这里看到“默认值”,其中的意思是“rw”。
这是显而易见的事情,但可能还存在其他陷阱:
通过检查 的输出来验证文件系统是否已使用正确的文件系统类型挂载
mount | grep '/mnt/v'
。您想在这里看到“ntfs-3g”。我已经很多年没有使用过 NTFS 了,但在过去,“ntfs”驱动程序的功能有限 - 它只允许读取访问 - 而第三代 NTFS 驱动程序还支持保存写入访问。如果文件系统尚未完全卸载,Linux 驱动程序可能会出现问题(同样是限制)。当您启动 Windows 时,它将修复这些问题(这通常在系统启动期间自动发生)。在 Linux 中重试之前,请确保彻底关闭 Windows。
尝试删除
umask
、dmask
、uid
和gid
参数。这手册页说:默认情况下,文件和目录由挂载进程的有效用户和组拥有,每个人都拥有完整的读、写、执行和目录浏览权限。您还可以通过将 uid 和/或 gid 选项与 umask 或 fmask 和 dmask 选项一起使用来向单个用户分配权限。