Sudo for Windows:在 Windows 11 中执行特权命令
作者 | 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”选项,如下所示:
此外,用户也可以通过在特权控制台会话中执行以下命令来启用:
sudo config --enable <configuration_option>
Sudo for Windows 支持 3 种配置选项,每个选项有不同的用途:
-
打开新窗口(forceNewWindow):打开一个新的特权控制台窗口来执行命令。
-
关闭输入(disableInput):在当前窗口中执行特权进程,关闭 stdin,限制用户输入。
-
内联(normal):行为类似于其他操作系统上的 sudo,将 stdin、stdout 和 stderr 连接到当前窗口。
以下是示例场景:
-
“打开新窗口”配置:运行
sudo netstat -ab
命令会打开一个新的特权控制台窗口,并在其中执行这条命令。 -
“关闭输入”配置:在当前窗口中运行特权进程,stdin 关闭。
-
“内联”配置:将 stdin、stdout 和 stderr 连接到当前窗口。
当使用sudo
提升进程权限时,用户帐户控制(UAC)对话框会提示用户确认。用户确认后,系统将根据所选配置提升进程权限。用户可以通过在控制台中运行sudo -h
来查看 sudo 命令的可选参数。
在“打开新窗口”配置中,sudo.exe 会启动一个新的特权控制台窗口,并镜像当前窗口的目录和环境变量。对于“关闭输入”和“内联”配置,sudo.exe 会启动一个新的特权进程。原来的非特权“sudo.exe”将与特权进程建立 RPC 连接,方便信息交换。
进程层次结构图解
由于存在安全风险,所以务请谨慎使用“内联”或“关闭输入”配置。“关闭输入”配置通过防止特权进程读取用户输入来降低风险。
本文文字及图片出自 InfoQ
你也许感兴趣的:
- 微软正式开源专为Windows打造的Sudo
- 内存安全、用Rust重写的sudo发布首个稳定版
- 具有魔法的 H.264
- 多用户环境中的 rootless Docker
- 【外评】微软的人工智能聊天机器人将 “回忆 “您在其新 PC 上所做的一切
- 【外评】苹果需要解释重新出现已删除照片的错误
- 你需要知道的现代 CSS 技巧(2024 年春季版)
- 使用 :has() 作为 CSS 父选择器及其他更多内容
- 【外评】大科技公司致欧盟:“去死”
- npm又被滥用,灰产用《庆余年2》盗版资源——把开源公共基础设施的羊毛薅秃了
你对本文的反应是: