如何让外部驱动器上的 NTFS 分区可供所有人访问?

如何让外部驱动器上的 NTFS 分区可供所有人访问?

我有一个外置硬盘,我把它用在工作电脑和另外两台笔记本电脑之间。从上周五开始(因为我不知道这是我的错还是别人的错),其中两台电脑上,每当我插入外置硬盘时,它只会在硬盘下方显示(在我的计算机中)NTFS,并且不允许访问它。

其中一个,每次我插入它时,它都会“检查磁盘是否有错误”,之后它运行正常。

据我所知,它与 NTFS 文件权限有关,但我不明白我需要做什么才能使外部磁盘上的那些文件(包括外部磁盘本身)可供所有人访问,无论他们使用的操作系统和用户名数据如何。

是否有人知道如何让每个人都可以访问该分区,无论使用什么操作系统?

对评论中@fixer1234 问题的回答,希望它能帮助诊断问题

目前问题计算机上的任何人(包括通过管理员权限)都可以访问它吗?
不。我是其中一台有问题的电脑(我的私人电脑)的管理员,但无法访问。在另一台电脑(我的工作电脑)上,我不是管理员。

所有计算机都运行 Win 7?
是的,除了我的工作电脑运行 64 位之外,所有电脑都运行 Win7 32 位。

问题计算机上的其他外部驱动器是否也会发生同样的问题?
我只有这一个,但是常规 USB 记忆棒不会出现此问题。

两台有问题的计算机有哪些共同点,而没有问题的计算机没有这些共同点?

在有问题的计算机上,您是否尝试过实时 Linux 会话来查看是否可以访问驱动器?
不,抱歉。我完全没有使用 Linux 的经验。

答案1

您可以尝试将驱动器的所有者更改为“用户”或“所有人”,授予他们完全权限,并打开继承。

更改所有权:

  1. 要更改所有权,请右键单击计算机上正常运行的驱动器。
  2. 转至属性
  3. 点击“安全”选项卡
  4. 点击底部附近的高级
  5. 点击顶部所有者旁边的更改。如果您没有权限执行此操作,您可能需要点击带有蓝色盾牌的对话框中的按钮之一,以提升的权限打开它
  6. 在打开的窗口中,在框中输入“用户”,然后单击“确定”选中所有者下的复选框以在子容器和对象上应用/替换
  7. 在每个对话框中单击“确定”。您可能会看到一个窗口,其中有一个进度条,正在应用更改,这可能需要一段时间,具体取决于文件数量

更改权限

  1. 右键单击驱动器,转到“属性”,然后转到“安全”,然后转到“高级”--如上 2a。如果您在下方列表中没有看到“用户”(如用户(计算机名\用户)然后单击顶部的添加和“选择原则”。在窗口中输入“用户”,就像输入所有权一样 2b。如果您确实看到了用户,请单击一次选择它,然后单击编辑 3a。确保顶部的类型下拉菜单设置为“允许”3b。确保应用于下拉菜单设置为“此文件夹、子文件夹和文件”3c。确保选中“完全控制”。选择后,其他框应该会自动选中 3d。单击确定
  2. 选中窗口底部的“用可从该对象继承的权限条目替换所有子对象权限条目”(您应该回到顶部列出所有者并在中间部分列出用户/组的列表)
  3. 点击确定。与更改所有权一样,可能需要一段时间才能将更改应用于所有文件

在其他计算机上尝试该驱动器,看看是否仍然遇到问题。

解释

Windows/NTFS 权限使用访问控制列表 (ACL) 进行控制。Windows 中的所有用户和组都有一个 SID(安全标识符)。对于组,这些标识符类似于“S-1-5-32-545”,对于帐户,则更长。ACL 是这些标识符及其所具有的权限的列表。我的理论是,ACL 表明某些帐户可以访问文件,而其他帐户则不能。将用户设置为所有者应该在所有计算机上具有相同的 SID,而特定帐户在每台计算机上的 SID 都会不同,即使登录名相同(除非计算机是域的一部分,例如工作计算机)。这里的想法是重置权限并将其更改为可继承,新项目也将具有权限设置。

通常,除非专门配置为尊重 Windows 权限,否则 Linux 等其他操作系统会忽略 Windows 权限。Linux 通常使用位掩码权限,但 SELinux 之类的东西会使权限变得更加复杂。ACL 也可以在 Linux 中使用,但我不确定要让它们正常工作需要什么条件。也可以将 Windows 用户映射到 Linux 用户,但这些都与这个特定问题无关——仅供参考。

相关内容