在Windows11内部版本26052或更高版本中可以使用SUDO。它是一种无需手动打开命令提示符或PowerShell的另一个实例即可使用提升的权限运行命令或程序的方法。但微软澄清说,这与在Windows中使用runas命令不同。
在Windows最新版最先发现的一份支持文档中,微软阐述了sudo和runas之间的区别。根据文档,RunAs允许您在Windows中以任何用户(甚至管理员)的身份运行命令或程序。同时,sudo不能像任何其他用户那样运行命令或程序。
然而,微软暗示,未来可能会以另一名用户的身份使用sudo运行命令。使用runas命令时,您可能需要输入密码。但在使用sudo时,您只需接受UAC提示并授予管理权限。
图片来源:微软
正如您在上图中所看到的,Microsoft已经解释了当您在终端进程中键入命令时,sudo如何与操作系统交互。例如,当您尝试使用sudo(例如,sudo netstat-ab)运行netstat-ab时,终端会将您的命令发送到CLI外壳程序(如PowerShell或命令提示符)。
然后,shell与控制台驱动程序(ConDrv)通信以处理输入/输出。
调用sudo.exe程序,建立RPC连接以运行netstat-ab命令。对于那些不知道的人,RPC代表远程过程调用,它用于同一台机器上的进程之间的通信。
具有提升权限的Sudo.exe执行netstat-ab,这允许它使用管理权限执行其任务。 ;在内联或禁用输入的配置中,未提升权限的Sudo.exe进程创建与具有提升权限的新Sudo.exe进程的RPC连接。
听起来很有趣,对吧?但是,您应该知道使用带有内联或禁用输入配置的sudo时的安全复杂性。微软建议在SUDO中使用新的窗口配置,因为它是三个选项中最安全的。
以下是如何更改SUDO的配置:
SUDO是消费者版的独家版本
微软官方证实,Sudo将在金丝雀频道和开发频道以26052版本率先进入Windows11。SUDO也包括在Windows Server Insider版本中,但微软更正了它的博客文章,透露SUDO将是消费者版的独家版本。
因此,只有Windows 11家庭版、专业版、企业版和EDU版才能使用这一功能。此外,微软澄清说,Windows版的SUDO是开源的,将在GitHub上维护。