/etc/passwd(用戶資訊)、/etc/shadow(加密密碼)、/etc/group(群組資訊)、/etc/gshadow(群組密碼)。# 推薦:互動式建立(自動建家目錄、複製 /etc/skel、提示設密碼)
adduser devuser
# 或非互動式(腳本適用)
useradd -m -s /bin/bash -c "Developer" devuser
echo "devuser:StrongPass123" | chpasswd
常用參數:
| 參數 | 說明 |
|---|---|
-m | 建立家目錄 |
-d | 指定家目錄路徑 |
-s | 指定登入 Shell |
-g | 指定主群組(GID 或名稱) |
-G | 指定附屬群組(逗號分隔) |
-u | 指定 UID |
-r | 建立系統用戶(無家目錄、UID < 1000) |
# 修改登入 Shell
usermod -s /bin/zsh devuser
# 追加附屬群組(-a 必須配合 -G,否則會覆蓋)
usermod -aG docker,dev devuser
# 鎖定/解鎖帳號(禁止/允許密碼登入)
usermod -L devuser # 在 /etc/shadow 密碼前加 !
usermod -U devuser
# 修改 UID(謹慎操作,需同步 chown 家目錄)
usermod -u 2000 devuser
# 僅刪除帳號,保留家目錄
userdel devuser
# 連同家目錄與郵件佇列一併刪除
userdel -r devuser
# 強制刪除(即使用戶仍在線上)
userdel -f devuser
# 設定密碼
passwd devuser
# 強制下次登入修改密碼
chage -d 0 devuser
# 設定密碼有效期 90 天、提前 7 天警告
chage -M 90 -W 7 devuser
# 查看密碼狀態
chage -l devuser
# 新增群組
groupadd devteam
# 指定 GID
groupadd -g 2000 devteam
# 刪除群組
groupdel devteam
# 修改群組名稱/GID
groupmod -n newname oldname
groupmod -g 3000 devteam
# 將用戶加入群組(推薦 gpasswd,語意清晰)
gpasswd -a devuser devteam
# 從群組移除用戶
gpasswd -d devuser devteam
# 設定群組管理員(可用 gpasswd -A 管理成員)
gpasswd -A adminuser devteam
# 查看用戶詳細資訊(UID、GID、群組列表)
id devuser
# 列出用戶所屬群組
groups devuser
# 查看線上用戶
who
w
# 查看登入歷史
last
lastb # 失敗嘗試
# 檢查用戶/群組檔案完整性
pwck
grpck
# users.txt 格式:username:password:uid:gid:comment:home:shell
newusers users.txt
# 以目標用戶身分執行單一命令
sudo -u devuser whoami
# 取得完整登入環境
sudo -iu devuser
# su 切換(需目標用戶密碼或 root 權限)
su - devuser
編輯 /etc/ssh/sshd_config:
Match Group sftponly
ChrootDirectory %h
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
將用戶加入 sftponly 群組,設定家目錄擁有者為 root、權限 755。
| 項目 | 建議配置 |
|---|---|
| Root 遠端登入 | PermitRootLogin no (SSH) |
| 空密碼帳號 | awk -F: '($2==""){print $1}' /etc/shadow → 立即鎖定 |
| 密碼複雜度 | 配置 /etc/security/pwquality.conf (minlen=12, minclass=3) |
| 登入失敗鎖定 | 配置 /etc/pam.d/system-auth + pam_faillock.so |
| 定期審計 | 每月檢視 /etc/passwd、/etc/group、lastlog |
用戶與群組管理是 Linux 安全的基石。熟練掌握 useradd/usermod/userdel、groupadd/gpasswd 等工具,結合 chage、pwck、sudo 等輔助機制,能構建清晰、可審計、最小權限的存取控制體系。