Windows 11 Build 26052最有可能在周四或本周晚些时候提供下载,其中包括“Sudo for Windows”的第一个公开预览版。
在一篇现已被删除的博文中,微软证实,Windows的SUDO是一种新的方式,可以直接从未提升的控制台会话提升命令,并计划在GitHub上将该功能开源。这篇博文最先被Windows Latest发现并缓存。
微软将Sudo for Windows描述为“一种符合人体工程学的熟悉的解决方案,适用于那些想要提升命令而不必首先打开新的提升控制台的用户”。Sudo for Windows还处于开发的早期阶段,最近在泄露的Windows Server2025版本中发现了它。
微软WindowsLatest.com
在一篇被删除的博客文章中,微软指出,可以从开发人员设置页面启用SUDO,并打开“启用SUDO”选项。
Windows Sudo命令设置|
您还可以通过在提升的控制台会话中运行以下命令来为Windows启用SUDO:
SUDO配置--启用<;配置选项>;
正如我们之前所报道的,SUDO for Windows目前支持三种不同的配置选项:
- 在新窗口(newWindow)中:在此配置中,Sudo for Windows将打开一个新的提升控制台窗口,并在该窗口中运行命令。这是启用sudo时的默认配置选项。例如,如果运行:
sudo netstat -ab将打开一个新窗口,命令将在该窗口中运行 - 输入关闭(DisableInput):在此配置中,SUDO for Windows将在当前窗口中运行提升的进程,但新进程将在其stdinput关闭的情况下生成。这意味着新流程将不接受任何用户输入,因此此配置不适用于提升后需要进一步用户输入的流程。
- 内联(正常):此配置最类似于其他操作系统上的sudo行为。在此配置中,SUDO for Windows将运行提升的进程,并将其stdinput、stdout和stderror全部连接到当前窗口。这意味着新提升的进程可以接受输入并将输出路由到当前窗口。
微软解释Windows版SUDO的工作原理
当您使用sudo从命令行运行进程时,将出现一个UAC对话框,要求用户确认提升。您将能够像在Linux或MacOS上那样在终端中使用sudo。
Windows SUDO设置|
在新窗口中
在此配置中,sudo.exe将启动一个新的提升的控制台窗口,并在该窗口中运行命令。新窗口将使用与当前窗口相同的工作目录启动。
新窗口也将使用与当前窗口相同的环境变量启动。此配置的流程与runas命令类似。
封闭输入和内联输入
在这些配置中,sudo.exe将启动一个新提升的进程,即提升的sudo.exe进程,而原始的未提升的sudo.exe将与新提升的进程建立RPC连接。
换句话说,信息从未提升的sudo实例传递到提升的sudo实例。具体地,来自未提升的进程的控制台句柄被传递到提升的进程,这允许提升的进程从未提升的进程读取输入并将输出写入未提升的进程。
但是,当sudo配置为“Input Closed”配置时,提升的进程基本上不会传递控制台的输入句柄,因此它将无法读取用户的输入。
在“Inline”或“Input Closed”配置中运行sudo时,注意安全隐患是很重要的。可能的是,中等完整性过程可以驱动提升过程。在“输入关闭”配置中缓解了该风险,因为提升的进程将无法读取用户的输入。
微软指出,它还将发布适用于Windows的sudo文档,并将分享更多有关在“内联”配置中运行sudo的安全影响的细节。
“我们的团队正在为Windows开源Sudo,我们很高兴在未来几个月内分享有关我们计划的更多细节,”该公司在一篇现已删除的博客文章中指出。