Sudo for Windows - 在 Windows 11 中提升命令执行权限

Sudo for Windows 的发布与功能

微软宣布在最新的 Windows 11 Insider Preview Build 26052 中引入 Sudo for Windows 工具。该工具允许用户在不提升权限的控制台会话中直接执行提升权限的命令,提升了用户体验,无需再打开一个新的提升权限控制台。

开源与替代方案

Sudo for Windows 已在 GitHub 上开源,未来几个月将分享更多计划和功能。对于需要扩展功能的用户,微软推荐使用 Gerardo Grignoli 的 gsudo,该工具提供了更多功能和配置选项。

如何启用 Sudo for Windows

用户可以通过以下两种方式启用 Sudo for Windows:

  1. 在 Windows 设置的“设置 > 对于开发者”页面中,切换“启用 Sudo”选项。
  2. 在提升权限的控制台会话中使用命令 sudo config --enable <configuration_option> 进行启用。

配置选项

Sudo for Windows 支持三种配置选项,每种选项有不同的用途:

  1. 在新窗口中执行 (forceNewWindow):在新的提升权限控制台窗口中运行命令。
  2. 输入关闭 (disableInput):在当前窗口中运行提升权限的进程,但关闭标准输入,限制用户输入。
  3. 内联 (normal):类似于其他操作系统中的 sudo,将标准输入、输出和错误连接到当前窗口。

使用示例

  • 在新窗口中执行:运行 sudo netstat -ab 会在新的提升权限控制台窗口中执行命令。
  • 输入关闭:在当前窗口中运行提升权限的进程,但关闭标准输入。
  • 内联:将标准输入、输出和错误连接到当前窗口。

用户账户控制 (UAC) 提示

在使用 sudo 提升权限时,会弹出用户账户控制 (UAC) 对话框,用户确认后,进程将根据所选配置提升权限。用户可以通过在控制台中运行 sudo -h 来探索 sudo 命令的可选参数。

进程启动与通信

  • 在“在新窗口中执行”配置中,sudo.exe 会启动一个新的提升权限控制台窗口,并镜像当前窗口的目录和环境变量。
  • 在“输入关闭”和“内联”配置中,sudo.exe 会启动一个新的提升权限进程。原始的非提升权限 sudo.exe 会与提升权限进程建立 RPC 连接,以便交换信息。

安全注意事项

由于潜在的安全风险,建议用户在使用“内联”或“输入关闭”配置时保持谨慎。“输入关闭”配置通过阻止提升权限进程读取用户输入来减轻风险。

阅读 39
0 条评论