| 目标 | 命令示例 | 说明 |
|---|---|---|
| 创建用户并建家目录 | sudo useradd -m alice |
同时创建同名主组与 /home/alice |
| 创建系统账号 | sudo useradd -r appsvc |
用于服务,通常不建家目录 |
| 设置/修改密码 | sudo passwd alice |
交互设置口令 |
| 修改用户属性 | sudo usermod -aG devops alice |
将用户追加到 devops 附加组 |
| 修改登录 Shell | sudo usermod -s /sbin/nologin bob |
禁止交互登录(常用于服务账号) |
| 创建组 | sudo groupadd devops |
新建用户组 |
| 删除用户 | sudo userdel -r alice |
同时删除家目录与邮件假脱机文件 |
| 删除组 | sudo groupdel devops |
删除不再使用的组 |
id、groupspasswd -S alicesudo passwd -l alice、sudo passwd -u alicecat /etc/passwd | awk -F: '$3 == 0 {print $1,$3}'(排查多余 UID 0 账户)chmod 755 /opt/app(目录常用 755;文件常用 644)sudo chown alice:devops /opt/app;递归:sudo chown -R alice:devops /opt/appsudo chgrp devops /opt/appumask(如 umask 022 表示新建文件默认不含组与其他写权限)chmod u+s /usr/bin/sudo、chmod g+s /var/wwwchmod +t /tmpsudo usermod -aG wheel alicegroups alice 或 sudo -lalice ALL=(ALL) ALLalice ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx, /usr/bin/backup.shalice ALL=(appuser) /usr/bin/systemctl status myappPASS_MIN_LEN 10 等sudo awk -F: '($2 == "" || $2 == "!") {print $1}' /etc/shadowsudo chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow(变更前务必评估维护影响)sudo passwd alicesudo chage -m 2 -M 30 -W 7 alice(最小间隔 2 天、最大 30 天、过期前 7 天提醒)sudo dnf install -y audit && sudo systemctl enable --now auditdsudo auditctl -w /var/www -p wa -k web_data_access(持久化需写入规则文件)sudo dnf update;可配置 dnf-automatic 自动安装安全更新