尚无理解或解释。
我有两个目录,C:\bin
和C:\Intel\bin
。
我的路径是...;C:\bin;...;C:\Intel\bin;...
我有sed.exe
一个适用于 Windows XP 的 GNU 版本。
我将其复制到C:\bin
(以用户身份使用 cmd.exe 复制)并且系统要求以管理员身份运行它,但是从C:\Intel\bin
那里运行是可以的。
所有目录 \bin、\intel、\intel\bin 上的权限等都是相同的:
SYSTEM,
Administrators (PC\Administrators),
User (PC\User)
所有权限均已勾选:完全控制、修改、读取和执行、列出文件夹内容、读取、写入
所有目录均已禁用继承。所有目录均归 SYSTEM 所有
没有任何内容具有特殊权限。
有何特别之处\bin
?
两个 sed.exe 均归用户(PC\User)所有,并且两个 sed.exe 具有相同的权限。
最新的
我现在已经证明,这其中的关键因素是目录的名称。如果目录名为 \bin,那么在 PC 上编译的程序可以从中运行,但从互联网下载的程序则不能,但如果将目录重命名为 \newbin,那么所有程序都将从该目录运行。
\bin 和 \newbin 的安全属性相同。
答案1
C:\bin 不是 Windows 使用的文件夹。此文件夹通常没有什么特殊之处。
肯定存在有关 c:\bin 的权限问题,导致您的用户无权写入它,因此要求获得管理权限。因此,即使权限可能相同,也一定存在一些不同之处,导致其行为不同。
我能想到的一件事是文件夹的所有权。即使你对文件夹没有任何权限,如果你拥有文件夹的所有权,你仍然可以做任何事情。你可以进入权限文件夹,高级设置,查看谁是所有者,所有者位于顶部。
很可能 TrustedInstaller 是 c:\bin 的所有者,而您自己的用户是 c:\intel\bin 的所有者。这种情况通常是因为 Windows 更新通过安装驱动程序更新创建了 c:\bin 文件夹,而您自己安装驱动程序时创建了 c:\intel\bin。
编辑:根据现在已删除的答案中的屏幕截图(因为实际上,这不是答案,它应该是对你的问题的编辑)
差异确实是权限问题。C:\Bin 文件夹为 GROUP 用户设置了权限,而 c:\intel\bin 为 USER 用户设置了权限。如果 USER 用户不在 GROUP 用户中,则无法正常工作。为 USER 用户分配完全控制权限,我确信它会正常工作。