windows - Windows 可以访问文件,DOS 文件复制被拒绝访问
问题描述
我正在尝试在 Windows NT 服务器 2008(是的,我知道,旧)上设置一组文件夹,其中用户无权查看文件夹中的文件列表,但如果他们可以读取文件知道完整的文件路径。
所以我设置了以下 AD 权限:
Permissions on the containing folder ("This folder only"):
Traverse folder / execute file
Read attributes
Read extended attributes
Read permissions
Permissions on the files ("Files only"):
Traverse folder / execute file
List folder / read data
Read attributes
Read extended attributes
Read permissions
...从windows看,一切看起来都很棒!我看不到文件夹内部,但如果我知道其中文件的完整路径,我可以将其输入地址栏中并打开文件。
但是当我在命令提示符下运行时:
COPY "FullPathToSameFileAsBefore.txt" "C:\someLocalSpot.txt"
...我得到:
Access is denied.
0 file(s) copied.
有任何想法吗?是否有一些特殊的访问命令提示符需要执行 Windows 不需要的复制才能读取文件?有什么替代方案可以代替吗?我可以设置任何需要的权限,但需要注意的是用户无法看到目录中的文件列表。
编辑附加信息:
因此,我尝试使用 FileSystemObject 使用 VBScript 执行复制。同样的错误。但是使用 VBScript 通过 ADODB 二进制流读取文件确实有效。
所以它似乎归结为“你可以读取这个文件,但你不能执行复制”。这看起来很奇怪,因为如果您可以读取文件,您当然可以复制它(读取它,然后将内容写入其他地方。)
解决方案
推荐阅读
- ios - 确定视图层次结构中是否有任何触摸
- php - 将 API 输出拆分为两列
- python - 有没有办法转换python中尚不存在的数字?
- laravel - 如何使用 Laravel eloquent 选择所有 created_at
- javascript - TypeScript - 省略泛型的扩展类型
- google-sheets - 来自电子表格值的 Google 表单响应验证
- javascript - 在函数执行后/在函数内部再次调用反应钩子(ReactJS)
- android - 在模块 jetified-google-play-services.jar 和 jetified-play-services-base-17.0.0-runtime.jar 中发现重复的类
- javascript - 如何播放随机声音
- linux - 解决我必须删除大小为 0 的文件的 shell 脚本?