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