在 Linux 中,su account 和 su - account 有以下主要差別

2024-07-04 工作雜記 linux

su account

  1. 保持當前環境:su account 切換到 account 用戶時,會保留當前用戶的環境變量和當前目錄。
  2. 不會加載 account 用戶的環境配置:這意味著 account 用戶的 .bash_profile 或 .profile 等配置文件不會被執行。
  3. 當前目錄不變:切換到 account 用戶後,會保持在切換前的目錄。

su - account

  1. 模擬完整登錄:su - account 切換到 account 用戶時,會模擬完整的登錄過程,就像 account 用戶剛剛通過 SSH 或登入界面登錄一樣。
  2. 加載 account 用戶的環境配置:account 用戶的 .bash_profile 或 .profile 等配置文件會被執行,設置該用戶的環境變量。
  3. 切換到用戶的主目錄:切換到 account 用戶後,會自動進入該用戶的主目錄(通常是 /home/account)。