我有一个文件位于C:\Program Files (x86)\Cntlm\cntlm.ini
。
有两个用户,我们称他们为A
和B
(B
作为管理员)。这两个用户都对此文件具有读取权限。
如果我在 Notepad++ 中打开此文件,它显示的文件内容与使用 Windows 记事本打开时显示的文件内容不同。
如果我以用户身份打开命令提示符A
并运行:
type "C:\Program Files (x86)\Cntlm\cntlm.ini"
我将获得一组内容。然后如果我运行:
cat "C:\Program Files (x86)\Cntlm\cntlm.ini"
我会得到不同的内容。如果我对 user 执行相同操作B
,则两个程序的文件内容相同(与使用type
user相同A
)。
模式似乎是,第三方应用程序以用户身份运行时显示不同的文件A
,而以用户身份运行时则显示相同的文件B
。
两个文件怎么可能存在于同一路径?这是 64 位应用程序与 32 位应用程序的问题吗?
答案1
Windows Vista/7/8 会将 UAC 未知的编辑者或受限用户的保存尝试重定向到虚拟商店。在用户 A 上,浏览C:\Users\YOUR-USERNAME-HERE\AppData\Local\VirtualStore\Program Files (x86)\Cntlm
并查看那里是否有cntlm.ini
文件。这可能是导致差异的原因。从虚拟商店中删除它应该可以解决差异。