目录
一、账号安全
1、系统账号清理
将非登录用户的Shell设为/sbin/nologin
锁定长期不使用的账号
passwd -l 用户 #锁定(lock)
usermod -L 用户
passwd -u 用户 #解锁(unlock)
usermod -U 用户
删除无用或长期无人使用的账号
[root@localhost ~]# vim /etc/passwd #进入后设置/sbin/nologin
锁定账号文件passwd、shadow
[root@localhost ~]# chattr +i /etc/passwd /etc/shadow #锁定账号文件
[root@localhost ~]# chattr -i /etc/passwd /etc/shadow #解锁账号文件
[root@localhost ~]# lsattr /etc/passwd /etc/shadow #查看文件状态
----i----------- /etc/passwd
----i----------- /etc/shadow
[root@localhost ~]# useradd zs3 #账号文件被锁定,无法创建编辑
useradd:无法打开 /etc/passwd
2、密码安全
密码有效期
[root@localhost ~]# vim /etc/login.defs #对后建用户设置密码失效期
PASS_MAX_DAYS 天数
[root@localhost ~]# useradd zs2
[root@localhost ~]# chage -l zs2
最近一次密码修改时间 :8月 10, 2021
密码过期时间 :9月 9, 2021
密码失效时间 :从不
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :0
两次改变密码之间相距的最大天数 :30
密码过期警告 :5
root@localhost ~]# chage -l zs1
最近一次密码修改时间 :8月 8, 2021
密码过期时间 :从不
密码失效时间 :从不
帐户过期时间 :8月 10, 2021
两次改变密码之间相距的最小天数 :0
两次改变密码之间相距的最大天数 :99999
密码过期警告 :5
[root@localhost ~]# chage -M 30 zs1 #对已有用户设置密码有效期
[root@localhost ~]# chage -l zs1
最近一次密码修改时间 :8月 8, 2021
密码过期时间 :9月 9, 2021
密码失效时间 :从不
帐户过期时间 :8月 10, 2021
两次改变密码之间相距的最小天数 :0
两次改变密码之间相距的最大天数 :30
密码过期警告 :5
要求用户下次登录时修改密码
[root@localhost ~]# chage -d 0 zs1 #强制设置于下次登录修改密码
[root@localhost ~]# chage -d 9999999999 zs1 #取消设置于下次登录修改密码
二、用户切换和提权
1、su命令
用途:Subsititute User 用户
格式:su -用户
密码验证
root—不需要验证密码
普通用户—验证目标用户密码
2、sudo提权
sudo命令基本信息
文件位置: /etc/sudoers
用途:以其他用户身份(如root)执行授权的命令
用法:sudo 授权命令
语法格式:
用户 主机名=命令程序列表
用户 主机名=(用户)命令程序列表
[ly1@localhost root]$ useradd zs5 #新建用户
bash: /usr/sbin/useradd: 权限不够
[root@localhost ~]# visudo
zs1 localhost=/usr/sbin/useradd
[ly1@localhost root]$ sudo useradd zs5 #新建用户成功
sudo [参数选项] 命令
-l 列出用户在主机上可用的和被禁止的命令;一般配置好/etc/sudoers后,要用这个命令来查看和测试是不是配置正确的;
-v 验证用户的时间戳;如果用户运行sudo 后,输入用户的密码后,在短时间内可以不用输入口令来直接进行sudo 操作;用-v 可以跟踪最新的时间戳;
-u 指定以以某个用户执行特定操作;
-k 删除时间戳,下一个sudo 命令要求用求提供密码;
启用sudo操作日志
sudo日志记录以备管理员查看,可以从/var/log/sudo 文件中看到用户的 sudo 操作记录
另外一个方法是/var/log/secure 日志可查看到sudo操作用户步骤