文章目录
所有实验均在虚拟机CentOS7.6下完成
本章主要从清理用户账号、锁定用户账号或账号配置文件、设置用户密码有效期限、设置历史命令清除、设置账号超时自动登出、结合PAM认证模块设置用户账号的切换su和提权sudo来提升系统的安全性。
一、账号安全控制
1.基本安全措施
(1)系统账号的清理
在Linux系统中,存在大量用户,除了超级用户root外,其他大量用户只是用来维护系统运作、启动或保持服务进程,为了系统安全,这些用户的登录Shell通常是/sbin/nologin,表示禁止终端登录,确保不被人改动。
有一部分用户是很少用到的,我们可以到/etc/passwd加“#”进行注释或使用usermod命令对用户进行锁定。
对用户进行注释
vi /etc/passwd
找到相应用户对他进行注释#
对用户进行锁定
usermod -L tom2 ##锁定账户
tail -10 /etc/shadow ##查看
passwd -S tom2 ##查看
当服务器中的用户账号已经固定,我们可以锁定账户配置文件
chattr +i /etc/passwd ##锁定配置文件
lsattr /etc/passwd ##查看锁定状态,-----i------这样的标志表示锁定
usreadd zhang ##创建用户,是创不了的
chattr -i /etc/passwd ##解锁
lsattr /etc/passwd ##查看解锁状态
(2)密码安全控制
在Linux系统中,为了降低密码暴露的风险,需要经常改密码;管理员可以在服务器上限制密码的最大有效天数,要求用户登录时修改密码,否则不能登录。
vi /etc/login.defs
PASS_MAX_DAYS 30 ##密码有效期30天
保存退出
此种方法修改完配置文件,下次新建用户时,用户密码最大有效天数为30天
chage -M 30 bely
此种方法可以对已有用户修改密码最大有效天数
chage -d 0 tom
强制要求用户下次登录时重设密码
(3)历史命令、自动注销
shell环境中的历史命令机制,记录用户命令操作过程,提供便利的同时,也暴露出安全威胁,只要找出历史命令文件,便可查看很多操作,甚至发现密码。
bash终端环境中,历史命令的记录条数由变量HISTSIZE控制,默认1000条。修改/etc/profile文件,可修改历史命令条数,可以影响系统中的所有用户。
vi /etc/profile
HISTSIZE=200