【发布时间】:2011-02-18 08:35:33
【问题描述】:
我正在开发以特殊非特权用户身份运行的应用程序。我希望能够轻松检查用户是否可以读取给定文件。看起来这应该很容易,即使我在 Windows 资源管理器中进入文件并看到读取权限已被检查,有时似乎仍然存在阻止用户读取文件的东西(例如父目录用户无法浏览)当我尝试以用户身份以编程方式阅读它时。
该用户没有控制台登录权限,所以我不能以用户身份登录并尝试读取文件。
所以...
如果我想知道,“UserBob 是否可以访问文件 c:\specialPath\specialFile,有什么简单的方法可以找到?顺便说一句,我的环境是 Windows Server 2003。
更新:澄清一下,我想做这样的事情:
if UserHasAccess(UserBob, @"c:\specialPath\specialFile") { doStuff(); } else { // error handling }
更新:
我收到一个回答,建议我只是尝试打开文件。问题是打开文件的代码在一个特殊的系统帐户下运行,并且被封装在另一个库中。因此,让我问一下:我怎样才能让我试图打开文件的代码作为那个特殊的系统帐户运行。假设我对运行代码的机器拥有管理员权限。
【问题讨论】:
标签: security windows-server-2003 file-permissions