前言
一、账号安全控制
1.1 系统账号清理
系统账号信息和系统密码信息分别在 /etc/passwd
和 /etc/shadow
中,新增用户信息就是在这两个文件中末尾加一行。
比如我用 useradd zhangsan
、passwd zhangsan 123456
创建 zhangsan 用户 并且 设置密码,此时 zhangsan 默认是可登录系统的。
1.1.1 禁止用户登录系统
执行命令查看用户登录Shell信息:cat /etc/passwd | grep zhangsan
,查看最后一个字段,如果是 /bin/bash
为可登录系统,/sbin/nologin
和 /bin/false
为禁止用户登录系统。
如果想让 zhangsan 禁止用户登陆系统,需要 用管理员 root 账号,执行 usermod -s /sbin/nologin zhangsan
即可。
如果想让 用户登陆系统,需要 用管理员 root 账号,执行 usermod -s /bin/bash 用户名
改回即可。
1.1.2 锁定用户账号
方法一 :
锁定:usermod -L 用户名
解锁:usermod -U 用户名
查询账号状态:passwd -S 用户名
方法二 :
锁定:passwd -l 用户名
解锁:passwd -u 用户名
1.1.3 删除无用的账号
userdel -r 用户名
1.1.4 锁定账号文件 chattr
命令格式 :chattr [选项] 文件夹
作用:修改文件在 Linux 第二扩展文件系统(E2fs)上的特有属性
操作符:
+
: 用来 增加 文件上的选定的属性;-
: 用来 去掉 文件上的选定的属性;=
: 用来 指定 该文件的唯一属性.- 设置了
‘ i '
属性的文件不能进行修改、不能删除、不能重新命名、不能创建链接、不能写入任何数据,只有超级用户可以设置或清除该属性。
/etc/passwd、/etc/shadow 这两个文件保存重要的用户信息,就算使用 root 用户也不能随意地修改,为了保护这两个文件不被修改,可以使用 chattr 命令锁定这两个文件,多个文件空号隔开。
锁定文件: chattr +i /etc/passwd /etc/shadow
查看文件状态: lsattr /etc/passwd
解锁文件:chattr -i /etc/passwd /etc/shadow
示例:锁定修改密码文件后,用户 新增用户、修改密码、进入 vim 编辑界面进行编辑 操作不了,会显示鉴定令牌操作错误等信息。
1.2 密码安全控制
用户账号密码信息保存在 /etc/shadow
文件中。
每条记录字段信息:
字段3:上次修改密码的时间;
字段4:密码的最短有效天数,默认值为 0,表示不进行限制;
字段5:密码的最长有效天数(过期天数),默认值为 99999,表示永不过期;
字段6:提前多少天警告用户密码将过期,默认值为 7;
字段7:在密码过期之后多少天禁用此用户;
字段8:帐号失效时间,默认值为空,表示账号永久可用。
1.2.1 设置密码有效期 chage 、/login.defs
方法一:chage 命令,适用于已存在用户
命令格式:chage -M 天数 用户
作用:管理密码失效配置,实际上修改的是 /etc/shasow
中的第五个字段。
选项 | 功能 |
---|---|
-d | 上一次更改的日期 |
-M | 密码保持有效的最大天数。 |
-l | 查看当前的设置 |
-W | 用户密码到期前,提前收到警告信息的天数。 |
-E | 帐号到期的日期。过了这天,此帐号将不可用。 |
如:
chage -M 30 zhangsan #设置张三的 密码有效期为30天,实际修改的是第5字段
#强制用户修改密码
chage -d 0 zhangsan
#强制要求用户下次登录时修改密码,实际修改的是第3字段为0
#当第3字段为0时,会影响到第5字段,即自本次修改密码后,经过0天以后必须再次修改密码
#