賬戶類型
| 類型 | UID 範圍 | 說明 |
| 超級用戶 | 0 | root,擁有最高權限 |
| 系統用戶 | 1-999 | 服務進程專用(nginx、mysql 等) |
| 普通用戶 | 1000+ | 人工登入操作 |
組類型
- 私有組:建用戶時未指定組,自動建立同名組,僅含該用戶
- 標準組:手動建立,可包含多用戶
- 主組/附加組:用戶登入後生效的為主組,
groups 顯示第一個為主組
核心配置文件
| 文件 | 權限 | 欄位說明 |
/etc/passwd | 644 | 用戶名:密碼佔位符(x):UID:GID:描述:家目錄:Shell |
/etc/shadow | 000 | 用戶名:加密密碼:最後修改日:最小間隔:最大間隔:警告天數:非活動天數:過期日:標誌 |
/etc/group | 644 | 組名:密碼佔位符:GID:成員列表(逗號分隔) |
/etc/gshadow | 000 | 組名:加密密碼:管理員:成員 |
用戶管理命令
| 操作 | 命令 | 常用參數 |
| 新增 | useradd | -m 建家目錄、-s 指定 Shell、-g 主組、-G 附加組、-u 指定 UID |
| 修改 | usermod | -l 改名、-d 改家目錄(需手動建)、-s 改 Shell、-L/U 鎖/解鎖、-aG 追加附加組 |
| 刪除 | userdel | -r 連同家目錄刪除 |
| 查看 | id、finger | id username 顯示 UID/GID/組 |
實戰範例
# 建立用戶 ltw,自動建家目錄,指定 bash
useradd -m -s /bin/bash ltw
# 修改登入名為 litingwei
usermod -l litingwei ltw
# 修改家目錄(先手動建目錄)
mkdir -p /home/litingwei
chown litingwei:litingwei /home/litingwei
usermod -d /home/litingwei litingwei
# 鎖定/解鎖密碼
usermod -L litingwei
usermod -U litingwei
組管理命令
| 操作 | 命令 | 參數 |
| 新增 | groupadd | -g 指定 GID |
| 修改 | groupmod | -g 改 GID、-n 改名 |
| 刪除 | groupdel | |
密碼與組成員維護
| 操作 | 命令 | 範例 |
| 設密碼 | passwd user | 交互式輸入 |
| 鎖/解鎖 | passwd -l/-u user | |
| 刪密碼 | passwd -d user | 禁用密碼登入 |
| 加入組 | gpasswd -a user group | |
| 移出組 | gpasswd -d user group | |
| 設組管理員 | gpasswd -A user group | 管理員可自行增減組員 |
切換身份與權限提升
su - user:完整登入環境(讀取對方 profile)
su user:保留當前環境
sudo cmd:以 root 執行單命令,受 /etc/sudoers 控制
visudo:安全編輯 sudoers,語法檢查
sudoers 關鍵配置
# 允許 user 執行所有命令無需密碼
user ALL=(ALL) NOPASSWD: ALL
# 僅允許重啟服務
user ALL=(ALL) /bin/systemctl restart nginx
# 組權限(% 開頭)
%devops ALL=(ALL) ALL
合理規劃用戶/組、最小權限原則、定期審計 /etc/passwd /etc/sudoers,是 Linux 安全基線。