用户管理总结:
useradd 添加用户 -g -u -c -s -d -G -D -M
userdel 删除用户 -r
usermod 修改用户
groupadd 添加用户组
groupswl 删除组
passwd 修改密码 --stdin
chage 修改用户密码有效期限 -l 查看过期时间
su 切换用户角色 -c
sudo 普通用户拥有root或者其他用户的权限
visudo 编辑sudo配置文件的
groups
newgrp
id 查看用户身份的
w who last lastlog whoami
----------------------------------------------------------------------------------
项目需求
我们既希望超级用户root密码掌握在少数人手里,并且让普通员工能够完成更多更复杂的自身职能相关工作
最小化:1)安装软件最小化。2)目录文件权限最小化。3)用户权限最小化。4)程序运行权限最小化
那么我们就需要用sudo管理来代替或结合su命令来完成。
具体实现
根据不同部门的不同职能开放相关权限
实施方案
积极主动发现问题,写好方案自己写文档
信息采集
得到老大认可,然后汇总讨论,归类权限汇总上报
以后的相关人员都需要上交员工权限申请,通过申请流程
做好操作说明,对各个部门进行操作讲解
具体步骤:
把需求一样的用户先分到一个组,然后给组定义别名比如初级运维,
然后将所需要的命令添加别名最后在visudo里设置,注意比较高级的人员可能会要求不需要密码NOPASSWD:ALL
**注意**
别名用大写、命令要用全路径、超过一行用换行、用白名单机制尽量不用黑名单
除了权限限制外,用户有效时间和密码有效日期也可以辅助限制
sudo配置注意事项****超级有用****
a)命令别名下的成员必须是文件或目录的绝对路径。
b)别名名称是包含大写字母、数字、下滑线,如果是字母都要大写。
c)一个别名下有多个成员,成员与成员之间,通过半角逗号分隔;成员必须是有效实际存在的
d)别名成员受别名类型制约,Host_Alias主机别名,User_Alias用户别名,Runas_Alias以什么身份执行命令别名,Cmnd_Alias授权命令别名
e)别名规则是每行算一个规则,如果一个别名规则一行容不下时,可以通过“”来续行
f)指定切换的用户要用()括起来,如果省略括号,则默认为root用户;如果括号里是ALL,则代表能切换到所有用户
g)如果不需要密码直接运行命令,应该加NOPASSWD:参数
h)禁止某类程序或命令执行,要在命令动作全面加“!”号,并且放在允许执行命令的后面。
i)用户组前面必须加%号。