值得考慮的 4 個 Linux 最佳 sudo 替代方案

值得考慮的 4 個 Linux 最佳 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 的系統上,運行:

sudo apt update && sudo apt install policykit-1

在 RHEL 和類似的發行版上,運行:

sudo dnf install policykit

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

sudo sudo pacman -S policykit

如何使用 pkexec

要使用 pkexec,您必須首先指定 pkexec 關鍵字,後跟要執行的命令,然後是該命令需要的任何參數或選項。

例如,要使用超級用戶權限在您的系統上安裝有趣的 Linux 程序:cowsay,您可以使用以下命令:

pkexec apt install cowsay

您還可以通過使用後跟用戶或角色名稱的–user選項來指定要承擔其特權的用戶或角色。例如,要以管理員用戶的權限執行上述命令,您可以使用以下命令:

pkexec --user admin apt install cowsay

此外,您還需要輸入您在命令中指定的用戶或角色的密碼。如果您沒有必要的權限,您將收到錯誤消息。

2. 做事

doas 命令起源於 OpenBSD 操作系統。它允許您以指定用戶或角色的權限執行命令。

它與 sudo 命令非常相似,但它是現代的、非常輕量級的並且易於配置,因為它使用簡潔易讀的語句。

如果不是,這裡是在 Linux 上安裝 doas 的方法。

在 Linux 上配置 doas

sudopkexec命令不同,您必須在開始使用之前配置新安裝的 doas 實例。配置文件位於/etc/doas.conf。如果配置文件不存在,請使用 touch 命令或您選擇的任何其他程序創建一個。

要授予用戶“mwizak”系統上的超級用戶權限,您可以將以下行添加到/etc/doas.conf文件中:

permit persist: mwizak as root

請記住將上述命令中的用戶“mwizak”替換為正確的用戶名。

linux系統上的doas命令配置

保存配置更改後,嘗試使用以下命令安裝 cowsay:

doas apt install cowsay

要使用其他用戶,您可以使用-u標誌後跟用戶名。它類似於與 pkexec 命令一起使用的–user標誌。

例如,要以系統管理員身份運行上述命令,您可以運行:

doas -u admin apt install cowsay

3.蘇

su 命令是“切換用戶”的縮寫。它允許您以當前登錄用戶以外的用戶身份執行命令。它通常用於運行需要 root 權限的命令,但您可以使用 su 運行任何其他命令。

運行不帶任何參數的 su 命令假定為 root 用戶,因此您必須知道 root 用戶密碼才能繼續。如果要切換到名為 john 的用戶,只需運行以下命令:

su john

輸入用戶 john 的密碼。要切換回原始用戶,只需運行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 上,為文件和文件夾分配適當的訪問級別以獲得更好的安全性也很重要。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *