安装 NTFS 分区,并为所有人提供写入权限

安装 NTFS 分区,并为所有人提供写入权限

如何安装 NTFS 分区,以便我的计算机上的所有用户帐户都具有写入权限?我的安装选项是

nosuid,nodev,nofail,x-gvfs-show,nobootwait,uid=1000,gid=1002,fmask=113,dmask=002

这给了我写权限,但是当其他用户尝试删除文件时会弹出错误消息

Cannot move file to trash, do you want to delete immediately? 

据我了解,这是因为他们没有写权限,而这正是我想要改变的。

我创建了一个新组(带有gid=1002),并将其指定为两个用户帐户的主要组,但这没有帮助。我还尝试在不使用fmaskdmaskuid选项的情况下进行安装。

答案1

据我了解,这是因为他们没有写权限,而这正是我想要改变的。

不,此错误消息并不意味着他们没有写入权限。如果他们没有写入权限,您将无法右键单击并“移至废纸篓”或“删除”文件,或使用键盘按钮Del。但是,既然您收到此错误,则意味着用户确实有访问权限。

经过两个小时的搜索并在我的计算机上重现此错误后,我发现了以下内容。

解释

权限(所有者、组所有者、文件和目录权限)在挂载时设置。只有所有者可以将文件移至废纸篓。为什么?因为当您将文件移至 NTFS 分区中的废纸篓时,会.Trash-<uid>在分区的根目录中创建一个名为 的文件夹,其中<uid>uid用户的 ,而文件夹的所有者将是尝试删除的用户。例如,如果用户名是daniels, 是uid1000 ,则会.Trash-1000创建一个名为 的文件夹,daniels将是所有者。

因此,如果daniels是分区的所有者,他将能够正常执行此操作。但是,如果另一个用户(假设名为alaa、 和uid=1001)尝试删除某些内容,系统将尝试创建一个.Trash-1001文件夹,其所有者为alaa。但是在 NTFS 上,权限是在挂载时设置的(例如:设置为daniels),并且任何文件的“所有者”都无法更改,因此系统无法创建文件.Trash-1001夹,并向您提供提示Cannot move file to trash, do you want to delete immediately?

为了测试这一点,请尝试在名为 的分区的根目录中手动创建一个文件夹.Trash-1001(所有者将设置为分区的所有者)。您会发现,Del在任何文件/文件夹上敲击键盘都不会产生任何反应,并且右键单击某个项目时的选项将从 变为Move to TrashDelete我无法解释为什么它会变成Delete,但这只是为了确定问题确实出在.Trash-1001文件夹中。

在我看来,我将其归类为一个错误。

解决方案(软的...)

从您的 mount 命令中删除所有uid=gid=dmask=fmask=和选项,然后添加,因此我猜您的行应该是这样的:umask=permissions

nosuid,nodev,nofail,x-gvfs-show,nobootwait,permissions

我已经在我的计算机上尝试过这个,并且有效;使用 NTFS 硬盘时,两个用户都可以将其移至垃圾箱。

以下是一个演示:

alaa@aa-lu:~$sudo mount -o rw,权限/dev/sdc2 /media/he
使用默认用户映射
alaa@aa-lu:~$ls /媒体/他-la
共 104
drwxrwxrwx 1 root root 8192 9 月 24 日 21:20。
drwxr-xr-x 6 root root 4096 9 月 24 日 21:18 ..
drwxrwxrwx 1 root root 4096 2012 年 12 月 15 日 我硬盘上的文件
drwxrwxrwx 1 root root 4096 7月 9 12:18 $RECYCLE.BIN
drwx------ 1 root root 0 2012 年 1 月 22 日 系统卷信息

然后我使用我的用户名删除了一些东西alaa,然后以另一个用户身份登录aaa并删除了一些东西。 两者都可以删除,这就是 NTFS 分区的样子:

alaa@aa-lu:~$ls /媒体/他-la
共 104
drwxrwxrwx 1 root root 8192 9 月 24 日 21:20。
drwxr-xr-x 6 root root 4096 9 月 24 日 21:18 ..
drwxrwxrwx 1 root root 4096 2012 年 12 月 15 日 我硬盘上的文件
drwxrwxrwx 1 root root 4096 7月 9 12:18 $RECYCLE.BIN
drwx------ 1 root root 0 2012 年 1 月 22 日 系统卷信息
drwx------ 1 alaa alaa 0 9月24日 21:20 .Trash-1000
drwx------ 1 aaa aaa 0 9月24日 21:19 .Trash-1002

我不知道它是怎样做到这一点的,但它就是做到了。

我找到了这个页面:所有权和权限 | Tuxera解释了这一点,以及论坛帖子(http://www.tuxera.com/forum/viewtopic.php?f=2&t=27540) 有一些有用的信息。但不幸的是我还没有读过它们,所以我无法准确解释这个permissions选项的作用。

我在本节标题中说“解决方案(有点......)”是因为现在您无法控制谁是分区的所有者,不是组所有者,也不是读写权限。但是,当使用该选项安装时permissions,您可以看到“使用默认用户映射”,因此据我所知,可以创建一个“用户映射”以与一起使用permissions,并且该映射将具有我们想要设置的所有者/权限。我还没有尝试使用permissions以及uid=所有其他选项进行安装(我发布的 Tuxera 链接应该可以解释这一点),但这也可能有效,通过控制所有者/权限并同时授予对垃圾箱的访问权限。

当我阅读这些链接时,我会更新我的答案。

答案2

尝试将其添加到您的 fstab:

UUID=<YourPartitionUUID>  <YourMountPoint>  ntfs-3g  defaults,uid=1000,gid=46,utf8,dmask=000,fmask=111  0  0

(如果你没有ntfs-3g安装后,您可以尝试安装它,或者尝试使用NTFS

答案3

感谢 Alaa Ali,添加了它对remount我来说效果很好

sudo ntfsfix /dev/sdd2修复 Windows 无法完全关闭

sudo mount -o rw,permissions,remount /dev/sdd2 /home/disk1

相关内容