值得考虑的四个优秀 Linux sudo 命令替代方案

系统 Linux
您通常需要提升权限才能执行安装软件、管理服务和删除关键系统文件等操作。但是您知道 Linux 上有 sudo 命令的替代方法吗?

对于那些不喜欢 sudo 并觉得它臃肿的人,可以尝试使用几种 sudo 替代方法。

sudo 可能是最常用的 Linux 命令之一。它允许您在 Linux 机器上获得管理或提升的权限。

您通常需要提升权限才能执行安装软件、管理服务和删除关键系统文件等操作。但是您知道 Linux 上有 sudo 命令的替代方法吗?

为什么要以另一个用户身份执行 Linux 命令?

sudo 是一个非常重要的命令,因为它允许您以超级用户权限执行命令。默认情况下,非 root 用户通常对 Linux 上的资源和文件具有有限的访问权限。

出于以下原因,限制对 Linux 用户的访问非常重要:

  • 控制:它允许管理员或系统所有者授予对某些文件和程序的特定访问权限。这有利于系统稳定性、隐私和整体性能。
  • 安全性:限制对系统某些部分的访问可防止意外删除或更改系统。而且它还减少了系统的攻击面。

sudo 工作正常,并且比大多数人使用它做的要多得多。不幸的是,这使它非常臃肿。

幸运的是,与 Linux 上的大多数东西一样,sudo 命令有一些很好的替代方法,下面是其中的一些。

1、pkexec

pkexec(PolicyKit Executive)命令是PolicyKit框架的前端实现,它提供了一组规则,用于为用户和进程授予权限。

pkexec 允许您根据指定策略中定义的规则,以不同用户或角色的权限执行命令。

pkexec 工具已经安装在 Ubuntu 和其他主要 Linux 发行版上。在未安装的情况下,这里是安装方法。

在基于 Debian 的系统上,运行:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
sudo apt update && sudo apt install policykit-1

在 RHEL 和类似的发行版上,运行:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
sudo dnf install policykit

在基于 Arch 的 Linux 发行版上,使用以下命令:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
sudo pacman -s policykit-1

如何使用 pkexec

要使用 pkexec,您必须首先指定 pkexec 关键字,后跟要执行的命令,然后是该命令需要的任何参数或选项。

例如,要使用超级用户权限在您的系统上安装有趣的 Linux 程序:cowsay,您可以使用以下命令:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
pkexec apt install cowsay

您还可以使用 –user 选项后跟用户或角色的名称来指定要承担其特权的用户或角色。例如,要以管理员用户的权限执行上述命令,您可以使用以下命令:

pkexec --user linuxmi apt install cowsay

此外,您还需要输入您在命令中指定的用户或角色的密码。如果您没有必要的权限,您将收到错误消息。

2、doas

doas 命令起源于 OpenBSD 操作系统。它允许您以指定用户或角色的权限执行命令。

它与 sudo 命令非常相似,但它是现代的、非常轻量级的并且易于配置,因为它使用简洁易读的语句。允许标准用户以 root 身份执行任务,就像 sudo 一样。它是由OpenBSD项目开发的,作为sudo的简约替代品,因此,该程序比sudo小得多。

sudo apt install doas

在 Linux 上配置 doas

与 sudo 和 pkexec 命令不同,您必须在开始使用之前配置新安装的 doas 实例。配置文件位于 /etc/doas.conf。如果配置文件不存在,请使用 touch 命令或您选择的任何其他程序创建一个。

要授予用户“linuxmi”系统上的超级用户权限,您可以将以下行添加到 /etc/doas.conf 文件中:

permit persist :linuxmi as root

请记住将上述命令中的用户“linuxmi”替换为正确的用户名。

保存配置更改后,尝试使用以下命令安装 cowsay:

doas apt install cowsay

要使用其他用户,您可以使用 -u 标志后跟用户名。它类似于与 pkexec 命令一起使用的–user标志。

例如,要以系统管理员身份运行上述命令,您可以运行:

doas -u admin apt install cowsay

 3、su

su 命令是“切换用户”的缩写。它允许您以当前登录用户以外的用户身份执行命令。它通常用于运行需要 root 权限的命令,但您可以使用 su 运行任何其他命令。

运行不带任何参数的 su 命令假定为 root 用户,因此您必须知道 root 用户密码才能继续。如果要切换到名为 linuxmi 的用户,只需运行以下命令:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
su linuxmi

输入用户 linuxmi 的密码。要切换回原始用户,只需运行 exit 命令即可。

请注意,通常不建议以 root 用户身份运行命令,因为系统不会在您运行的每个命令上提示您输入密码,这可能会导致灾难性的后果,例如意外删除文件。

4、dzdo

dzdo 是一个命令行工具,用于以其他用户(例如超级用户或根用户)的权限执行命令。它类似于通常用于相同目的的 sudo 命令。dzdo 命令主要在 Oracle Linux 上可用。

您可以使用 -u 标志来指定您要使用其权限的用户。例如,以下命令将以超级用户 (root) 的权限执行 apt-get update 命令:

dzdo -u root apt-get update

系统将要求您输入适当的密码以确认您具有运行该命令所需的权限。

在 Linux 上使用正确的用户控件来增强安全性

sudo 是 Linux 系统上常用的命令,允许用户以 root 用户的权限执行命令。根据您的需要,您可以在工作流程中使用任何 sudo 替代方案。

在 Linux 上,为文件和文件夹分配适当的访问级别以获得更好的安全性也很重要。

责任编辑:赵宁宁 来源: Linux迷
相关推荐

2022-09-13 15:22:04

边缘计算云计算

2019-06-26 09:00:00

DevSecOps安全漏洞

2020-11-11 18:56:32

工具代码开发

2021-11-29 18:02:50

网络电缆布线

2023-04-11 09:39:47

2018-05-15 14:55:23

VMwarePKS方案

2020-04-07 10:05:34

React开发工具

2022-03-13 10:48:52

容器Docker容器管理软件

2023-08-21 13:39:57

开发桌面Ubuntu

2022-09-07 08:47:50

NGINXLinuxWeb 服务器

2014-06-20 10:42:54

MPLSVPN

2021-05-24 09:00:00

ETL工具数据

2013-08-09 09:12:19

2023-01-13 23:39:51

Linux挂载驱动器

2023-02-03 17:47:28

2019-07-11 09:13:48

区块链去中心化比特币

2021-08-02 10:22:29

大数据安全云计算数据安全

2020-09-10 10:16:09

开源代码安全性漏洞恶意组件

2022-01-06 11:25:47

区块链游戏技术

2017-01-12 14:36:08

点赞
收藏

51CTO技术栈公众号