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