Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Linux 賬號管理全攻略:從建立到刪除的完整生命週期操作指南

編輯:Linux 系統常見問題解答

一、新增用戶 useradd

核心參數速查

參數功能範例
-c註解/描述-c "Web Server Admin"
-d指定家目錄-d /data/web
-m自動建立家目錄並複製 /etc/skel標準用戶必加
-s登入 Shell-s /bin/bash 或 /sbin/nologin
-g初始主群組-g www
-G附加群組-G docker,deploy
-u指定 UID-u 2000
-r建立系統帳號(UID < 1000,無家目錄)-r -s /sbin/nologin
-e帳號過期日期-e 2025-12-31

實戰範例

# 建立標準開發帳號
useradd -m -s /bin/bash -c "Dev User" -G docker,wheel devuser
passwd devuser  # 互動式設定密碼

# 建立服務專用帳號(無登入權限)
useradd -r -s /sbin/nologin -d /var/lib/mysql -c "MySQL Server" mysql

預設值查看與修改

useradd -D  # 顯示當前預設值
# 修改預設值編輯 /etc/default/useradd

關鍵參考檔案:

  • /etc/login.defs:UID/GID 範圍、密碼老化策略、CREATE_HOME 等
  • /etc/skel/:新用戶家目錄模板(.bashrc、.profile 等)

二、修改用戶屬性

密碼管理 passwd

passwd username              # 互動式修改
echo "newpass" | passwd --stdin username  # 管道非互動式(腳本適用)
passwd -l username           # 鎖定帳號(/etc/shadow 第2欄加 !)
passwd -u username           # 解鎖
passwd -S username           # 顯示密碼狀態

帳號屬性調整 usermod

usermod -d /new/home -m user1      # 遷移家目錄並複製檔案
usermod -s /bin/zsh user1          # 變更 Shell
usermod -L user1                   # 鎖定密碼
usermod -U user1                   # 解鎖
usermod -aG docker user1           # 追加附加群組(-a 關鍵,否則覆蓋)
usermod -l newname oldname         # 重命名用戶(需配合 -d -m 遷移家目錄)

密碼老化策略 chage

chage -l user1           # 查看詳細老化資訊
chage -M 90 user1        # 密碼最長使用 90 天
chage -m 7 user1         # 密碼最短間隔 7 天
chage -W 14 user1        # 過期前 14 天警告
chage -E 2025-12-31 user1 # 帳號過期日

三、刪除用戶 userdel

userdel username        # 僅刪除帳號,保留家目錄
userdel -r username     # 連同家目錄、郵件佇列一併刪除(生產環境慎用)

四、查詢用戶資訊

指令用途
id [user]顯示 UID、GID、群組列表
groups [user]列出所屬群組(第一個為有效群組)
finger user顯示登入資訊、家目錄、Shell、GECOS
who / w查看當前登入用戶
last / lastlog歷史登入記錄

五、群組管理

groupadd -g 2000 devteam       # 建立群組指定 GID
groupmod -n newdev devteam     # 重命名群組
groupdel devteam               # 刪除群組(無成員時才能刪除)
gpasswd -a user1 devteam       # 加入群組
gpasswd -d user1 devteam       # 移出群組
newgrp devteam                 # 切換有效群組(臨時)

六、關鍵系統檔案速查

檔案權限說明
/etc/passwd644用戶基本資訊(7 欄位)
/etc/shadow000 / 600加密密碼與老化資訊(9 欄位),僅 root 可讀
/etc/group644群組資訊(4 欄位)
/etc/gshadow000 / 600群組密碼與管理員資訊

七、常見坑點避雷

  • UID/GID 衝突:跨伺服器掛載 NFS 時,必須統一 UID/GID 映射
  • 家目錄權限:chmod 700 /home/user,避免 SSH 金鑰認證失敗
  • 系統帳號登入:/sbin/nologin 或 /bin/false 防止互動登入
  • 刪除用戶殘留:find / -uid 1001 -ls 掃描孤兒檔案
Copyright © Windows教程網 All Rights Reserved