LinuxMastery By asdlkfj

LinuxMastery 05: 使用者管理 useradd, passwd, usermod

多人多工的基礎

Linux 是為多使用者設計的系統。作為系統管理員,你需要建立帳號給開發人員、資料庫管理員,甚至是給服務 (Service Account) 使用。正確的使用者管理能確保每個人只能存取他該存取的資源,實現權限隔離。

核心指令詳解

  1. useradd

    • 用途:建立新使用者。
    • 常用參數
      • -m:自動建立使用者的家目錄 (/home/username)。
      • -s:指定使用者的 Shell (通常是 /bin/bash)。
      • -G:將使用者加入額外的群組 (如 wheelsudo 以獲得管理員權限)。
    • 範例
      # 建立一個名為 hank 的使用者,使用 bash,並加入 sudo 群組
      useradd -m -s /bin/bash -G sudo hank
      
  2. passwd

    • 用途:設定或修改密碼。
    • 範例
      passwd hank
      # 系統會提示輸入兩次新密碼
      
    • 鎖定帳號passwd -l hank 可以暫時鎖定該帳號無法登入,適合員工離職後的處理。
  3. usermod

    • 用途:修改現有使用者的屬性。
    • 範例
      # 將現有使用者 hank 加入 docker 群組 (讓他可以執行 docker 指令)
      usermod -aG docker hank
      
      注意:-a (append) 非常重要!如果只用 -G 而沒有 -a,會把該使用者從原本的其他群組中踢除,只保留新群組,這可能會導致權限災難。

實戰心法

永遠不要讓多人共用一個帳號 (尤其是 root)。共用帳號意味著無法稽核 (Audit),當系統被誤刪檔案時,你無法知道是誰做的。正確的做法是每個人擁有自己的帳號,並透過 sudo 來執行特權指令,這樣在 /var/log/secure/var/log/auth.log 中就會留下清楚的操作紀錄。