父文件夹的 NTFS 权限使子文件夹可访问

父文件夹的 NTFS 权限使子文件夹可访问

本地 Windows 系统上的快速场景。

驱动器E:采用 NTFS 格式化,具有以下布局和权限:

E:\                  (JohnDoe)
E:\folder            (Administrator)
E:\folder\subfolder  (JohnDoe)
  • JohnDoe具有对根目录的读/写访问权限。
  • JohnDoe具有读/写访问权限subfolder
  • JohnDoe不是可使用folder
  • JohnDoe不是有能力改变权限。

由于JohnDoe无法访问folder,因此无法列出内容,他必须手动输入路径E:\folder\subfolder。没有“可点击”的方式从E:\subfolder

问题是:有没有办法JohnDoe发现可访问的存在和路径subfolder,而不能列出其父级的内容folder?假设他没有被告知subfolder的名称,并且权限与上述内容没有变化。

为了解决这个问题,请忽略通过暴力攻击猜测subfolder的名字的可能性。只允许使用非暴力方法。

答案1

NTFS 不提供在其自身内发现此类远程子文件夹的方法,假设中间文件夹确实无法访问。要获得此类情报,您必须超越文件系统,也许可以通过询问其他文件来查找文档中包含的路径,或任何引用此类子目录的快捷方式。

如果 JohnDoe 拥有机器的高级访问权限,事情会变得更加有趣。此时检查打开的文件句柄可以揭示隐藏目录的存在。如果目录是共享的,则共享的打开文件列表也会显示它们的存在。但是这些方法不适用于“普通”用户。

答案2

为根目录中的子文件夹创建一个连接点。

E:\
E:\folder
E:\folder\subfolder
E:\junction-to-subfolder

使用命令:

MkLink /j "E:\junction-to-subfolder" "E:\folder\subfolder"

现在 JohnDoe 可以轻松查看和访问该子文件夹。

编辑:要移除连接而不影响目标,请使用:

RD "E:\junction-to-subfolder"

答案3

我使用过类似的设置,似乎用户会偶然发现该目录。您的问题在于现在它会被访问。如果要使用批处理脚本或驱动器映射,那么如果用户足够聪明,他们可能能够发现它。我知道在 Windows 中您可以隐藏驱动器号,但这可能还不够。

我建议,如果您不想让他们访问它,就不要给他们权限,如果可能的话。使用另一个帐户执行您正在执行的任何任务(例如,运行批处理脚本进行备份或任何其他操作)。

如果你不了解你想要实现什么,又不让用户知道,那么很难给出更具体的建议。也许还有其他方法。

相关内容