AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 31709
Accepted
David Archer
David Archer
Asked: 2009-06-26 08:52:09 +0800 CST2009-06-26 08:52:09 +0800 CST 2009-06-26 08:52:09 +0800 CST

如何解决 NTFS 移动/复制设计缺陷?

  • 772

任何处理过文件服务器权限的人都知道,NTFS 有一个有趣的设计特性/缺陷,称为移动/复制问题。

如本 MS 知识库文章中所述,如果文件夹或文件被移动并且源和目标位于同一 NTFS 卷上,则文件夹或文件的权限不会自动从父级继承。如果复制文件夹或源和目标位于不同的卷上,则会继承权限。

这是一个简单的例子:

您在同一个 NTFS 卷上有两个共享文件夹,分别称为“Technicians”和“Managers”。Technicians 组对 Technicians 文件夹具有 RW 访问权限,Managers 组对“Managers”文件夹具有 RW 访问权限。如果有人可以访问这两个文件夹,并且他们将一个子文件夹从“Managers”文件夹移动到“Technicians”文件夹,则移动的文件夹仍然只能由“Managers”组中的用户访问。“技术人员”组无法访问子文件夹,即使它位于“技术人员”文件夹下,并且应该从顶部继承权限。

正如您可以想象的那样,这会导致解决这些最终用户问题的支持电话、票证和浪费周期,更不用说如果用户经常在不同的安全文件夹/区域之间移动文件夹,您最终可能会遇到的权限嵌套。相同的音量。

问题是:

解决此 NTFS 设计缺陷的最佳方法是什么?您如何在您的环境中处理它?

我知道链接的知识库文章讨论了一些注册表项来更改 Windows 资源管理器的默认行为,但它们是客户端的,并且要求用户能够更改权限,如果你在大多数环境中我认为这是一个非首发者希望控制您的文件服务器权限(以及您作为系统管理员的理智)。

filesystems permissions access-control-list ntfs
  • 8 8 个回答
  • 46057 Views

8 个回答

  • Voted
  1. Best Answer
    JamesR
    2009-07-07T04:58:56+08:002009-07-07T04:58:56+08:00

    我的方法是不使用文件/目录级别的文件权限;使用文件共享级别权限,并将整个服务器文件系统数据驱动器设置为“所有人完全控制”(这变得没有实际意义)。

    多年来(10+),我发现 NTFS 权限更复杂并导致更多错误。如果权限设置错误,或者继承被破坏,你就会暴露数据并且很难找到和看到它。另外,正如您所说,您会遇到移动/复制问题。

    必须使用目录/文件级别 ACL 的地方;除了定期进行健康检查外,我没有其他解决方案。

    • 13
  2. John Rennie
    2009-06-26T09:11:20+08:002009-06-26T09:11:20+08:00

    好吧,这并不是一个真正的缺陷。这个在移动文件时处理权限的规则至少从 NT3.1 的 beta 2 开始就已经存在(尽管显然不是继承,因为它只是在 Windows 2000 中添加的)。它与 Windows 的任何功能一样广为人知。我非常同情你的观点,因为我们当中可能很少有人在某个阶段没有被这件事烧毁。但这是系统管理员很快学会的东西。

    JR

    • 10
  3. Ward - Reinstate Monica
    2009-06-26T10:21:36+08:002009-06-26T10:21:36+08:00

    我们从 NT 3.51 开始就一直在使用 NTFS,虽然我们已经看到了这个“问题”(几乎每个人都有),但它并没有给我们带来太多麻烦:

    • 如果人们需要将文件从一个共享目录移动到另一个目录,我们总是告诉他们复制文件。“拖动时按住 CTRL 键并确保显示小 +”是一个常用短语。
    • 我们的共享文件夹具有相当简单的结构,并且我们创建的共享文件夹不会经常在组之间交叉,因此人们更有可能首先想要复制文件。
    • 我们主要在我们的“公共”空间中看到问题 - 每个人都可以读/写的文件夹,但这些目录大多是短暂的,所以当它们被清除时问题就消失了。
    • 6
  4. Mark
    2009-06-26T09:12:17+08:002009-06-26T09:12:17+08:00

    我能想到的解决方法:

    • 找到某种方法使具有不同权限的文件夹位于不同的 NTFS 卷上
    • 制定一个计划任务(每小时一次或每天一次,具体取决于支持请求的频率),该任务贯穿文件夹并将所有权限重置为与顶级权限相同。这不太理想,如果文件夹中有很多文件,则更是如此,但是如果没有好的解决方案(例如服务器端注册表修复),则可以解决问题。您将要查看的命令称为“cacls”,然后您可以将其添加到批处理文件中。

    免责声明 - 我来自 unix 背景(并且已经实现了最后一个来修复不同的权限缺陷 - 感觉很恶心,但确实有效),所以可能会有更好的修复。

    • 4
  5. Maximus Minimus
    2009-06-26T15:43:02+08:002009-06-26T15:43:02+08:00

    当以管理员身份移动时,我使用 xcopy /s/e/c/h/r/k/y - 除了文件所有权和 ACL 之外的所有内容,这意味着 ACL 继承会自动启动。从来没有真正需要处理用户的情况虽然搬了东西。

    • 3
  6. Alexandru Nica
    2012-05-22T03:37:33+08:002012-05-22T03:37:33+08:00

    我使用组策略/安全策略/文件系统来跟踪复杂的权限。(切勿在策略中使用“替换权限”)。

    安排 CACLS 在夜间重置所有权限,然后执行 gpupdate /force 以重新应用策略中的权限。奇迹般有效。

    • 3
  7. GCRaistlin
    2017-04-04T09:26:40+08:002017-04-04T09:26:40+08:00

    从 Windows 7(或者可能是 Windows Vista)开始,如果文件夹或文件被移动并且源和目标位于同一 NTFS 卷上 - 如果文件或文件夹正在通过资源管理器复制,则文件夹或文件的权限会从父级继承。在早期的操作系统中,您可以使用远程管理器 - 它允许从目标启用权限继承(以及大量其他功能)。虽然 Far 对一般用户来说似乎并不友好。

    • 2
  8. Bob
    2009-06-26T09:19:26+08:002009-06-26T09:19:26+08:00

    一个非常简单的解决方法是压缩文件并将其解压缩到目标目录。

    • 0

相关问题

  • 我需要对 MacOSX 文件系统进行碎片整理吗?

  • 关于 ext4 的 FUD 是否合理?或者在某些生产系统中使用是否安全?

  • 如何授予对 Exchange 2007 中每个人的日历的访问权限?

  • ZFS 与 XFS

  • 现在从 mac os 在 NTFS 分区上写入是否安全?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve