目录
一、账号安全控制
1.1 系统账号
1.1.1 将非登录用户设为无法登录
在Linux中,无法登陆的用户比较特殊,所谓“无法登陆”指的仅是这个用户无法使用bash或其他shell来登陆系统而已,并不是说这个账号就无法使用系统资源。一般程序用户就不用登录系统,而可以使用系统资源。
usermod -s /sbin/nologin 用户名
或
chsh -s /sbin/nologin 用户名
这两个命令均可以修改用户的登录shell
1.1.2 锁定用户
具体方法:
usermod -L 用户名 #锁定账号
usermod -U 用户名 #解锁账号
passwd -l 用户名 #锁定账号
passwd -u 用户名 #解锁账号
1.1.3 删除用户
具体方式:
userdel -r 用户名
#-r选项可以同时删除用户的家目录,防止后续创建同名用户导致的错误
1.1.4 锁定配置文件
由于直接修改/etc/passwd以及/etc/shadow文件过于危险所以可以锁定配置文件来防止随意修改
具体方式:
chattr +i /etc/passwd /etc/shadow # +i选项可以让文件处于只读状态,不可被删除修改等
chattr -i /etc/passwd #-I即为去除I属性
lsattr /etc/passwd #可以查看配置文件的属性权限
chattr有两个属性:-a 让文件或目录只可以被追加; -i 让文件只可被读
1.2 密码安全
1.2.1 对于新建用户的密码规则
在/etc/login.defs中可以看到对于新建用户的密码规则
[root@localhost ~]# vim /etc/login.defs
#适用于修改后生效后修改的用户
...
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
[root@localhost ~]# tail -5 /etc/shadow
#修改密码有效期限
PASS_MAX_DAYS #密码最大有效天数
PASS_MIN_DAYS #修改一次密码最少间隔天数
PASS_MIN_LEN #密码最小长度
PASS_WARN_AGE #密码过期前多少天提醒
1.2.1 对于已存在用户的密码规则
chage [选项] 用户名
-m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M:密码保持有效的最大天数。
-w:用户密码到期前,提前收到警告信息的天数。
-E:帐号到期的日期。过了这天,此帐号将不可用。
-d:上一次更改的日期。
-i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
chage -d 0 zhangsan
#强制张三下一次登录一定修改密码(密码需符