Linux 用戶認證與授權的基石是四大系統文件:/etc/passwd、/etc/shadow、/etc/group、/etc/gshadow。本文系統拆解每個文件的**字段含義、編碼規則、特殊標記**、配套維護命令(useradd/usermod/userdel、groupadd/groupmod/groupdel、passwd/gpasswd/chfn/chsh)、查詢命令(id/whoami/su/groups)、臨時禁用帳號技巧,並給出生產環境安全加固清單。
用戶名:密碼佔位符:UID:GID:GECOS(描述):家目錄:登錄Shell
root:x:0:0:root:/root:/bin/bash
x 表示密碼在 /etc/shadow,早期系統存加密密碼於此。Mxy8 → 最大周數/最小周數/最後修改時間(base64 編碼),現已由 shadow 替代。用戶名:加密密碼:最後修改天數(1970起):最小間隔:最大有效:警告天數:失效後禁用天數:絕對過期天數:保留
root:$6$salt$hash:19000:0:99999:7:::
!/* 表示鎖定/無密碼登錄。chage -l user 可查看人類可讀日期。組名:密碼佔位符:GID:成員列表(逗號分隔)
wheel:x:10:user1,user2
x 或空。/etc/passwd GID 決定。組名:加密密碼:管理員列表:成員列表
wheel:!:root:user1,user2
vipw / vipw -s:鎖定文件、啟動編輯器、語法檢查後寫入,防止並發衝突。vigr / vigr -s:同理編輯 group/gshadow。pwck:檢查 passwd/shadow 完整性(格式、UID/GID 衝突、目錄存在性、Shell 合法性)。grpck:檢查 group/gshadow 完整性。useradd -c "Full Name" -d /home/user -g users -G wheel,docker \
-s /bin/bash -u 2000 -m user
# -m 創建家目錄並複製 /etc/skel
# -n 不創建同名組 (RHEL 默認創建)
usermod -l newname oldname # 修改用戶名 (需用戶未登錄)
usermod -L/-U user # 鎖定/解鎖密碼 (前綴 !)
usermod -aG docker user # 追加附加組 (-a 關鍵,否則覆蓋)
userdel -r user # 遞歸刪除家目錄與郵件卷
groupadd -g 2000 projectA
groupmod -n newname oldname
groupmod -g 3000 projectA
groupdel projectA
passwd -l/-u user # 鎖定/解鎖
passwd -x 90 -n 7 -w 14 user # 最大/最小/警告天數
gpasswd group # 設置組密碼
chfn -f "Real Name" user # 修改 GECOS
chsh -s /bin/zsh user # 修改登錄 Shell
id -u/-g/-G user # UID/GID/所有組
whoami # 當前有效用戶名
su - user # 登錄式切換 (環境變量重置)
su -c "cmd" user # 執行單命令
groups user # 顯示用戶組
mkdir -p /usr/local/lib/no-login
cat > /usr/local/lib/no-login/deny <<'EOF'
#!/bin/bash
echo "This account has been disabled."
echo "Contact admin: 139-9509-6098"
exit 1
EOF
chmod 755 /usr/local/lib/no-login/deny
chsh -s /usr/local/lib/no-login/deny username
# 登錄時顯示提示並退出,保留所有文件與權限
PermitRootLogin no (sshd_config)pam_pwquality.so (minlen=12, dcredit=-1, ucredit=-1, ocredit=-1, lcredit=-1)PASS_MAX_DAYS 90、PASS_MIN_DAYS 7、PASS_WARN_AGE 14 (/etc/login.defs)usermod -L 或 chage -E $(date -d '+90 days' +%Y-%m-%d) userauditctl -w /etc/passwd -p wa -k passwd_chgpwck && grpck 修復不一致。四大文件是 Linux 身份體系的「戶口本」。熟練掌握字段含義、標準化維護命令、安全加固基線,能讓用戶生命週期管理從「手工踩坑」轉變為「合規自動化」,為審計合規與入侵防禦築牢第一道防線。
Linux 裝置模型核心基石:kobject、kset、ktype 與 sysfs 關係圖解
Linux ifconfig 指令完整解析:網卡設定、IP 配置、MAC 修改、多網卡管理實戰
Linux Makefile 與 make 命令詳解:自動化構建核心工作流
聯想 CES 2010 亮相 Linux/Windows「二合一」混合筆電:雙核心、雙系統、無縫切換的創新形態
CentOS 核心服務管理速查:Apache、VNC、MySQL、Nginx 啟動/重啟/停止指令大全
Linux 安裝 Go 語言完整指南:套件管理器與官方二進位雙軌並行