作为“NT AUTHORITY\SYSTEM”运行是计划任务的理想选择吗?

pra*_*mer 6 windows windows-7 user-accounts scheduled-tasks windows-xp

我的软件有一个备份/自动更新过程,通常我会创建一个新用户来在任务计划程序中运行它(大多数用户没有密码,任务计划程序需要它,不知道为什么)。

然后我看到谷歌浏览器安装了它的自动更新任务以作为“NT AUTHORITY\SYSTEM”运行,我已经测试过它并且它也适用于我的程序,它看起来更干净,

这里有一些我没有看到的隐藏缺点?

谢谢!

sur*_*asb 8

我的推荐

对于单机,最直接的方法是在内置备份操作员组下创建一个帐户。

SYSTEM下运行程序时,最初会想到两个大的缺点。

安全

几乎总是管理员为预定进程创建谨慎帐户的最大原因是监视它们并授予他们访问权限,通常不会授予典型运行的应用程序。在这种情况下,它需要对所有文件进行读访问,并且需要对备份存储位置进行写访问,后者往往具有更严格的访问权限。

赋予任何以SYSTEM身份运行的程序相当于或多或少地以管理员身份运行它们,从而授予它比所需更多的权限。出于这个原因,有一个内置的备份操作员组。

通用汽车公司

SYSTEM 帐户有时会被用户误认为是 SuperUser 或root帐户。两者都不是。它由 Windows 内部使用。除非程序指定它,否则它永远不会被程序使用。也就是说,如果运行不是为SYSTEM帐户设计的程序,就会出现未知的错误。首先,请注意它没有用户密码。如果您尝试远程对其进行身份验证,它实际上也不是用户帐户


有趣的是,UAC 还会对在 SYSTEM 上下文下运行的程序造成严重破坏。我见过写得不好的程序直接抛出一个对话框,要求用户“以管理员身份运行”。去搞清楚。

还有一篇 MSDN 博客文章让我想到,我找不到作者花了一整天时间在客户端机器上调试 SQL Server。全新安装。. . 或者他们是这么认为的。事实证明,操作系统本身的某个组件从 NT AUTHORITY\NETWORK SERVICE 切换到 SYSTEM,伪装成它比任何其他帐户拥有更多的权限和特权。相反,它只是有不同的。