1.su 命令
1.1 命令簡介
su 用于臨時切換身份到另一個指定的用戶,未指定用戶名默認為 root。使用 su 切換用戶身份后,默認情況下不改變當前工作目錄,但會改變 HOME、SHELL、USER、LOGNAME 等 Shell 的環(huán)境變量。
1.2 命令格式
1.3 選項說明
2.sudo 命令
2.1 命令簡介
sudo 可以用指定的用戶身份執(zhí)行指定的指令,而無需輸入指定用戶的密碼,只需要輸入當前用戶的密碼。未指定用戶名默認為 root。
2.2 命令格式
sudo[OPTIONS][CMD]
沒有選項與命令單獨執(zhí)行 sudo,將列出 sudo 簡要使用方法。
2.3 選項說明
-A
使用輔助程序(可能是圖形化界面的程序)讀取用戶的密碼并將密碼輸出到標準輸出。如果設(shè)置了環(huán)境變量 SUDO_ASKPASS,它會指定輔助程序的路徑,否則,由配置文件 /etc/sudo.conf 的 askpass 選項來指定輔助程序的路徑。如果沒有可用的輔助程序,sudo 將錯誤退出
-b
選項 -b(background)把 sudo 所要運行的命令放到后臺運行
-E
選項 -E(preserve Environment)向安全策略指示用戶希望保存他們現(xiàn)有的環(huán)境變量。如果指定了 -E 選項,且用戶沒有保留環(huán)境變量的權(quán)限,則安全策略可能返回錯誤
-H
選項 -H(Home)將 HOME 環(huán)境變量設(shè)置為目標用戶的家目錄,目標用戶默認為 root
-h
選項 -h(help)顯示幫助信息并退出
-i [CMD]
選項 -i(simulate initial login)將模擬初始登錄,即啟動目標用戶在 /etc/passwd 中配置的 Shell,相關(guān)的資源文件將被讀取并執(zhí)行,比如 ~/.profile 和 ~/.login。如果后跟命令 CMD,則 CMD 將被傳遞給 Shell 并被執(zhí)行
-K
選項 -K(sure Kill)類似于 -k,它只用于刪除了用戶的緩存憑據(jù),不能與命令或其他選項一起使用
-k [CMD]
單獨使用 -k(kill)選項時,使密碼緩存失效,也就是下次執(zhí)行 sudo 時便需要輸入密碼。如果后跟命令,表示忽略緩存密碼,需要用戶重新輸入密碼 ,新輸入的密碼不會更新密碼緩存
-l[l] [CMD]
如果選項 -l(list)后不跟命令,則列出 sudo 允許當前用戶(或使用 -U 指定的其他用戶)執(zhí)行的指令和無法執(zhí)行的指令。如果指定了命令并被安全策略所允許,則將顯示該命令絕對路徑以及命令參數(shù)。如果指定了命令不被允許,sudo 以狀態(tài)碼 1 退出。如果使用 -ll 或多次指定 -l 選項,則使用長格式輸出
-n
選項 -n(non-interactive)表示以非交互模式執(zhí)行 sudo,阻止 sudo 向用戶詢問密碼。如果執(zhí)行命令時需要密碼,則 sudo 將報錯誤信息并退出
-p PROMPT
改變詢問密碼的提示符號
-s [CMD]
選項 -s(shell)執(zhí)行環(huán)境變量 SHELL 表示的 Shell,如果 SHELL 沒有值,則執(zhí)行目標用戶在配置文件 /etc/passwd 中配置的 Shell。如果選項后跟命令,則傳遞給 Shell 執(zhí)行,如果沒有指定命令,則執(zhí)行交互式 Shell
-U USER
選項 -U(other user)與 -l 選項一起使用,以指定應(yīng)列出其權(quán)限的用戶。sudoers 策略僅允許 root 用戶或當前主機上具有 ALL 權(quán)限的用戶使用此選項
-u USER
選項 -u(user)指定執(zhí)行命令時使用的用戶身份,默認為 root。如果使用 uid 則使用 #uid 表示用戶
-V
選項 -V(version)顯示版本信息并退出
-v
選項 -v(validate)使密碼有效期延長 5 分鐘
注意:sudo 運行時要參照配置文件 /etc/sudousers ,配置文件配置了用戶能夠執(zhí)行的命令。
2.4 常用示例
(1)以指定用戶身份執(zhí)行命令。
sudo–uUSERNAMECMD
3.su 和 sudo 命令的區(qū)別
(1)功能不同
su 用來長時間切換用戶,常見用法是su USERNAME,未指定 USERNAME 默認切換至 root。
sudo 允許被授權(quán)的用戶以其他用戶或者管理員身份來執(zhí)行命令,可以使用 -u 選項來指明需要使用的用戶身份,默認是 root。
sudo 使一般用戶不需要知道超級用戶的密碼即可獲得權(quán)限。首先超級用戶將普通用戶的名字、可以執(zhí)行的特定命令、按照哪種用戶或用戶組的身份執(zhí)行等信息,登記在特殊的文件中(通常是 /etc/sudoers),即完成對該用戶的授權(quán)(此時該用戶稱為 sudoer)。
若其未經(jīng)授權(quán)的用戶企圖使用 sudo,則會發(fā)出警告的郵件給管理員。用戶使用 sudo 時,必須先輸入當前用戶密碼,如果當前用戶是 root 或者當前用戶與目標用戶一致,無需輸入密碼,之后的一段時間內(nèi)(默認為 5 分鐘,可在 /etc/sudoers 配置),使用 sudo 不需要再次輸入密碼。
責(zé)任編輯:lq
-
變量
+關(guān)注
關(guān)注
0文章
613瀏覽量
28432 -
root
+關(guān)注
關(guān)注
1文章
86瀏覽量
21403
原文標題:每天一個 Linux 命令(82): su 和 sudo 命令
文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論