Ubuntu 預設停用 root 登入,改以 sudo 機制授權管理權限。本文說明啟用 root、切換身分與 sudo 進階配置。
sudo passwd root
# 輸入目前使用者密碼,再設定 root 密碼兩次
su - # 載入 root 完整環境(建議)
su # 僅切換身分,保留原環境
提示符從 $ 變為 # 表示已取得 root 權限。
# 允許 wheel 群組免密碼執行所有指令
%wheel ALL=(ALL) NOPASSWD: ALL
# 特定使用者僅能執行特定指令
deploy ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx, /usr/bin/systemctl reload php-fpm
# 保留環境變數
Defaults env_keep += "http_proxy https_proxy no_proxy"
sudo -i 或 sudo -s 取得互動式 root shellPermitRootLogin no(/etc/ssh/sshd_config)/var/log/auth.log 或 journalctl -u sshd 監控提權行為sudo -v 更新時間戳,避免操作中途權限過期| 需求 | 指令 | 說明 |
|---|---|---|
| 單一指令提權 | sudo cmd | 輸入自身密碼,15 分鐘內免再輸入 |
| 互動式 root shell | sudo -i | 載入 root 環境變數、家目錄 |
| 保留目前環境 | sudo -s | 僅切換 shell,不載入 root profile |
| 以其他使用者身分執行 | sudo -u user cmd | 部署腳本常用 |
遵循「最小權限原則」,僅在必要時透過 sudo 取得提權,並透過日誌稽核所有管理操作,是 Linux 安全維運的核心守則。