Linux sudo 和 su 的區別:用途、工作方式與安全性比較


sudosu 是兩個常用的 Linux 命令,它們都與提升權限有關,但用途和行為有所不同。

sudo

  • 用途:以其他用戶(通常是 root)的身份執行單個命令。
  • 工作方式sudo 會提示當前用戶輸入自己的密碼(而不是 root 的密碼)。這樣可以讓授權用戶暫時提升權限來執行特定命令,而不需要知道 root 密碼。
  • 例子sudo apt update 會以 root 權限執行 apt update 命令。
  • 安全性sudo 通常與 /etc/sudoers 文件配合使用,該文件定義了哪些用戶有權使用 sudo 以及可以執行哪些命令。這有助於控制權限和審計命令的使用情況。

su

  • 用途:切換到其他用戶的身份,通常是 root。
  • 工作方式su 會提示當前用戶輸入目標用戶(通常是 root)的密碼。成功後,會啟動一個新的 shell,該 shell 的權限與目標用戶相同。
  • 例子su 會提示輸入 root 密碼,然後切換到 root 用戶的 shell。su username 會切換到指定用戶的 shell。
  • 安全性:使用 su 時需要知道目標用戶的密碼,這意味著需要與其他用戶共享密碼,這在某些情況下可能不太安全。

總結

  • sudo:執行單個命令時提升權限,使用當前用戶的密碼,適合授權有限的特定命令。
  • su:切換用戶身份(通常是 root),使用目標用戶的密碼,適合需要長時間以不同用戶身份運行的情況。

sudo 提供了更細緻的權限控制和審計功能,因此在多用戶系統中通常更受推薦。而 su 則適合需要完全切換到其他用戶環境的情況。


WordPress Appliance - Powered by TurnKey Linux