對(duì)于那些不喜歡 sudo 并覺(jué)得它臃腫的人,可以嘗試使用幾種 sudo 替代方法。 sudo 可能是最常用的 Linux 命令之一。它允許您在 Linux 機(jī)器上獲得管理或提升的權(quán)限。 您通常需要提升權(quán)限才能執(zhí)行安裝軟件、管理服務(wù)和刪除關(guān)鍵系統(tǒng)文件等操作。但是您知道 Linux 上有 sudo 命令的替代方法嗎?
為什么要以另一個(gè)用戶身份執(zhí)行 Linux 命令?
sudo 是一個(gè)非常重要的命令,因?yàn)樗试S您以超級(jí)用戶權(quán)限執(zhí)行命令。默認(rèn)情況下,非 root 用戶通常對(duì) Linux 上的資源和文件具有有限的訪問(wèn)權(quán)限。 出于以下原因,限制對(duì) Linux 用戶的訪問(wèn)非常重要:
控制:它允許管理員或系統(tǒng)所有者授予對(duì)某些文件和程序的特定訪問(wèn)權(quán)限。這有利于系統(tǒng)穩(wěn)定性、隱私和整體性能。
安全性:限制對(duì)系統(tǒng)某些部分的訪問(wèn)可防止意外刪除或更改系統(tǒng)。而且它還減少了系統(tǒng)的攻擊面。
sudo 工作正常,并且比大多數(shù)人使用它做的要多得多。不幸的是,這使它非常臃腫。 幸運(yùn)的是,與 Linux 上的大多數(shù)東西一樣,sudo 命令有一些很好的替代方法,下面是其中的一些。
1、pkexec
pkexec(PolicyKit Executive)命令是PolicyKit框架的前端實(shí)現(xiàn),它提供了一組規(guī)則,用于為用戶和進(jìn)程授予權(quán)限。 pkexec 允許您根據(jù)指定策略中定義的規(guī)則,以不同用戶或角色的權(quán)限執(zhí)行命令。 pkexec 工具已經(jīng)安裝在 Ubuntu 和其他主要 Linux 發(fā)行版上。在未安裝的情況下,這里是安裝方法。 在基于 Debian 的系統(tǒng)上,運(yùn)行:
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com sudo apt update && sudo apt install policykit-1
在 RHEL 和類似的發(fā)行版上,運(yùn)行:
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com sudo dnf install policykit在基于 Arch 的 Linux 發(fā)行版上,使用以下命令:
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com sudo pacman -s policykit-1
如何使用 pkexec
要使用 pkexec,您必須首先指定 pkexec 關(guān)鍵字,后跟要執(zhí)行的命令,然后是該命令需要的任何參數(shù)或選項(xiàng)。 例如,要使用超級(jí)用戶權(quán)限在您的系統(tǒng)上安裝有趣的 Linux 程序:cowsay,您可以使用以下命令:
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com pkexec apt install cowsay
您還可以使用--user 選項(xiàng)后跟用戶或角色的名稱來(lái)指定要承擔(dān)其特權(quán)的用戶或角色。例如,要以管理員用戶的權(quán)限執(zhí)行上述命令,您可以使用以下命令:
pkexec --user linuxmi apt install cowsay此外,您還需要輸入您在命令中指定的用戶或角色的密碼。如果您沒(méi)有必要的權(quán)限,您將收到錯(cuò)誤消息。
2、doas
doas 命令起源于 OpenBSD 操作系統(tǒng)。它允許您以指定用戶或角色的權(quán)限執(zhí)行命令。 它與 sudo 命令非常相似,但它是現(xiàn)代的、非常輕量級(jí)的并且易于配置,因?yàn)樗褂煤?jiǎn)潔易讀的語(yǔ)句。允許標(biāo)準(zhǔn)用戶以 root 身份執(zhí)行任務(wù),就像 sudo 一樣。它是由OpenBSD項(xiàng)目開(kāi)發(fā)的,作為sudo的簡(jiǎn)約替代品,因此,該程序比sudo小得多。
sudo apt install doas
在 Linux 上配置 doas
與 sudo 和 pkexec 命令不同,您必須在開(kāi)始使用之前配置新安裝的 doas 實(shí)例。配置文件位于 /etc/doas.conf。如果配置文件不存在,請(qǐng)使用 touch 命令或您選擇的任何其他程序創(chuàng)建一個(gè)。 要授予用戶“l(fā)inuxmi”系統(tǒng)上的超級(jí)用戶權(quán)限,您可以將以下行添加到 /etc/doas.conf 文件中:
permit persist :linuxmi as root請(qǐng)記住將上述命令中的用戶“l(fā)inuxmi”替換為正確的用戶名。 保存配置更改后,嘗試使用以下命令安裝 cowsay:
doas apt install cowsay要使用其他用戶,您可以使用 -u 標(biāo)志后跟用戶名。它類似于與 pkexec 命令一起使用的--user標(biāo)志。 例如,要以系統(tǒng)管理員身份運(yùn)行上述命令,您可以運(yùn)行:
doas -u admin apt install cowsay
3、su
su 命令是“切換用戶”的縮寫(xiě)。它允許您以當(dāng)前登錄用戶以外的用戶身份執(zhí)行命令。它通常用于運(yùn)行需要 root 權(quán)限的命令,但您可以使用 su 運(yùn)行任何其他命令。 運(yùn)行不帶任何參數(shù)的 su 命令假定為 root 用戶,因此您必須知道 root 用戶密碼才能繼續(xù)。如果要切換到名為 linuxmi 的用戶,只需運(yùn)行以下命令:
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com su linuxmi
輸入用戶 linuxmi 的密碼。要切換回原始用戶,只需運(yùn)行 exit 命令即可。 請(qǐng)注意,通常不建議以 root 用戶身份運(yùn)行命令,因?yàn)橄到y(tǒng)不會(huì)在您運(yùn)行的每個(gè)命令上提示您輸入密碼,這可能會(huì)導(dǎo)致災(zāi)難性的后果,例如意外刪除文件。
4、dzdo
dzdo 是一個(gè)命令行工具,用于以其他用戶(例如超級(jí)用戶或根用戶)的權(quán)限執(zhí)行命令。它類似于通常用于相同目的的 sudo 命令。dzdo 命令主要在 Oracle Linux 上可用。 您可以使用 -u 標(biāo)志來(lái)指定您要使用其權(quán)限的用戶。例如,以下命令將以超級(jí)用戶 (root) 的權(quán)限執(zhí)行 apt-get update 命令:
dzdo -u root apt-get update系統(tǒng)將要求您輸入適當(dāng)?shù)拿艽a以確認(rèn)您具有運(yùn)行該命令所需的權(quán)限。
在 Linux 上使用正確的用戶控件來(lái)增強(qiáng)安全性
sudo 是 Linux 系統(tǒng)上常用的命令,允許用戶以 root 用戶的權(quán)限執(zhí)行命令。根據(jù)您的需要,您可以在工作流程中使用任何 sudo 替代方案。 在 Linux 上,為文件和文件夾分配適當(dāng)?shù)脑L問(wèn)級(jí)別以獲得更好的安全性也很重要。
審核編輯:湯梓紅
-
Linux
+關(guān)注
關(guān)注
87文章
11292瀏覽量
209323 -
文件
+關(guān)注
關(guān)注
1文章
565瀏覽量
24727 -
命令
+關(guān)注
關(guān)注
5文章
683瀏覽量
22011
原文標(biāo)題:值得考慮的 4 個(gè)最佳 Linux sudo 命令替代方案
文章出處:【微信號(hào):Linux迷,微信公眾號(hào):Linux迷】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論