手机看片精品高清国产日韩,色先锋资源综合网,国产哺乳奶水91在线播放,乱伦小说亚洲色图欧洲电影

如何理解sudo和su命令

2017-04-18 23:16:25 10631

1.su命令

su 命令的主要作用是讓你可以在已登錄的會話中切換到另外一個用戶。換句話說,這個工具可以讓你在不登出當前用戶的情況下登錄為另外一個用戶。

su 命令經常被用于切換到超級用戶或 root 用戶(因為在命令行下工作,經常需要 root 權限),但是 - 正如前面所提到的  su 命令也可以用于切換到任意非 root 用戶。

如何使用 su 命令切換到 root 用戶

$su
password:

2.sudo和su命令

兩個命令的最大區別是:sudo 命令需要輸入當前用戶的密碼,su 命令需要輸入 root 用戶的密碼。

很明顯,就安全而言,sudo 命令更好。例如,考慮到需要 root 訪問權限的多用戶使用的計算機。在這種情況下,使用 su 意味著需要與其他用戶共享 root 用戶密碼,這顯然不是一種好習慣。

此外,如果要撤銷特定用戶的超級用戶/root 用戶的訪問權限,唯一的辦法就是更改 root 密碼,然后再告知所有其他用戶新的 root 密碼。

而使用 sudo 命令就不一樣了,你可以很好的處理以上的兩種情況。鑒于 sudo 命令要求輸入的是其他用戶自己的密碼,所以,不需要共享 root 密碼。同時,想要阻止特定用戶訪問 root 權限,只需要調整 sudoers 文件中的相應配置即可。

默認行為

兩個命令之間的另外一個區別是其默認行為。sudo 命令只允許使用提升的權限運行單個命令,而 su 命令會啟動一個新的 shell,同時允許使用 root 權限運行盡可能多的命令,直到明確退出登錄。

因此,su 命令的默認行為是有風險的,因為用戶很有可能會忘記他們正在以 root 用戶身份進行工作,于是,無意中做出了一些不可恢復的更改(例如:對錯誤的目錄運行 rm -rf 命令!)。關于為什么不鼓勵以 root 用戶身份進行工作的詳細內容,請參考這里。

日志記錄

盡管 sudo 命令是以目標用戶(默認情況下是 root 用戶)的身份執行命令,但是它們會使用 sudoer 所配置的用戶名來記錄是誰執行命令。而 su 命令是無法直接跟蹤記錄用戶切換到 root 用戶之后執行了什么操作。

靈活性

sudo 命令比 su 命令靈活很多,因為你甚至可以限制 sudo 用戶可以訪問哪些命令。換句話說,用戶通過 sudo 命令只能訪問他們工作需要的命令。而 su 命令讓用戶有權限做任何事情。

sudo su

大概是因為使用 su 命令或直接以 root 用戶身份登錄有風險,所以,一些 Linux 發行版(如 Ubuntu)默認禁用 root 用戶帳戶。鼓勵用戶在需要 root 權限時使用 sudo 命令。

然而,您還是可以成功執行 su 命令,而不用輸入 root 用戶的密碼。運行以下命令:

sudo su

由于使用 sudo 運行命令,你只需要輸入當前用戶的密碼。所以,一旦完成操作,su 命令將會以 root 用戶身份運行,這意味著它不會再要求輸入任何密碼。

PS:如果你想在系統中啟用 root 用戶帳戶(強烈反對,因為你可以使用 sudo 命令或 sudo su 命令),你必須手動設置 root 用戶密碼,可以使用以下命令:

sudo passwd root


提交成功!非常感謝您的反饋,我們會繼續努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務,我們很需要您進一步的反饋信息:

在文檔使用中是否遇到以下問題: