我想设置folder
权限,使得受限用户可以访问file.txt
(在folder
)他们有权通过指定完整路径来读取,但不能列出的内容folder
。
例如,在 Linux 中,我们可以这样做:
$ whoami
cychoi
$ mkdir folder && echo 'file content' > folder/file.txt
$ chmod 111 folder/
$ sudo ls -la folder/
total 12
d--x--x--x 2 cychoi cychoi 4096 Aug 18 21:52 .
drwx------ 3 cychoi cychoi 4096 Aug 18 21:52 ..
-rw------- 1 cychoi cychoi 13 Aug 18 21:52 file.txt
$ ls folder/
ls: cannot open directory folder/: Permission denied
$ cat folder/file.txt
file content
$
在 Windows 7 中,我清除了folder
除(仅适用于“此文件夹”) 之外的所有权限。但是,即使指定了完整路径,也execute/traverse
无法读取内容。file.txt
另一方面,如果read data/list directory
也设置为folder
,file.txt
将会成功读取,但folder
内容将泄露给受限用户。
G:\ptest>whoami 用户电脑\测试 G:\ptest>runas /u:administrator“cmd /c icacls g:\ptest\folder\ /t&暂停” 输入管理员密码: 尝试以用户“USER-PC\administrator”身份启动 cmd /c icacls g:\ptest\folder\ /t & pause ... g:\ptest\folder\ 用户-PC\test:(S,X) BUILTIN\管理员:(OI)(CI)(F) NT 权限\系统:(OI)(CI)(F) 用户-PC\cychoi:(OI)(CI)(F) g:\ptest\folder\file.txt 用户 PC\test:(F) BUILTIN\管理员:(I)(F) NT 权限\系统:(I)(F) 用户-PC\cychoi:(I)(F) G:\ptest>目录 驱动器 G 中的卷是 ?????? 卷序列号已失效 G:\ptest 目录 2015年8月18日 21:59。 2015 年 8 月 18 日 21:59 .. 2015/08/18 21:59 文件夹 0 个文件 0 字节 3 个目录 4,779,642,880 字节可用 G:\ptest>dir 文件夹 驱动器 G 中的卷是 ?????? 卷序列号已失效 G:\ptest\folder 目录 文件未找到 G:\ptest>类型文件夹\file.txt 拒绝访问。 G:\ptest>runas /u:administrator "cmd /c icacls g:\ptest\folder\ /grant test:(rd) & pause" 输入管理员密码: 尝试以用户“USER-PC\administrator”身份启动 cmd /c icacls g:\ptest\folder\ /grant test:(rd) & pause ... G:\ptest>runas /u:administrator “cmd /c icacls g:\ptest\folder\ & 暂停” 输入管理员密码: 尝试以用户“USER-PC\administrator”身份启动 cmd /c icacls g:\ptest\folder\ 并暂停... g:\ptest\folder\ 用户-PC\test:(S,RD,X) BUILTIN\管理员:(OI)(CI)(F) NT 权限\系统:(OI)(CI)(F) 用户-PC\cychoi:(OI)(CI)(F) G:\ptest>dir 文件夹 驱动器 G 中的卷是 ?????? 卷序列号已失效 G:\ptest\folder 目录 2015年8月18日 21:59。 2015 年 8 月 18 日 21:59 .. 2015/08/18 21:59 12 文件.txt 1 个文件 12 字节 2 个目录 4,779,642,880 字节可用 G:\ptest>类型文件夹\file.txt 文件内容 G:\ptest>
那么,我怎样才能实现与上面显示的 Linux 示例相同的行为?