5 Linux替代Linux sudo命令


如果你曾经使用Linux或认识使用Linux的人,那么你可能听说过sudo命令。该命令是几乎所有Linux发行版的关键组件,它的作用是让您以不同的用户身份运行命令,最明显的是root用户。在某些Linux发行版上,您可以使用su命令以root用户身份登录,但这被认为是高风险的,没有人会这样做。

实际上,它是如此在Ubuntu等Linux发行版上默认禁用它是危险的。相反,如果要以root用户身份运行命令,则必须使用sudo命令。那么Windows呢?好吧,不幸的是,大多数人以管理员身份登录Windows,这与Linux中的root用户相同。但是,Microsoft已尝试通过启用用户帐户控制或UAC来减轻以管理员身份登录的危险影响。

这样,即使用户具有管理权限,在该帐户下运行的应用程序也不会除非由用户手动授权,否则继承这些权限。这有助于防止恶意软件和间谍软件感染以管理员身份登录的Windows用户。

因此,虽然Linux用户拥有sudo命令,但Windows用户有什么用途? Windows用户是否可以使用其他替代方法来运行具有提升权限的命令?是否有Windows的sudo命令?在本文中,我将讨论针对Windows用户的sudo命令的五种替代方法。

注意:其中一些工具现在已经很老了,所以他们可能会或者可能无法使用最新版本的Windows。

Windows Runas命令

Windows具有runas命令,该命令与Linux上的sudo直接对应。使用runas命令,您可以以其他用户或管理员身份执行脚本,程序或命令。 runas命令的完整语法是:

runas [{/profile|/noprofile}] [/env] [/netonly] [/smartcard] [/showtrustlevels] [/trustlevel] /user:UserAccountName program

如果要打开管理命令提示符,可以键入以下内容:

runas /noprofile /user:Administrator cmd

runas command

/ noprofile不会加载当前用户配置文件。如果需要访问用户环境变量,可以删除它。如果要使用具有管理员权限的记事本打开文本文件,可以使用以下命令:

runas /user:Administrator "notepad my_file.txt"

您可以在runas上签出Technet页面 有关如何使用它的更多信息。

请注意,使用runas命令时,如果安装程序或更改设置等,则将对您运行的用户帐户进行更改。命令。例如,假设您拥有普通用户X和用户Y,他是管理员。如果您使用管理员凭据登录X然后执行runas,则将对管理员的设置进行更改,而不是用户X.

因此,如果通过右键单击EXE文件来安装应用程序,选择以管理员身份运行,它将安装到内置管理员用户配置文件,而不是您登录的用户配置文件。如果你想要没有配置文件问题的sudo这样的真正提升权限,请查看下面的下一个备选方案。

Sudo for Windows - Sourceforge

Sudo for Windows 是一个可以安装的免费程序,它可以让您在Linux for Windows上获得与sudo命令相同的体验。唯一的区别是Sudo for Windows “保留用户的配置文件和创建对象的所有权”,如开发人员所述。如果您想使用提升的权限来安装应用程序或更改用户位置(如我的文档等),这非常方便。

它将为您提供管理权限,但会保留当前的所有更改配置文件而不是您用来运行命令的帐户。该程序需要.NET 2.0版,您无法单独下载。要获得2.0,您必须安装.NET Framework 3.5 ,其中包括2.0。

安装Sudo for Windows后,您需要添加允许的用户帐户升级到由名为S udoers的程序创建的特定组的权限。右键单击“我的电脑”或“此PC”,然后单击管理。然后展开用户和群组,然后点击群组。您应该看到一个名为Sudoers

sudousers

双击Sudoers并点击在添加按钮上。

add member

在下一个对话框中,点击高级按钮然后单击立即查找。这将列出系统上的所有用户和组。双击要添加的用户。

add user to group

对于要添加的用户,请重复此步骤。然后单击“确定”,您将看到上面显示的成员列表框中列出的成员。单击OK,现在您应该能够使用sudo GUI和命令。如果右键单击某个程序,您将看到Sudo选项。

sudo right click

您也可以打开一个命令提示符并输入sudo来运行具有提升权限的命令。

sudo command prompt

总的来说,它非常漂亮并且运行良好。但请注意,此特定程序对于通过右键单击或通过命令提示符启动启动程序或进程非常有用,但它并不适用于运行命令行应用程序。例如,如果你想做sudo mkdir“c:\ Program Files \ new”,这将无法使用Sudo for Windows。对于该功能,有另一个程序称为相同的东西,但由不同的开发人员。请阅读以下内容。

Sudo for Windows - Luke Sampson

还有另一位开发人员编写了另一个Sudo for Windows ,可以让您执行命令行应用程序。让我们回到有关在C:\ Program Files中创建新文件夹的示例。默认情况下,您无法真正做到这一点。

powershell mkdir

上面我使用的是PowerShell,但是使用命令会出现同样的错误提示也。但是,一旦你安装了Sudo for Windows,只需在命令的前面添加单词sudo,它就可以正常运行而没有错误!

要安装它,你需要打开PowerShell,然后键入以下内容按顺序命令:

iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
set-executionpolicy unrestricted -s cu -f scoop install sudo

如果一切正常,您应该在每个命令后在PowerShell中看到以下输出:

install scoop sudo

而已!现在您可以开始输入命令并在前面添加sudo。关于这个程序唯一令人讨厌的事情是UAC窗口仍然会弹出,你单击是以使其工作。即使有这种轻微的烦恼,其好处也是值得的。

提升

提升 是一个与UAC合作的程序,并不能完全像须藤。使用Elevate,它会将执行用户更改为管理员,就像runas命令一样。但是,它对于在命令行或批处理文件中工作很有用。

elevate

提升的主要目的不是绕过UAC,而是从非提升的shell启动处于提升状态的进程,然后在命令完成后继续正常运行。 Elevate对脚本非常有用,因为您不必担心尝试编写整个右键单击脚本并以管理员进程运行命令提示符。

Elevation PowerToys for Windows

For那些在命令行上做大量工作或使用脚本和批处理文件的人,那么适用于Windows的Elevation PowerToys 页面有很多有用的工具和脚本。

elevation powertoys

创建脚本升降动力玩具 是为了克服UAC在尝试从命令行提升程序或以管理员身份运行脚本时令人沮丧的方面。

希望这些足够的工具和程序可以让您感觉自己真的在Windows上使用sudo。它没有完美的替代品,但有很多选择可以接近。如果您使用其他东西来提升Windows中的程序,命令或脚本,请在评论中告诉我们。享受!

(翻墙)Azure一条命令架设ShadowSocksR(SSR)服务器+客户端设置(Win10, 手机, 盒子)

相关文章:


21.03.2014