系统安全
系统安全对于个人和企业
1.数据安全,防止个人的敏感信息被窃取盗用甚至破坏
2.企业法律法规要求
3.企业的形象
面试
账户安全控制
锁定不需要账户
passwd -l 用户名 锁定用户
passwd -u 用户名 解锁用户
usermod -L 用户名 锁定用户
usermod -U 用户名 解锁用户
删除不需要的用户
userdel -r 用户名 连同家目录一起删除用户
出现 user xxx is currently used by process ,可能的原因是你创建用户user1之后,使用su命令切换到user1用户下,之后又想删除user1用户,使用su root切换到root用户下,使用userdel user1。出现上述情况的根本原因在于切换回root用户之后,user1还被某个进程占用。
使用 exit 命令一直退
重要文件锁定
chattr +i 文件路径 锁定文件
lsattr 文件路径 查看是否锁定
chattr -i /etc/passwd 解锁文件
注:在生产中,重要的程序文件在非发版期都是被锁定的
密码进行安全控制
密码的有效期
概念:到一定的时间里,强制用户修改密码
1.针对新用户的密码有效期修改
vim /etc/login.defs (只对新用户生效,对已经存在的用户无效)
第25行 修改密码有效期
2.针对已经存在的用户密码有效期的修改
第一种:进入配置文件 /etc/shadow 直接修改,但是不推荐,在系统文件下修改安全性较低
第二种:使用命令语句 chage -m 30 用户名 针对新用户要求密码有效期为30天
3.强制用户下次登录时修改密码
chage -d 0 用户名 强制修改
历史命令清除修改
1.临时清除历史命令
history -c 临时清除(重启即失效)
2.永久修改历史命令
修改的是显示的历史命令(生产上一般三十到五十)
步骤:vim /etc/profile
找到:HISTSIZE =1000 (修改数字即可)
source /etc/profile (立即生效文件)
3.退出终端后清除历史记录
步骤: vim .bash_logout
echo " " > ~/.bash_logout
source .bash_logout
4.开机之后清除历史记录
步骤: vim .bashrc
echo " " > ~/.bashrc
source .bashrc
设置登录超时时间
主要是针对远程连接工作,主要是为了释放资源,防止阻塞
步骤: vim /etc/profile
在底行写入 TMOUT = 600(单位是S 在生产上一般设置为十分钟)
source /etc/profile
限制用户su用户切换
主要是为了方便,给一些普通的用户类似管理员的权限,但是只能自己用不能随便的切换到其他用户,除非是加入了wheel组
WHEEL组:是一个特殊的组,主要是用于控制用户的访问权限,加入wheel组,可以和root管理员一样使用一些比较敏感的命令、
WHEEL组默认为空,需要手动添加,要进行先限制,所以要给一个权限的范围
但是有一个限制条件,就是在命令之前加sudo ,
如果想和管理员一样执行一些管理员才能执行的命令,必须加入WHEEL组
主要的底层逻辑还是限制的用户的 UID
步骤:vim /etc/pam.d/su
在第六行取消注释(主要释义:普通用户之间su切换,会受到限制,除非加入wheel组)
加入组 gpasswd -a 用户 wheel
sudo 命令的用途和用法
vim /etc/sudoers
只读文件,只能强制保存退出
作用:提升sudo命令的安全性,只能使用特定的命令或者禁止使用一些命令
核心:普通用户可以使用管理员才能使用的命令,权限要进行控制,否则风险极大
前提命令要加sudo才可以
开机安全控制
GRUB 添加密码,禁止修改
grub2-setpassword
PAM 身份认证的框架
pam:身份认证框架
管理员可以定制化配置各种认证方式
特点:可插拔,即配即用,即删即失效
查看是否支持PAM
ls /etc/pam.d/ | grep su
在文件中按列查看
第一列:认证类型
auth:用户身份认证
account:账户的有效性
passwd:用户修改密码时的校验
session:回话控制,最多能打开的文件数、能打开的进程数
第二列:控制类型
required:一票否决,表示只有认证成功才能进行下一步,但失败本次认证后不会立刻通知用户失败结果,而是等待所有的认证完,才会有反馈
requisite:一票否决,表示只要返回失败,就会立刻通知反馈给用户
sufficient:一票通过,表示返回成功后,之后的其他模块是否认证,与其无关
optional:附加的可选项,可有可无
第三列:PAM模型类型