微软开源 Windows 版 sudo

你好,我是坚持分享干货的 EarlGrey,翻译出版过《Python编程无师自通》、《Python并行计算手册》等技术书籍。

如果我的分享对你有帮助,请关注我,一起向上进击。

微软已在 Windows 11 Insider Preview Build 26052 中发布适用于 Windows 的 Sudo,并将其在 MIT 协议下进行开源。

6d29893129ad50e440d82ddaf9722905.png

Sudo for Windows 将允许用户直接从未提权终端窗口运行提权命令。

如何启用 Sudo for Windows

导航至 Settings > For Developers page in Windows Settings and toggle on the “Enable Sudo” 选项:

38a4c4b7868d7c546fd372d35dae6a3b.png

也可以通过运行以下命令:


 
sudo config --enable <configuration_option>

9649de5560d3c1ace6353c414980326a.gif

如何配置 Sudo for Windows

目前支持三种不同的配置选项:

  1. 开启新窗口 (forceNewWindow)

  2. 禁用输入 (disableInput)

  3. 内联 (normal)

要更改配置选项,可使用 Settings > For Developers page in Windows Settings 页面中的下拉菜单:

7397fd252067db86abd876c44760825f.png

或运行以下命令:

sudo config --enable <configuration_option>
配置选项 1:开启新窗口

在此配置中,Sudo for Windows 将打开一个新的窗口并运行命令。这是启用 sudo 时的默认配置选项。例如,如果运行:

sudo netstat -ab

8dd7bb6886c2eb36db9072cfef444a38.gif

配置选项 2:禁用输入

在此配置中,Sudo for Windows 将在当前窗口中运行提权后的进程,但新进程生成时将关闭其 stdin。这意味着新进程将不接受任何用户输入,因此此配置不适用于提权后需要用户进一步输入的进程。

配置选项 3:内联

此配置与其他操作系统上 sudo 的行为最相似。在此配置中,Sudo for Windows 将运行提权的进程,其 stdin、stdout 和 stderr 均连接到当前窗口。这意味着新的提权进程可以接收输入并 route output 到当前窗口。

c81233aab141c57ffd378c7ce04a2cdd.png

微软方面表示,团队将在接下来几个月中致力于扩展 Sudo for Windows 的文档,并将分享更多有关在 "内联" 配置中运行 sudo 的安全影响的细节。同时致力于 Sudo for Windows 的开源工作,分享更多相关细节。

详情查看官方博客:

https://devblogs.microsoft.com/commandline/introducing-sudo-for-windows/

https://github.com/microsoft/sudo

来源:OSC开源社区

- EOF -

文章已经看到这了,别忘了在右下角点个“赞”和“在看”鼓励哦~

推荐阅读  点击标题可跳转

1、Python 项目工程化最佳实践

2、Python 可以比 C 还要快!

3、streamlit,一个超强的 Python 库

4、豆瓣8.9分的C++经典之作,免费送!

5、Python 3.12 版本有什么变化?

回复下方「关键词」,获取优质资源

回复关键词「 pybook03」,领取进击的Grey与小伙伴一起翻译的《Think Python 2e》电子版

回复关键词「书单02」,领取进击的Grey整理的 10 本 Python 入门书的电子版

👇关注我的公众号👇

告诉你更多细节干货

25264b7803dcfb336cd287b12355e6cc.jpeg

欢迎围观我的朋友圈

👆每天更新所想所悟

### Windows 中实现类似 Linux `sudo` 的权限提升 在 Windows 系统中,虽然不存在名为 `sudo` 的命令,但有多种方法可以达到类似的权限提升效果。一种流行的方式是使用第三方工具 `gsudo` 来模拟 Unix/Linux 上的 `sudo` 功能[^2]。 #### 使用 gsudo 实现权限提升 `gsudo` 是一个专为 Windows 设计的小型命令行实用程序,旨在简化获取管理员权限的过程。此工具能够在不触发完整的用户账户控制 (UAC) 对话框的情况下,使用户能够以管理员身份运行特定命令。这使得日常任务更加高效便捷,尤其是在频繁需要高权限操作的工作环境中。 ##### 安装 gsudo 可以通过不同的包管理器轻松安装 `gsudo`: - **Chocolatey**: 在 PowerShell 中执行 `choco install gsudo` - **Scoop**: 执行 `scoop install gsudo` - **WinGet**: 使用命令 `winget install gerardog.gsudo` 除了上述自动化安装选项外,还可以选择手动下载并安装最新本的 `gsudo`。 ##### 使用 gsudo 提升权限 一旦成功安装了 `gsudo`,就可以像下面这样使用它来获得更高的访问级别: ```powershell gsudo your_command_here ``` 例如,如果想要更新系统时间,则可输入如下命令: ```powershell gsudo time 14:30 ``` 这里展示了如何利用 `gsudo` 工具,在不需要每次点击 UAC 弹窗的情况下完成特权级别的更改。 #### 替代方案:内置的方法 对于那些不想依赖外部应用程序的人来说,Windows 自身也提供了几种途径来进行权限升级的操作。最常见的是右键单击命令提示符或 PowerShell 图标,并选择“以管理员身份运行”。然而这种方法不如 `gsudo` 方便快捷,因为它涉及到图形界面交互[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值