Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 设置位置是否参见;“遍历/执行”;NTFS权限?_Windows_Powershell - Fatal编程技术网

Windows 设置位置是否参见;“遍历/执行”;NTFS权限?

Windows 设置位置是否参见;“遍历/执行”;NTFS权限?,windows,powershell,Windows,Powershell,试图访问位于用户没有任何定义的NTFS访问权限的文件夹下的目录时,“设置位置”失败 将至少列表文件夹/读取数据授予父共享允许遍历和枚举Folder1,但如果不这样做,则无法使用Set location更改PWD(拒绝访问)。即使您可以通过资源管理器或Get-ChildItem cmdlet访问Folder1而不会出现问题,这也是正确的 Get-ChildItem "\\Server\Share\Folder1" succeeds Set-Location "\\Server\Share\Fol

试图访问位于用户没有任何定义的NTFS访问权限的文件夹下的目录时,“设置位置”失败

将至少列表文件夹/读取数据授予父共享允许遍历和枚举Folder1,但如果不这样做,则无法使用Set location更改PWD(拒绝访问)。即使您可以通过资源管理器或Get-ChildItem cmdlet访问Folder1而不会出现问题,这也是正确的

Get-ChildItem "\\Server\Share\Folder1" succeeds 
Set-Location "\\Server\Share\Folder1" fails
编辑:显然可以在低于文件夹1的目录上使用设置位置

Set-Location "\\Server\Share\Folder1\Folder2" succeeds
“设置位置”似乎不允许您将pwd设置为没有共享列表/读取权限的第一个嵌套文件夹

如何解释这种行为


编辑:此行为仅在使用UNC it时发生,在使用驱动器号时功能与预期相同。

列出目录需要读取数据访问权限。将其设置为工作目录需要同步和执行访问。也就是说,用户可以将一个目录遍历到一个文件或子目录,而不考虑对该目录的访问权限,因为他们拥有默认启用的SeChangeNotifyPrivilege。显然,内部函数首先尝试通过
normalizerRelativePath
来规范路径,在UNC案例中,它尝试列出父目录以获取名称的规范化大小写(例如“FOLDER1”->“FOLDER1”)。如果我们没有对目录的读访问权限,这将失败,显然他们只是重新引发异常,而不是像他们显然应该的那样处理它(即,这是一个bug)。列出目录需要读取数据访问权限。将其设置为工作目录需要同步和执行访问。也就是说,用户可以将一个目录遍历到一个文件或子目录,而不考虑对该目录的访问权限,因为他们拥有默认启用的SeChangeNotifyPrivilege。显然,内部函数首先尝试通过
normalizerRelativePath
来规范路径,在UNC案例中,它尝试列出父目录以获取名称的规范化大小写(例如“FOLDER1”->“FOLDER1”)。如果我们没有对目录的读访问权限,这将失败,而且很明显,他们只是重新引发异常,而不是像他们显然应该的那样处理它(即,这是一个bug)。