前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Sudo for Windows:在 Windows 11 中执行特权命令

Sudo for Windows:在 Windows 11 中执行特权命令

作者头像
深度学习与Python
发布2024-02-29 15:22:55
3080
发布2024-02-29 15:22:55
举报

作者 | Claudio Masolo

译者 | 平川

策划 | 丁晓昀

微软宣布将在最新版的 Windows 11 Insider Preview Build 26052 中提供 Sudo for Windows。该工具改变了用户从非特权控制台会话(unelevated console session)直接执行特权命令的方式。Sudo for Windows 提供了一种直观、熟悉的解决方案。用户无需打开新的特权控制台窗口,这增强了用户体验。

Sudo for Windows 在 GitHub 上开源,开发计划和附加功能会在未来几个月发布。微软建议,如果用户需要尚未在 Sudo for Windows 中实现的扩展功能,则可以选择 Gerardo Grignoli 的 gsudo 作为替代。该工具提供了许多附加功能和配置选项。

要激活 Sudo for Windows,定位到 Windows Settings 下的 Settings > For Developers 页,并打开“Enable Sudo”选项,如下所示:

此外,用户也可以通过在特权控制台会话中执行以下命令来启用:

代码语言:javascript
复制
sudo config --enable <configuration_option>

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

  1. 打开新窗口(forceNewWindow):打开一个新的特权控制台窗口来执行命令。
  2. 关闭输入(disableInput):在当前窗口中执行特权进程,关闭 stdin,限制用户输入。
  3. 内联(normal):行为类似于其他操作系统上的 sudo,将 stdin、stdout 和 stderr 连接到当前窗口。

以下是示例场景:

  • “打开新窗口”配置:运行sudo netstat -ab 命令会打开一个新的特权控制台窗口,并在其中执行这条命令。
  • “关闭输入”配置:在当前窗口中运行特权进程,stdin 关闭。
  • “内联”配置:将 stdin、stdout 和 stderr 连接到当前窗口。

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

在“打开新窗口”配置中,sudo.exe 会启动一个新的特权控制台窗口,并镜像当前窗口的目录和环境变量。对于“关闭输入”和“内联”配置,sudo.exe 会启动一个新的特权进程。原来的非特权“sudo.exe”将与特权进程建立 RPC 连接,方便信息交换。

进程层次结构图解

由于存在安全风险,所以务请谨慎使用“内联”或“关闭输入”配置。“关闭输入”配置通过防止特权进程读取用户输入来降低风险。

原文链接

https://www.infoq.com/news/2024/02/sudo-windows/

声明:本文为 InfoQ 翻译,未经许可禁止转载。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-02-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 InfoQ 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档