问题:
我无法通过作为帐户Domain Computers
在 Windows XP 上运行的进程访问可访问的网络共享。SYSTEM
我有一个 2008R2 域、一个 2003R2 文件服务器和一组客户端。
在文件服务器上,我已将共享设置为可供Domain Computers
组访问。该共享应该包含一个只读文件存储库 ( Wpkg ),用户运行的系统服务 ( Wpkg-GP )可以从域工作站访问该文件SYSTEM
。
现在的问题是,虽然它在 Windows 7 上运行良好,但在 Windows XP 上却完全失败。看来,出于某种原因SYSTEM
,Windows XP 上的帐户无法作为计算机进行身份验证。查看更多详情。
问题:
我做错了什么?
这可能是 Windows XP 系统的自然行为吗?如果是这样,它可以更改或修复吗?或者有没有其他方法可以实现这样一种场景,即网络共享SYSTEM
对计算机上的用户可见,而用户无法访问?
细节:
- 该
Domain Computers
组已获得对文件和共享的权限 - 我检查了更高的权限,一路从
Read
到Full Controll
- 我已经使用安装在 VBox 上的全新开箱即用操作系统测试了该问题
既然是应用报的问题,我先开始验证实际SYSTEM
用户权限。在两个 Windows 版本(7 和 XP)上,我都打开了一个提升的cmd
会话模拟SYSTEM
帐户(使用PsExec -s -i cmd.exe
)并尝试手动安装网络共享:
net use x: \\myfs.mydomain.com\Wpkg
在 Windows 7 上,该驱动器已毫无异议地安装。但在 Windows XP 上,该命令会返回有关错误密码的信息并提示输入新密码:
[Windows XP]
Password for \\myfs.mydomain.com\Wpkg is incorrect.
Please enter password for "myfs.mydomain.com": _
(请注意,这只是翻译,官方英语语言环境可能听起来不同)
在正常的普通环境中,您所做的一切都会奏效。我无法复制你所看到的。我创建了一个共享 (\\server\share),授予域计算机读取访问权限,并删除了所有其他 ACE。在 下运行
psexec -s -i -d cmd
,我可以从 XP 和 Win7 计算机访问共享。您有多确定 XP 计算机是域计算机的成员?默认情况下,所有新计算机帐户都是域计算机的成员,不是通过
member
(或memberOf
)属性,而是作为对象的主要组。Domain Computers 组的众所周知的 RID 是 515。该 RID 值标记在计算机对象的 primaryGroupID 属性上。你能看一下计算机对象的 primaryGroupID 和 memberOf 属性并让我知道存在什么(如果有的话)吗?就此而言,如果您愿意,可以发布 XP 和 Win7 计算机的完整输出吗?无论哪种方式,获取信息的简单方法是使用以下命令:
dsquery * -filter "name=COMPUTER_NAME_GOES_HERE" -attr *
。可以尝试的其他方法是更改共享/NTFS 上的 ACL,一次一个,以允许
Everyone
、Authenticated Users
、Domain Users
和计算机名称本身。尝试每一个,看看哪个(如果有的话)有效。固定的!
问题的根源是文件服务器没有将自己注册到 DC DNS中。看来这显然是有人故意做的——相应的网络接口选项已被手动取消选中:
检查上述选项并发出后
ipconfig /registerdns
:SYSTEM
用户开始正确安装有问题的共享,而无需提供凭据Windows XP 和 Windows 7 的不同行为一定是由于内部实现的一些差异;我猜是 Kerberos,尽管我对 Kerberos 的了解还很肤浅。
我发现添加它很有趣,当我尝试
CNAME
从 ie 添加记录时,会发生非常相似的事情。wpkg.domain.mydomain.com
到filesystem.domain.mydomain.com
:在 Windows XP 中,只有最终主机名有效:
...虽然在 Windows 7 上没有反对使用 CNAME 的内容:
请注意,这里我得到的是
Access denied
错误,而不是密码提示。