在linux中,sudo全稱“super user do”,意思為“干超級(jí)用戶才能干的事”,是一個(gè)系統(tǒng)權(quán)限管理命令,可以讓非root的用戶運(yùn)行只有root才有權(quán)限執(zhí)行的命令,語(yǔ)法“sudo [選項(xiàng)] [-u 新使用者賬號(hào)] 要執(zhí)行的命令”。
本教程操作環(huán)境:Ubuntu 18.04系統(tǒng)、Dell G3電腦。
linux sudo是什么意思
Sudo 的全稱為:super user do。 顧名思義:干超級(jí)用戶才能干的事。
Sudo命令可以讓你切換至其他用戶的身份去執(zhí)行命令。( su 命令也可以)
相對(duì)于使用 su 命令還需要新切換用戶的密碼,sudo 命令的運(yùn)行只需要知道自己的密碼即可,甚至于,我們可以通過(guò)手動(dòng)修改 sudo 的配置文件,使其無(wú)需任何密碼即可運(yùn)行。
sudo 命令默認(rèn)只有 root 用戶可以運(yùn)行,該命令的基本格式為:
sudo [選項(xiàng)] [-u 新使用者賬號(hào)] 要執(zhí)行的命令
常用的選項(xiàng)與參數(shù):
-
-b :將后續(xù)的命令放到背景中讓系統(tǒng)自行運(yùn)行,不對(duì)當(dāng)前的 shell 環(huán)境產(chǎn)生影響。
-
-u :后面可以接欲切換的用戶名,若無(wú)此項(xiàng)則代表切換身份為 root 。
-
-l:此選項(xiàng)的用法為 sudo -l,用于顯示當(dāng)前用戶可以用 sudo 執(zhí)行那些命令。
SUDO 作用
sudo是linux系統(tǒng)權(quán)限管理,是允許系統(tǒng)管理員讓普通用戶執(zhí)行一些或者全部的root命令的一個(gè)工具,如halt,reboot,su等等。換句話說(shuō)通過(guò)此命令可以讓非root的用戶運(yùn)行只有root才有權(quán)限執(zhí)行的命令。
這樣不僅減少了root用戶的登錄 和管理時(shí)間,同樣也提高了安全性。
SUDO 原理
是不是每一個(gè)新創(chuàng)建的用戶都可以使用sudo提升命令的權(quán)限呢?如果不是那么哪些用戶可以使用此命令呢?
要想使一個(gè)用戶具有使用sudo的能力,需要讓root用戶將其名字、可以執(zhí)行的特定命令、按照哪種用戶或用戶組的身份執(zhí)行等信息注冊(cè)到/etc/sudoers文件中,即完成對(duì)該用戶的授權(quán)(此時(shí)該用戶稱為“sudoer”)才可以。
當(dāng)一般用戶執(zhí)行特殊權(quán)限時(shí),在命令前加上 sudo,此時(shí)系統(tǒng)會(huì)讓你輸入密碼以確認(rèn)終端機(jī)前操作的是你本人,確認(rèn)后系統(tǒng)會(huì)將該命令的進(jìn)程以超級(jí)用戶的權(quán)限運(yùn)行。
在一定的時(shí)間段內(nèi),再次執(zhí)行sudo的命令時(shí)不再詢問(wèn)密碼,超出此時(shí)間段(一般為5分鐘)后需要再次輸入密碼。
具體使用
此處假設(shè)公司的服務(wù)使用的是Ubuntu 18.04
操作系統(tǒng)
實(shí)習(xí)妹子牛翠花到"圣女果科技"公司實(shí)習(xí)報(bào)到時(shí),組長(zhǎng)王二狗需要給她創(chuàng)建一個(gè)可以使用sudo命令的賬號(hào)該怎么做呢?
第一步:二狗首先登陸root賬號(hào),使用如下命令創(chuàng)建一個(gè)賬號(hào):cuiHuaNiu。
adduser cuiHuaNiu
在創(chuàng)建過(guò)程中需要指定cuiHuaNiu 賬號(hào)的密碼,以及其他個(gè)人信息,例如電話號(hào)碼等,二狗還可以乘機(jī)要到妹子的電話。
第二步: 授予cuiHuaNiu管理員權(quán)限,也就是將其注冊(cè)到/etc/sudoers文件中
默認(rèn)情況下,在Ubuntu 18.04上有一個(gè)sudo的組,屬于此組的用戶都可以使用sudo命令,所以二狗只需要把cuiHuaNiu 加到sudo組里面即可。
usermod -aG sudo cuiHuaNiu
-
-a 參數(shù)表示附加,只和 -G 參數(shù)一同使用,表示將用戶增加到組中。
第三步: 牛翠花就可以使用cuiHuaNiu 登錄服務(wù)器,然后使用sudo來(lái)執(zhí)行管理者才能執(zhí)行的命令了。當(dāng)然如果翠花有root權(quán)限也可以使用sudo -i 切換用戶身份到root.
ssh cuiHuaNiu@sng.com
優(yōu)勢(shì)
-
sudo能夠限制用戶只在某臺(tái)主機(jī)上運(yùn)行某些命令。
-
sudo提供了豐富的日志,詳細(xì)地記錄了每個(gè)用戶干了什么。它能夠?qū)⑷罩緜鞯街行闹鳈C(jī)或者日志服務(wù)器。
-
sudo使用時(shí)間戳文件來(lái)執(zhí)行類似的“檢票”系統(tǒng)。當(dāng)用戶調(diào)用sudo并且輸入它的密碼時(shí),用戶獲得了一張存活期為5分鐘的票(這個(gè)值可以在編譯的時(shí)候改變)。
-
sudo的配置文件是sudoers文件,它允許系統(tǒng)管理員集中的管理用戶的使用權(quán)限和使用的主機(jī)。