如何安装和使用 doas:一个简约的替代方案 sudo

在许多 Linux 系统上,您可以通过运行命令来以 root 身份执行任务 sudo. OpenBSD 项目开发了一个简约的替代方案,doas。

那么,你如何使用 doas 以另一个用户身份执行 Linux 命令,它会取代 sudo?

什么是doas?

doas 是一个实用程序,它允许标准用户以 root 身份执行任务,方式相同 sudo 做。 它是由 OpenBSD 项目开发的,作为一个简约的替代品 sudo,因此,程序比 sudo.

虽然它是作为 OpenBSD 的一部分开发的,但 便携版 可用于其他类 Unix 系统,包括 Linux。

如何安装doas

doas 在大多数官方发行版存储库中都可用,您可以使用发行版的包管理器轻松安装它。 要在 Ubuntu 等基于 Debian 的发行版上安装 doas:

sudo apt install doas

请注意,该软件包仅存在于 Ubuntu 21.04 存储库中,而不存在于 20.04 LTS 版本中。

要在 Arch 上安装它,只需使用 pacman:

sudo pacman -S opendoas

在 Fedora 和 CentOS,使用 DNF 安装 doas:

sudo dnf install opendoas

配置doas

doas 需要更多的设置 sudo 因为大多数发行版仍然默认不包含它,但是配置比它更容易理解 sudo. 您所要做的就是编辑 /etc/doas.conf 文件作为根。

这是一个 example 模仿行为的行为 sudo, 并允许您以 root 身份运行任何命令。 使用 doas,您还可以获得一个宽限期,在运行连续的 doas 命令后几分钟内您无需输入密码。

permit persist username as root

用户名 在上述命令中是您要启用的用户。 许多系统的用户属于某个组,例如“admin” 或 “轮子” 可以使用 sudo. 您也可以通过在组名前加冒号来复制 doas。

permit persist :wheel as root

您还可以使用 doas 指定 Linux 命令。 假设您只希望特定用户能够运行 APT 来更新系统。 这 命令 选项允许您指定单个命令的列表和 不通过 将允许您在没有密码的情况下运行 root 命令。

permit nopass user cmd apt apt-get as root

使用 Doas

您可以在命令行中使用 doas,就像运行时一样 sudo:

doas apt update

关于什么 sudo?

尽管doas的到来, sudo 会存在一段时间。 虽然 sudo 有一个复杂的配置文件,它提供了很多细粒度的控制。 此外,doas 尚未在所有发行版存储库中可用。 您可能必须使用 sudo 直到更多存储库添加它或发行版开始替换 sudo doas 作为默认的管理程序。

除了 doas 和 sudo,您可以安装其他几个程序来以其他用户身份运行命令。 包括 Arch Linux 在内的许多 Linux 发行版都附带 su 作为在用户之间切换的默认实用程序。