<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[gOxiA=苏繁=SuFan Blog]]></title> 
<link>https://sufan.maytide.net/index.php</link> 
<description><![CDATA[gOxiA,苏繁,sufan,Microsoft MVP]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[gOxiA=苏繁=SuFan Blog]]></copyright>
<item>
<link>https://sufan.maytide.net/read.php/2109.htm</link>
<title><![CDATA[体验 Sudo for Windows]]></title> 
<author>gOxiA &lt;sufan_cn@msn.com&gt;</author>
<category><![CDATA[Windows Client]]></category>
<pubDate>Fri, 24 May 2024 08:50:05 +0000</pubDate> 
<guid>https://sufan.maytide.net/read.php/2109.htm</guid> 
<description>
<![CDATA[ 
	<p><img alt="Windows_logo_horiz_blue_rgb" src="http://goxia.maytide.net/ftpup/2018/Windows-_8577/Windows_logo_horiz_blue_rgb_thumb.png"></p>&nbsp;&nbsp;<p><font color="#fd3f0d" size="4"><strong>体验 Sudo for Windows</strong></font></p>&nbsp;&nbsp;<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 有一段时间没有更新日志了！昨天，微软向 Windows Insider Release Preview Channel 推送了 Windows 11 24H2 - <a href="https://blogs.windows.com/windows-insider/2024/05/22/releasing-windows-11-version-24h2-to-the-release-preview-channel/" target="_blank">26100.712</a>，包含了不少新的特性和功能，其中的 sudo 是 <a href="https://goxia.maytide.net" target="_blank">gOxiA</a> 特别感兴趣的。是的，你没看错！在 Windows 上我们可以使用 sudo 了，其实早在 26052 时就开始内置 sudo 的支持。</p>&nbsp;&nbsp;<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sudo for Windows 与 xNIX 中 sudo 的用途类似，都是用来实现用户提权执行命令的，对于 sudo for Windows 主要是基于 UAC 的提权，并且它不支持普通账户，这些基本概念要注意！</p>&nbsp;&nbsp;<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 命令提示符下，不像 UI 界面可以通过选项或热键去激活 UAC 提权，当我们打开 CMD 或 PowerShell 执行一段命令，发现它需要进行 UAC 提权时，通常会重新以 UAC 提权（管理员身份运行）方式打开 CMD 或 PowerShell 再重新执行命令行，这将会经历一系列的键盘或鼠标的切换操作流程！毕竟我们不是每一次都记得先去做 UAC 提权。</p>&nbsp;&nbsp;<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 现在有了 sudo 一切都变得方便了许多，gOxiA 现在已经把“<strong>终端</strong>”应用中的“<strong>以管理员身份运行此配置文件</strong>”的选项关闭了，不用每次涉及到命令行的都要去确认一次 UAC 提权，并且打开终端的速度也快了许多！</p>&nbsp;&nbsp;<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sudo for Windows（以下简称 sudo）出于安全性考虑，默认是禁用的，并且它被归类在“<strong>开发者选项</strong>”中。我们需要进入 Windows 设置，转到“<strong>系统</strong>”下的“<strong>开发者选项</strong>”才能找到 sudo 配置，如果你想快速找到它，可以在 Windows 设置的搜索框中键入 sudo 来查找。</p>&nbsp;&nbsp;<p><a href="http://goxia.maytide.net/ftpup/2018/524eef821d36_DB17/sudo-1.png"><img width="634" height="340" title="sudo-1" style="display: inline; background-image: none;" alt="sudo-1" src="http://goxia.maytide.net/ftpup/2018/524eef821d36_DB17/sudo-1_thumb.png" border="0"></a></p>&nbsp;&nbsp;<p><a href="http://goxia.maytide.net/ftpup/2018/524eef821d36_DB17/sudo-2.png"><img width="634" height="666" title="sudo-2" style="display: inline; background-image: none;" alt="sudo-2" src="http://goxia.maytide.net/ftpup/2018/524eef821d36_DB17/sudo-2_thumb.png" border="0"></a></p>&nbsp;&nbsp;<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如上图所示，当我们打开 sudo 后，可以看到三个 sudo 运行选项：“<strong>在新窗口中、禁用输入、内联</strong>”。三者中第一个是最为安全的，也是系默认配置，之后依次排列。三个选项根据说明还是很容易理解的，但配合参数后 gOxiA 认为一些安全使用逻辑还有待改进完善！下面让我们分步了解一下这三个选项。</p>&nbsp;&nbsp;<p><a href="http://goxia.maytide.net/ftpup/2018/524eef821d36_DB17/sudo-diagram.png"><img width="628" height="248" title="sudo-diagram" style="display: inline; background-image: none;" alt="sudo-diagram" src="http://goxia.maytide.net/ftpup/2018/524eef821d36_DB17/sudo-diagram_thumb.png" border="0"></a></p>&nbsp;&nbsp;<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1. “<strong>在新窗口中</strong>”，其对应 <strong>-N</strong> 或 <strong>--new-window</strong> 参数。当我们通过 sudo 执行命令后，将会启动带有提权的 sudo 会话进程，在经过用户确认后即可提权运行后续的指令，并以新窗口形式运行。</p>&nbsp;&nbsp;<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2. “<strong>禁用输入</strong>”，其对应<strong> --disable-input</strong> 参数。即执行的命令将基于当前窗口运行 UAC 提权的进程，但其输入句柄将会被关闭，避免已经提升的进程从当前窗口接收指令。</p>&nbsp;&nbsp;<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3. “<strong>内联</strong>”，其对应 <strong>--inline</strong> 参数。意思就是直接将当前窗口进程进行提权，与 2 类似但将已提权模式继续处理后续的输入。</p>&nbsp;&nbsp;<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 三个选项的逻辑很清晰，但我们在实际运用中会发现，必须先将 sudo 配置为“<strong>内联</strong>”或“<strong>禁用输入</strong>”后，才能使用对应的参数选择性的去执行（运行模式由安全级别低向高排序）。否则，将会提示 <em><strong>无法在计算机上以高于XXXX模式的模式运行 </strong></em>！（PS：那么到底是要临时安全还是始终安全呢？！）</p>&nbsp;&nbsp;<p><a href="http://goxia.maytide.net/ftpup/2018/524eef821d36_DB17/sudo-5.png"><img width="634" height="118" title="sudo-5" style="display: inline; background-image: none;" alt="sudo-5" src="http://goxia.maytide.net/ftpup/2018/524eef821d36_DB17/sudo-5_thumb.png" border="0"></a></p>&nbsp;&nbsp;<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sudo 更多的参数可执行运行命令获取，不再复述。此外，我们还需要注意的是 sudo 不具有 runas 命令的功能，要运行 sudo 必须是管理员级别的账号，普通账号在执行 sudo 后将提示“<strong>不允许你运行 sudo</strong>”。</p>&nbsp;&nbsp;<p><a href="http://goxia.maytide.net/ftpup/2018/524eef821d36_DB17/sudo-3.png"><img width="634" height="350" title="sudo-3" style="display: inline; background-image: none;" alt="sudo-3" src="http://goxia.maytide.net/ftpup/2018/524eef821d36_DB17/sudo-3_thumb.png" border="0"></a></p>&nbsp;&nbsp;<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sudo 目前已经支持通过 GPO 配置，路径是“<strong>计算机配置 - 管理模板 - 系统 - 配置 sudo 命令的行为</strong>”。</p>&nbsp;&nbsp;<p><a href="http://goxia.maytide.net/ftpup/2018/524eef821d36_DB17/sudo-4.png"><img width="634" height="335" title="sudo-4" style="display: inline; background-image: none;" alt="sudo-4" src="http://goxia.maytide.net/ftpup/2018/524eef821d36_DB17/sudo-4_thumb.png" border="0"></a></p>&nbsp;&nbsp;<p>官方文档： <a href="https://learn.microsoft.com/zh-cn/windows/sudo//?WT.mc_id=WDIT-MVP-4000544" target="_blank">Sudo for Windows</a></p>
]]>
</description>
</item>
</channel>
</rss>