文章目录
一.基本安全措施
1.系统账号清理
1.将非登录用户的shell设为/sbin/nologin 来禁止用户登录
useradd -s /sbin/nologin zhangsan
2.锁定长期不适用的账号
usermod -L zhangsan // 锁定账户zhangsan
passwd -S zhangsan // 查看账户状态
zhangsan LK 2020-08-28 0 99999 7 -1 (Password locked.) //已被锁定
usermod -U zhangsan //解锁账户
passwd -S zhangsan
zhangsan PS 2020-08-28 0 99999 7 -1 (Password set, MD5 crypt.)
3.删除无用的账号
userdel zhangsan
4.锁定账号文件passwd ,shadow
chattr +i /etc/passwd /etc/shadow #锁定文件
lsattr /etc/passwd /etc/shadow #查看状态
chattr 命令的用法:
选项 | 用法 |
---|---|
+ | 在原有参数设定基础上,追加参数。(配合以下选项使用,不能单独使用) |
- | 在源有参数设定基础上,移除参数(配合以下选项使用,不能单独使用) |
= | 更新为指定参数设定(配合以下选项使用,不能单独使用) |
A | 文件或目录的atime 不可被修改,可以有效预防例如手提电脑磁盘I /0错误的发生。 |
S | 硬盘 I/O 同步选项,功能类似sync |
a | 即 compresse,设定文件是经过压缩后再存储,读取时需要经过自动解压操作。 |
d | 即 no dump ,设定文件不能成为dump 程序的备份目标 |
i | 设定文件不能被删除,改名,设定链接关系,同时不能写入或新增内容,i 参数对于文件系统的安全设置有很大帮助 |
j | 设定此参数使得当通过 mount 参数: data= ordered 或者 data = writeback 挂载的系统文件 |
例如:
[root@server1 ~]# chattr +i /etc/passwd /etc/shadow //锁定文件
[root@server1 ~]# lsattr /etc/passwd /etc/shadow // 查看为锁定的状态
----i----------- /etc/passwd
----i----------- /etc/shadow
[root@server1 ~]# useradd zhangsan //此时创建账户因为是锁定状态无法创建
useradd: cannot open /etc/passwd
[root@server1 ~]# passwd zhangsan // 修改密码也因无法打开文件而无法修改
passwd: Unknown user name 'zhangsan'.
[root@server1 ~]# chattr -i /etc/passwd /etc/shadow //解锁文件
[root@server1 ~]# lsattr /etc/passwd /etc/shadow //查看为解锁的状态
---------------- /etc/passwd
---------------- /etc/shadow
[root@server1 ~]# useradd zhangsan //此时创建账户以及修改密码都可
[root@server1 ~]# passwd zhangsan
Changing password for user zhangsan.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@server1 ~]# id zhangsan
uid=1002(zhangsan) gid=1002(zhangsan) groups=1002(zhangsan)
2.密码安全控制
密码安全控制有以下两种:
设置密码有效期
要求用户下次登录时修改密码
vi /etc/login.defs #适用于新建用户
......
PASS_MAX_DAYS 30
chage -M 30 lisi #适用于已有用户
chage -d 0 zhangsan #强制在下次登录时更改密码
3.命令历史,自动注销
命令历史
命令历史限制有以下三种方法:
减少记录的命令条数
注销时自动清空命令历史
[] vi /etc/profile
histsize=200 //保留 200 t条历史命令 (重启之后生效)
[] vi ~/.bash_logout
history -c // 清空历史记录 (重启之后生效)
clear
或者
[] echo