linux的账号安全防护
1.账号安全控制:
锁定/解锁账户
passwd -l 用户名 / usermod -L 用户名 锁定账户
passwd -u 用户名 / usermod -U 用户名 解锁账户
把账号设置为非登录用户
usermod -s /sbin/nologin 用户名
删除无用的账号
userdel -r 用户名
2.密码的安全控制
从密码的有效期进行控制
新建用户的密码有效期控制
对已有用户的密码有效期进行修改
chage -M 30 用户名
3.锁定重要文件
查看文件状态:lsattr /etc/passwd
锁定文件:chattr +i /etc/shadow
取消锁定:chattr -i /etc/shadow
4.历史命令进行限制
临时清楚历史记录
[root@localhost ~]# history -c
修改当前历史的命令条数
[root@localhost ~]# vim /etc/profile
设置登录超时时间
[root@localhost ~]# vim /etc/profile
[root@localhost ~]# source /etc/profile
5.禁止用户进行账号切换
su切换靠的就是PAM认证
wheel组的作用就是用来控制系统管理员的访问权限
一旦加入wheel组,可以被授权使用一些系统管理员才能够使用的访问命令文件
sudo授权必须要加入wheel,还需要其它配置。
wheel组默认为空,需要管理员手动添加用户。配置响应的sudo访问规则。配置的时候一样要注意:有限放开原则
编辑配置文件
[root@localhost ~]# vim /etc/pam.d/su
取消注释
root可以su到dym但dym是su不到root
[root@localhost ~]# gpasswd -a dym wheel
将用户dym放入wheel组中,加入wheel组,dym用户才可以切换
PAM安全认证
提供了一种标准的身份认证的接口,允许管理员定制化。
配置各种认证方式和方法。
可插拔式的认证模式。
PAM的认证模块有四个不同的类型
认证模块:用于验证用户的身份。基于密码来对用户身份进行验证。
授权模块:控制用户对于系统资源的访问权限,文件权限,进程权限等。
账户管理模块:管理用户的账户信息,密码策略,账户锁定策略。
会话管理模块:管理用户的会话,记录会话信息,注销用户会话,远程终端连接。
第一列:type类型 第二列:控制位 第三列:PAM模块
type类型:
auth:用户身份认证(基于密码)
account:账户有效性,限制/允许用户访问某个服务,限制用户的登录位置。
(例如:root用户只能从控制台登录,必须要输入账号密码)
password:用户修改密码时,对密码的机制进行校验
session:会话控制,最多能打开的文件数,最多能够打开的进程数
控制位:
required:一票否决。这个模块在认证中,必须是返回成功才能通过认证,但是如果认证返回失败,失败结果不会通知用户,所有type中的模块全部认证完毕,最后再把结果反馈给用户。
requisite:一票否决。必须返回成功才能够通过认证,一旦返回失败。不会再向下执行其他模块直接结束。
sufficient:一票通过。返回成功表示通过了身份认证的要求,不会再执行同一类型的相同模块。如果返回失败忽略,继续执行同一类型中的其他模块。
sudo机制:
sudo授权普通用户可以使用管理员的命令和文件
将用户加入到wheel组