AI 日报

微软继续Linux化!sudo原生命令强势登录Windows!

  • By 51ITO
  • Mar 01, 2024 - 2 min read



编译丨诺亚

出品 | 51CTO技术栈(微信号:blog51cto)

最近有消息称,sudo命令即将登陆Windows。

Sudo(超级用户执行)长期以来一直是Unix操作系统中强大的管理工具。其核心功能是允许一个普通用户以超级用户的权限(通常是管理员的权限)在一些命令中运行程序。

尽管Windows系统已经提供了“作为管理员运行”的选项,但是sudo提供了一种更精细的权限管理方式,而不是开始一个控制台会话来提高权限。使用者可以选择只提高单个命令的权限。

图片图片

这种更新对熟悉Linux和macOSsudo功能的用户来说无疑是值得期待的。

这一举动再次展现了微软对Linux元素在操作系统开发中日益增长的接受和融合。曾经视Linux为“癌症”的微软,如今已经完全重塑了自我。为了不断促进跨平台兼容性,提升用户体验,Windows系统正在向Linux特性靠拢的趋势不断加强。

1、如何进入Windowsudo?

微软计划在GitHub上发布该项目作为开源项目。这个功能可以通过Windows设置页面或命令行来使用。

不久之后,如果你正在运行Windows。 11操作系统,您将能够在Windows终端上输入这样的命令:

图片图片

在Linux中,当然这是一个经典命令。在你运行的时候。`sudo[command]`在这个时候,将会出现熟悉的Windows用户帐户控制(UAC)弹出窗口,询问您是否希望提高权限。若您选择确认,则下一个命令语句将作为管理员执行。   

以上例子中,如果用户(非管理员)以常规方式打开Windows终端,通常不能在这里使用。`sudo`但是,所有这些都是最新的Windows。 11内部预览版(构建版26052)发生了变化,其中包含了sudo作为可选开发者的功能。

假设你已经加入Windows 您可以通过Windows设置Insider计划 > 开发者选项页面启用sudo功能。或者,你也可以启动一个Windows终端会话来提高你的权限,并使用以下命令来激活sudo。:

图片图片

选项`sudo`在Linux系统中给你同样的完整权限。此外,您还可以选择更安全的选项,例如`sudo disableInput`,在提升权限之后,该选项不允许接收任何进一步的用户输入;或使用`sudo forceNewWindow`,这将在一个新的终端窗口中运行一个新的提升权限的过程。

这两种方法都可以减少一些潜在的安全漏洞风险,但是它们改变了`sudo`在Linux中,工作方法并不完全相同。

微软已暗示可能会有可能。`sudo`功能回溯移植到Windows 10上。因此,这一新特性有望成为即使是旧PC上的开发者也能享受到的标准选项。这样,在未来,无论是Windows 还是Windows10? 11,开发者可以在Windows操作系统中享受类似Linux的操作系统。`sudo`权力管理体验。

2、是否真的需要sudo?

肯定有人会质疑,这个更新真的有意义吗?

如无sudo,Windows用户可使用。`runas`某种形式的命令可以获得管理员的权限——要么在命令行中输入,要么通过右键单击开始菜单中的Windows终端图标,并选择“作为管理员运行”。

因此,从技术上讲,sudo并没有提供以前无法实现的新功能。这只是允许你使用传统的Linux方法来操作。但是,对于真正的Linux用户来说,这一点特别方便,无论你是花费大量时间配置服务器还是云环境,还是喜欢开发这个操作系统。使用sudo就像输入Linux一样。`ls`而非`dir`,或者输入`cat`而非`type`,通过这种方式,你可以使用你最熟悉的命令方式,而无需额外的认知切换。     

另外一个不太明显但同样重要的方面是,像sudo这样的添加功能可以帮助Windows开发者更熟悉Linux的协议。以前也有开发者提到,逐渐偏爱使用Linux命令,而不仅仅是Windows的原生Shell命令。由于对Linux命令越熟悉,下一次在Linux提示符下工作时(例如在AWS这样的云环境中),就越不容易感到困惑和孤立。

3、微软和Linux:爱与恨交织的历史

假如你还不熟悉微软拥抱Linux,那么你必须了解WSL(适合Linux的Windows子系统),它是一个Linux内核,与Windows一起发布,支持各种有趣的互操作场景。举例来说,VSS可以直接用于虚拟Linux文件系统 开发Code,并在Docker中运行Linux容器。这不是一个简单的调侃,“每一个Windows开发者都需要一点Linux”。

二十多年来,微软内部曾对Linux进行敌视的做法已被完全抛弃。显然,如果没有这种变化,微软可能只会成为科技史上的一个注脚。而且在目前的时间线上,微软已经越来越完全拥抱了Linux,例如使用JavaScript来构建世界上最流行的代码编辑器。(VS Code),将庞大的.NET项目重构为跨平台和开源,当然也有-悄悄地将完整的Linux内核嵌入Windows的核心。

参考链接:

https://www.theregister.com/2024/02/08/windows_11_sudo/

https://medium.com/young-coder/the-linuxification-of-windows-continues-0cb889255b97