Linux sudo 命令的威力,比你想象的更有用
關(guān)于sudo
關(guān)于 sudo 的一個(gè)常見誤解是它僅用于為普通用戶提供 root 權(quán)限。事實(shí)上,sudo 命令允許你以任何用戶身份運(yùn)行命令,默認(rèn)通常是 root。
Linux 中的 sudo 命令代表Super User DO。它允許你以另一個(gè)用戶(包括超級(jí)用戶)的身份執(zhí)行命令。sudo 是訪問 root 權(quán)限并以 root 用戶身份執(zhí)行命令的有效方法。使用 sudo,你可以在不知道 root 密碼或以 root 用戶身份登錄的情況下訪問 root 權(quán)限。用戶需要具有 sudo 權(quán)限才能運(yùn)行該sudo命令。
如何授予用戶 sudo 權(quán)限
Ubuntu 用戶通常認(rèn)為能夠運(yùn)行 sudo 命令是理所當(dāng)然的。這是因?yàn)?,在安裝過程中,會(huì)創(chuàng)建一個(gè)默認(rèn)用戶,并且 Ubuntu 中的默認(rèn)用戶始終設(shè)置有 sudo 權(quán)限。但是,如果你在 Ubuntu 中使用其他發(fā)行版或有其他用戶,則可能需要授予用戶運(yùn)行 sudo 命令的權(quán)限。
只有少數(shù)人應(yīng)該可以訪問 sudo 命令,并且他們應(yīng)該是系統(tǒng)管理員。用戶應(yīng)該只被授予他們執(zhí)行工作所需的權(quán)限。
要授予用戶 sudo 權(quán)限,你只需將他們添加到 sudo 組。創(chuàng)建用戶時(shí),使用以下命令:
sudo usermod -a -G sudo ubuntu
上述命令將創(chuàng)建一個(gè)具有主文件夾的用戶并將該用戶添加到 sudo 組。如果用戶已經(jīng)存在,那么你可以使用以下命令將用戶添加到 sudo 組:
sudo usermod -a -G sudo linux
當(dāng)你忘記運(yùn)行它時(shí)一個(gè)巧妙的 sudo 技巧
下面是你可以從經(jīng)驗(yàn)豐富的專家那里學(xué)到的一種終端命令技巧,在本例中,用于通過“權(quán)限不夠”消息。如果這是一個(gè)很長(zhǎng)的命令,你可以在歷史記錄中把 sudo 放在前面,可以再打出來,也可以用下面這個(gè)簡(jiǎn)單的命令,用 sudo 運(yùn)行前面的命令:
sudo !!
bang bang (!!)命令是重復(fù)和運(yùn)行您在終端中輸入的上一個(gè)命令的快捷方式。當(dāng)您忘記需要管理員權(quán)限才能執(zhí)行某項(xiàng)操作時(shí),此命令非常有用,并且只需鍵入即可使用super-user權(quán)限重復(fù)此命令,!!獲取最后一次運(yùn)行命令。
如何通過 sudo 切換到 root 用戶
su 命令用于從一個(gè)用戶帳戶切換到另一個(gè)用戶帳戶。在自己的交換機(jī)上運(yùn)行Su命令到超級(jí)用戶帳戶。因此,使用 sudo 命令切換到超級(jí)用戶,只需執(zhí)行以下命令:
sudo su
如何在后臺(tái)運(yùn)行 sudo 命令
如果要在后臺(tái)運(yùn)行需要超級(jí)用戶權(quán)限的命令,請(qǐng)使用 -b 開關(guān)運(yùn)行 sudo 命令,如下所示:
sudo -b 命令
請(qǐng)注意,如果正在運(yùn)行的命令需要用戶交互,這將不起作用。
在后臺(tái)運(yùn)行命令的另一種方法是在末尾添加一個(gè) & 符號(hào),如下所示:
sudo & 命令
如何使用 sudo 權(quán)限編輯文件
使用超級(jí)用戶權(quán)限編輯文件的明顯方法是運(yùn)行編輯器,例如GNU nano, 使用 sudo 如下:
sudo nano
或者,你可以使用以下語法:
sudo -e
如何使用 sudo 以其他用戶身份運(yùn)行命令
sudo 命令可用于以任何其他用戶身份運(yùn)行命令。例如,如果你以用戶“l(fā)inuxmi”身份登錄,并且希望以“l(fā)inux”身份運(yùn)行該命令,那么你將按以下方式運(yùn)行 sudo 命令:
sudo -u
如果你想嘗試一下,請(qǐng)創(chuàng)建一個(gè)名為“l(fā)inux”的新用戶,并運(yùn)行以下Whoami 命令:
sudo -u linux whoami
如何驗(yàn)證 sudo 憑據(jù)
當(dāng)你使用 sudo 運(yùn)行命令時(shí),系統(tǒng)會(huì)提示你輸入密碼。一段時(shí)間后,你可以使用 sudo 運(yùn)行其他命令,而無需輸入密碼。如果你希望延長(zhǎng)該期限,請(qǐng)運(yùn)行以下命令:
sudo -v
使用 sudo 命令列出用戶權(quán)限
-l 或者--list 選項(xiàng)用于列出用戶對(duì)輸出的權(quán)限。您可以使用此選項(xiàng)兩次以獲得更長(zhǎng)的格式。
sudo -l
或者
sudo --list
使用兩次 -l 以獲得更長(zhǎng)的輸出:
sudo -ll
使用 sudo 命令顯示另一個(gè)用戶的權(quán)限
您可以使用 -U 或--other-user 選項(xiàng) -l 來顯示給定用戶的用戶權(quán)限。
? sudo -l -U linux
或者
? sudo -l --other-user linux
更多關(guān)于 sudo
sudo 不僅僅是以超級(jí)用戶身份運(yùn)行命令。查看我們的 sudo 手冊(cè),了解你可以使用的其他一些選項(xiàng)。