如何授予多个用户对Windows NTFS分区的访问权限?


8

我有USB硬盘驱动器连接到我的Ubuntu(11.04)计算机。每次我重新启动计算机并登录时,都会挂载硬盘驱动器。由于磁盘上装有NTFS,因此Linux会分配一些用户作为磁盘上文件的所有者。因此,磁盘上的所有文件都显示为一个用户所有,只有该用户才能看到这些文件。

我在计算机上使用两个用户帐户,经常在它们之间切换。切换到其他用户帐户后,我将无法再访问该磁盘的内容,因为该磁盘归我的第一个用户帐户所有。除了通过/ etc / fstab挂载以外,有什么可以做的吗?

谢谢。

Answers:


14

具有特定权限的挂载

有。将两个用户放在一起。然后使用该组的设置gid=选项,并使用所需的权限安装磁盘。您可以控制权限umask=fmask=dmask=在mount命令选项。这是一个例子:

mount -O dmask=007,fmask=117,gid=46,uid=1000 /dev/sdc1 /media/winhdd

这些选项也可以/etc/fstab像这样使用:UUID=7258CB9858CB598D /media/win ntfs rw,auto,user,exec,nls=utf8,dmask=007,fmask=117,gid=46,uid=1000 0 2

避免fstab-使用udev自动挂载特定磁盘

我想您想避免使用fstab,因为它在启动时并不总是连接磁盘。如果希望避免使用fstab,请使用udev规则。连接磁盘后,Udev可以自动安装(并防止Ubuntu自动安装)。一个规则可能看起来像这样:

# In /etc/udev/rules.d/70-usb-winhdd-mount.rules

KERNEL=="sd?[0-9]", ATTR{removable}=="1", ATTRS{serial}=="UA04FLGC", ACTION=="add", RUN+="mount -O dmask=007,fmask=117,gid=46,uid=1000 /dev/%k /media/winhdd"

您将需要通过磁盘的属性来识别磁盘。在我的示例中,我这样做是ATTRS{serial}=="UA04FLGC"。我在另一个问题中描述了如何执行此操作。规则文件的命名和位置也在此处描述。

给所有可移动磁盘这些属性

如果要使用所有可移动磁盘(而不仅仅是特定的可移动磁盘)执行此操作,只需省去串行部分,并确保分配一个唯一的挂载点(对它们进行计数,从串行创建,udev的%符号或其他方法)。另外,如其他地方所述, ENV{mount_options}="$env{mount_options},dmask=007,fmask=117,gid=46,uid=1000"可以选择使用某些权限/所有权安装所有可移动磁盘。


您可能已经知道的有用信息:

创建组并添加用户

这些是shell命令,用于创建一个名为“ winhdd”的组并将一个名为“ confus”的用户添加到该组:

groupadd winhdd
usermod -a -G winhdd confus

找出组ID

您可以在名为的文件中找到系统上所有组的组ID /etc/group。您所寻找的条目看起来像winhdd:x:4:confus,narur,joe“ confus”,“ narur”和“ joe”是属于该组的用户名,“ adm”是该组的名称,“ 4”是该组的ID。在其中,/etc/groups您还可以检查是否成功将用户添加到组中。该命令getent group winhdd将在行中显示有关该组的信息。该id命令为您提供组ID,用户ID以及您所属的所有组的名称和ID。

设置类似umask的选项

您需要设置dmask=为一个合理的值,该至少允许您执行(= access)目录。fmask=是文件权限的选项。

dmask=007,fmask=117,gid=46,uid=1000允许用户号为1000(掩码的第一位数字)和组号为46(掩码的第二位数字)的成员的所有者读写磁盘上的文件。其他用户无权执行任何操作(因此,掩码中的第三位数字-7)。这是掩码值

7 – no permissions     6 – execute only    5 – write only
4 – write and execute  3 – read only       2 – read and execute
1 – read and write     0 – read, write and execute

我已经读过,应该使用dmask和fmask值而不是umask值来设置ntfs fstab条目... dmask 027和fmask 137-ubuntuforums.org/showthread.php?&t=283131
fossfreedom

正确,目录必须具有可执行权限。如果您希望文件是可执行文件,则可以使用umask。否则,要使用dmask和fmask。
con-f-use
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.