深色模式
用户与用户组
摘要:生产环境禁止长期用 root。本文讲如何建普通运维账户、分组,并安全地赋予 sudo 权限。
一、创建用户与组
bash
sudo groupadd dev # 建组
sudo useradd -m -s /bin/bash -G dev ops2 # 建用户并加入 dev 组
sudo passwd ops2 # 设密码
id ops2 # 查看用户与所属组1
2
3
4
2
3
4
二、赋予 sudo 权限
bash
# 把用户加入 wheel 组(RHEL 系默认该组有 sudo)
sudo usermod -aG wheel ops2
# 或单独写 sudoers 文件(更安全、避免改坏主配置)
sudo visudo -f /etc/sudoers.d/ops2
# 文件内容:
# ops2 ALL=(ALL) NOPASSWD: /bin/systemctl restart nginx1
2
3
4
5
6
7
2
3
4
5
6
7
危险
永远用 visudo 编辑 sudoers,它会在保存时校验语法。直接改 /etc/sudoers 写错会导致所有人都无法 sudo,包括你自己。
三、其他常用
bash
sudo userdel -r ops2 # 删除用户并清家目录
sudo passwd -l ops2 # 锁定账户
getent passwd # 列出所有用户1
2
3
2
3
验证
- [ ] 新用户可登录
- [ ] 该用户在
wheel组(或 sudoers.d 配置生效) - [ ]
sudo -l能看到被授权的命令
常见坑
- useradd 没 -m:家目录没建出来,登录异常。
- -G 覆盖组:用
usermod -aG(追加)而非-G(替换),否则会踢出其它组。 - NOPASSWD 太宽:只给需要的命令,别图省事给
ALL。