Ubuntu 預設僅允許安裝時建立的第一個使用者透過 sudo 提權,後續新增的使用者若出現 user is not in the sudoers file. This incident will be reported.,即表示該帳號缺少提權授權。本文提供 visudo 編輯 與 usermod 兩種標準解法,並說明常見誤區。
sudo apt update
# 輸出:user is not in the sudoers file. This incident will be reported.
/etc/sudoers(推薦)sudo visudo
# User privilege specification 區塊下新增一行:username ALL=(ALL:ALL) ALL
username:目標使用者帳號ALL=(ALL:ALL) ALL:允許在所有主機、以所有身分、執行所有指令sudo 群組(更簡潔)sudo usermod -aG sudo username
# 或
sudo gpasswd -a username sudo
-aG:附加群組(不移除原有群組)Ubuntu /etc/sudoers 預設已包含:
%sudo ALL=(ALL:ALL) ALL
故加入 sudo 群組即自動獲得完整提權權限。
# 以目標使用者身分
sudo -l
# 輸出應包含 (ALL:ALL) ALL
sudo whoami
# 輸出 root
| 錯誤做法 | 後果 | 正確做法 |
|---|---|---|
直接用 vim /etc/sudoers 編輯 | 語法錯誤導致所有 sudo 失效,需進單用戶模式修復 | 務必用 visudo |
刪除或註解預設 root ALL=(ALL:ALL) ALL | root 也無法 sudo,系統癱瘓 | 保留預設行,僅新增 |
使用 usermod -G sudo username(缺 -a) | 移除使用者所有其他群組,可能導致登入失敗 | 必須加 -a 附加 |
| 以目標使用者自己嘗試修改 sudoers | 無權限執行 visudo | 需由既有 sudo 使用者或 root 操作 |
linux 行尾加 init=/bin/bash。mount -o remount,rw /。usermod -aG sudo username 或 visudo 修復。exec /sbin/init 重新啟動 init 系統。依循標準流程操作,即可安全、永久解決 sudo 權限缺失問題。
Linux 配置 Python 環境完整步驟(源碼編譯安裝 Python 2.7.3)
Linux 忘記 root 密碼?單用戶模式 / GRUB2 急救模式 重置全流程
Linux 環境變數 LANG 與 NLS_LANG 區別深度解析:系統語系 vs Oracle 客戶端語系
AIX 系統斷電後 HACMP 無法啟動:磁碟識別錯亂完整排查與修復實錄
at 指令單次排程教學:時間格式、atd 服務、常用參數、與 crontab 差異、實戰範例
Linux 修改 IP 位址完整指令集:即時生效 vs 永久生效、NetworkManager/nmcli 現代做法