在基于 Unix 和 Linux 的系统中,您通常在未设置密码且无法登录的服务帐户环境中运行服务。据我所知,这些进程是从更高权限的进程生成的,并使用 setuid 切换到服务帐户。
在基于 Windows 的系统上是否可以进行同样的操作,或者您是否始终必须为服务帐户设置密码?
答案1
如果您不希望服务在有密码的帐户下运行,您可以将其配置为以本地系统或内置服务帐户之一(NETWORK SERVICE 或 LOCAL SERVICE)运行。或者,如果您想要更细粒度的安全性,您可以使用虚拟帐户。
请参阅服务帐号分步指南了解有关虚拟帐户的更多信息。本指南还介绍了托管帐户,即其密码由 Windows 自动管理的域帐户。
通常,您只需使用网络服务或本地服务,除非您需要授予服务对敏感文件或文件夹或其他可安全对象(如注册表项)的访问权限。
管理帐户比虚拟帐户更复杂,但在 Active Directory 环境中,如果您需要授予服务对网络上的敏感内容(例如远程共享或使用集成身份验证的 SQL Server)的访问权限,则可能需要使用它们。
也可以看看服务帐户,一篇适用于 Windows Server 2022、2019 和 2016 的最新文章。