如何允许其他用户使用 UserMapping 文件访问已挂载的 NTFS 分区?

如何允许其他用户使用 UserMapping 文件访问已挂载的 NTFS 分区?

我无法让除我或 root 之外的其他用户访问已挂载的 NTFS 分区上的文件。我发现类似问题的答案通常提到设置 uid 和 gid 选项。在我的情况下,我使用 ntfs-3g 挂载分区并在默认位置定义了 UserMapping 文件。如手册中所述,这会导致 uid 和 gid 设置被忽略。

当我正常访问分区时,一切都正常。我可以更改权限、所有权并执行文件,这很棒。但是,如果 apache(以 www-data 身份运行)也可以访问分区上的文件,那就太好了,但目前它还不能访问。

fstab 中的行如下所示:

<UUID> <mount point> ntfs-3g x-gvfs-show,x-gvfs-name=Data,exec,hide_hid_files,hide_dot_files 0 0

为了测试 apache 用户的访问权限,我简单尝试了一下:

sudo -u www-data ls -all <absolute path to mount point>

返回:

ls: cannot access Data: Permission denied

我还尝试将挂载点上的组更改为 www-data 用户所在的组(即 www-data),但没有效果。

有什么我忽略了或者可以尝试的吗?任何帮助都将不胜感激!

编辑

ntfs-3g.secaudit Data/Server/index.html 的输出

secaudit 1.4.0 : NTFS security data auditing
File Data/Server/index.html
Windows attrib : 0x20
Interpreted Unix owner 1000, group 33, mode 0666
No errors were found

ntfs-3g.secaudit 数据/服务器/的输出

secaudit 1.4.0 : NTFS security data auditing
Directory Data/Server/
Windows attrib : 0x30
Interpreted Unix owner 1000, group 33, mode 0750
Posix descriptor :
    acccnt 3
    defcnt 3
    firstdef 3
    mode : 0750
    tagsset : 0x25
Posix ACL :
    version 2
    flags 0x00
ace 0 : access  USR-O   -1 perms 0007 rwx
ace 1 : access  GRP-O   -1 perms 0005 r-x
ace 2 : access  OTHER   -1 perms 0000 ---
ace 3 : default USR-O   -1 perms 0007 rwx
ace 4 : default GRP-O   -1 perms 0007 rwx
ace 5 : default OTHER   -1 perms 0007 rwx
No errors were found

答案1

我找到了答案这里这里这里

出错的地方是我将挂载点添加到了 /media 而不是 /mnt 目录(如第一和第二个链接中所述)。因此,权限问题已修复:

<UUID> /mnt/Data ntfs-3g x-gvfs-show,x-gvfs-name=Data,exec,hide_hid_files,hide_dot_files 0 0

代替:

<UUID> /media/kevin/Data ntfs-3g x-gvfs-show,x-gvfs-name=Data,exec,hide_hid_files,hide_dot_files 0 0

这有效地回答了我的问题。

为了确保 apache 确实会加载页面而不是返回 403 禁止响应,只剩下一件事要做。apache 配置需要具有以下目录设置(如第三个链接中所述)。我将其添加到 /etc/apache2/apache2.conf。

<Directory "/mnt/Data/www">
   allow from all
   Options +Indexes
   Require all granted
</Directory>

就这样!Apache 现在可以从 ntfs 分区为我的网站提供服务了。

相关内容