美國服務器Linux系統的su 命令的主要作用是讓用戶可以在已登錄的會話中切換到另外一個用戶,也就是不退出當前用戶的情況下登錄為另外一個用戶。美聯科技小編再本文將詳細討論關于美國服務器 su 命令的使用介紹,以及與 sudo 命令之間的區別。
美國服務器Linux系統su 命令經常被用于切換到超級用戶或 root 用戶,主要是因為在命令行下工作,經常需要 root 權限,同時su 命令也可以用于切換到任意非 root 用戶。
1、su 命令
使用 su 命令切換到 root 用戶,命令為不帶命令行參數的 su 命令:su。
輸入su 命令后,系統會要求輸入的密碼是 root 用戶的密碼,在輸入正確的密碼之后,su 命令會在終端的當前會話中打開一個子會話。
2、su - 命令
還有一種方法可以切換到 root 用戶,就是運行 su - 命令。
而su 命令與 su - 命令之間的區別在于,前者在切換到 root 用戶之后仍然保持原始用戶的環境,而后者則是創建一個新的環境,相當于使用 root 用戶正常登錄。
注意:如果你想在 su - 命令的 - 后面傳遞更多的參數,那么必須使用 su -l 而不是 su -。以下是 - 和 -l 命令行選項的說明:
【 - 】,【-l】 ,【--login】提供相當于用戶在直接登錄時所期望的環境。當使用【 - 】時,必須放在 su 命令的最后一個選項。其他選項【-l】 和 【--login】無此限制。
3、su –c
還有一個值得一提的 su 命令行選項為:-c。該選項允許你提供在切換到目標用戶之后要運行的命令。
以上就是關于 美國服務器Linux系統su 命令的基礎知識,下面就來分析下sudo 和 su 命令之間的區別。
區別1:關于密碼
兩個命令的最大區別是:sudo 命令需要輸入當前用戶的密碼,su 命令需要輸入 root 用戶的密碼。很明顯,就安全而言,sudo 命令更好。例如,考慮到需要 root 訪問權限的多用戶使用的美國服務器主機,使用 su 命令意味著需要與其他用戶共享 root 用戶密碼,這顯然會降低安全性。
此外,如果要撤銷特定用戶的超級用戶/root 用戶的訪問權限,唯一的辦法就是更改 root 密碼,然后再告知所有其他用戶新的 root 密碼。
而使用 sudo 命令就可以很好的處理以上的兩種情況。鑒于 sudo 命令要求輸入的是其他用戶自己的密碼,所以,不需要共享 root 密碼。同時,想要阻止特定用戶訪問 root 權限,只需要調整 sudoers 文件中的相應配置即可。
區別2:默認行為
兩個命令之間的另外一個區別是其默認行為。sudo 命令只允許使用提升的權限運行單個命令,而 su 命令會啟動一個新的 shell,同時允許使用 root 權限運行盡可能多的命令,直到明確退出登錄。
因此,su 命令的默認行為是有風險的,因為用戶有可能會忘記他們正在以 root 用戶身份進行工作,于是,無意中做出了一些不可恢復的更改。
區別3:日志記錄
盡管 sudo 命令是以目標用戶(默認情況下是 root 用戶)的身份執行命令,但是它們會使用 sudoer 所配置的用戶名來記錄是誰執行命令。而 su 命令是無法直接跟蹤記錄用戶切換到 root 用戶之后執行了什么操作。
區別4:靈活性
sudo 命令比 su 命令靈活很多,可以限制 sudo 用戶可以訪問哪些命令,用戶通過 sudo 命令只能訪問他們工作需要的命令,而 su 命令讓用戶有權限做任何事情。
區別5:sudo su
大概是因為使用 su 命令或直接以 root 用戶身份登錄有風險,所以一些 Linux 發行版默認禁用 root 用戶帳戶。然而還是可以成功執行 su 命令,而不用輸入 root 用戶的密碼,運行以下命令:sudo su.
由于使用 sudo 運行命令,只需要輸入當前用戶的密碼。所以,一旦完成操作,su 命令將會以 root 用戶身份運行,這意味著它不會再要求輸入任何密碼。
如果想在系統中啟用 root 用戶帳戶,必須手動設置 root 用戶密碼,可以使用以下命令:sudo passwd root。
以上就是美國服務器Linux系統su命令介紹以及與sudo之間的區別,希望幫助到有需要的美國服務器用戶。
關注美聯科技,了解更多IDC資訊!
美國服務器Linux系統su命令介紹以及與sudo之間的區
來源:美國服務器
作者:美聯科技小編Zoe
瀏覽量:194