我有一个双引导系统(Windows 10/Archlinux),并且创建了一个 NFTS 分区,该分区在启动时通过 /etc/fstab 挂载,以便我可以从两个操作系统访问它。
该fstab
文件显示该分区已使用读写权限 ( rw
) 和user_id=0
挂载group=0
,这两个值都与 root 用户相关,后跟allow_other
允许我的常规用户访问已挂载文件系统的选项。
当普通用户(非 root)在已安装的分区中创建文件或文件夹时,这些文件或文件夹的创建就像由 root 拥有/创建一样,如ls -l
命令所示。即使我尝试使用chmod
,权限也不会受到影响,并且不会显示任何错误。
我还尝试将 /etc/fstab 中的user_id
和更改group_id
为1000
,对应于非 root 用户并使用 重新加载条目sudo mount -av
。之后,我在已安装的分区中创建了一个文件,但它始终显示 root 作为用户所有者。
我怀疑问题可能出在 fstab 配置上,但我不确定。接下来我将分享一些与 fstab 文件内的分区配置以及前面提到的命令及其输出相关的信息:
/etc/fstab/
UUID=B23A2CB93A2C7C8B /mnt/Contenido ntfs-3g rw,nosuid,nodev,user_id=0,group_id=0,allow_other,blksize=4096 0 0
$ cd /mnt/Contenido
$ whoami
> joao
$ touch random_file
$ ls -l
> -rwxrwxrwx 1 root root 0 Feb 19 16:45 random_file
$ sudo chmod -v 700 random_file
> mode of 'random_file' changed from 0777 (rwxrwxrwx) to 0700 (rwx------)
$ ls -l
> -rwxrwxrwx 1 root root 0 Feb 19 16:45 random_file
>
答案1
正如克里斯·戴维斯所说在评论区,答案在man ntfs-3g
, 在里面访问处理和安全准确地说,是一节。
我可以ntfs-3g -o uid=1000,gid=1000,umask=700 /dev/nvme0n1p6 /mnt/Contenido/
让我的普通用户成为所有者。
我不知道是否值得一提,但是ntfs-3g
使用集成的 FUSE 支持进行重建非常重要,这样普通用户就可以挂载文件系统,正如 Arch Wiki 中所解释的。