我有一个网站,它访问我们网络上的文件共享,并使用计算机(webserver$)而不是用户帐户进行身份验证,因为该网站以网络服务的身份运行。我以为我可以在 Web 服务器上创建一个本地帐户并运行以测试访问文件共享,但这没有用(访问被拒绝访问 \Server)。该网站正在访问共享,但似乎子文件夹没有始终获得权限;这就是我正在测试的。
这与设置访问权限有关。 如何授予 LocalSystem 帐户网络访问权限?
我以为这是我的解决方案,但我已经尝试过 System、NetworkService 和 LocalService,但它们都无法访问共享。
我如何从 Web 服务器测试此身份验证?
更新 20180613
子文件夹未应用 Web 服务器的访问/权限,这个问题已解决,但就我自己的知识而言,我仍然想知道如何使用 computername$ 授予的权限来测试文件共享+子文件夹访问。如果是用户帐户,这很容易,因为我可以指定用户名/密码,但我似乎找不到正确的方法来手动测试访问权限是否授予计算机而不是用户。
答案1
所以,我的根本问题是文件夹没有访问 Web 服务器的权限。
但手动测试失败的原因如下。我当时做了以下事情:
- 打开命令窗口
- 光盘
- psexec -s -i 命令
- 在新的命令窗口中,whoami。显示 NT Authority\System
- 在新的命令窗口中,输入 start \\servername
- 服务器在资源管理器中打开。双击共享时拒绝访问。
当我再次尝试不同的方法时,我今天所做的事情就成功了:
- 打开命令窗口
- 光盘
- psexec -s -i 命令
- 在新的命令窗口中,whoami。显示 NT Authority\System
- 在新的命令窗口中,输入 dir \\servername\share
- 所有子文件夹都显示在屏幕上
因此,潜在的问题是我希望 START/Explorer 在第二个命令窗口的帐户下运行,但我无法轻易确定 Explorer 在哪个帐户下运行。
答案2
从本质上讲,你必须成为NT AUTHORITY\SYSTEM
。有很多方法可以做到这一点,但最简单的方法可能是执行程序. 从提升的 cmd 提示符中,使用以下命令以系统帐户身份打开一个新的 cmd 提示符。
psexec -s -i cmd
从那里,验证你与谁在一起whoami
,然后继续进行你想要的测试。