sudo -i
用於在 Linux 系統中以 root 用戶的身份啟動一個新的登入 shell。這與 su -
類似,目的是提供一個完整的 root 環境。以下是詳細用途和說明:
sudo -i
的用途與說明
- 啟動 root shell:
- 當執行
sudo -i
時,會啟動一個新的 shell,並以 root 用戶的身份運行,這與直接以 root 用戶登入的效果相同。 - 命令格式:
sudo -i
- 完全 root 環境:
sudo -i
提供了一個完整的 root 環境,包括 root 用戶的環境變數和初始目錄(通常是/root
),而不僅僅是提升命令的權限。- 這與執行單個命令的
sudo command
不同,後者只提升特定命令的權限。
- 安全性:
sudo -i
需要當前用戶有權使用sudo
命令,並且會提示輸入當前用戶的密碼,而不是 root 的密碼。- 這有助於控制和審計誰有權限以 root 身份運行命令,而不需要與其他用戶共享 root 密碼。
- 與
su -
的比較:
su -
也會啟動一個新的 root shell,但需要知道並輸入 root 密碼。sudo -i
通常被認為是更安全的做法,因為它不需要共享 root 密碼,而是依賴於sudo
配置文件中的權限設置。
使用範例
$ sudo -i
[sudo] password for user:
root@hostname:~#
以上命令執行後,提示輸入當前用戶的密碼,然後啟動一個 root shell,提示符也會變為 root 用戶的提示符。