第十章、系统安全及应用
锁定文件
锁定文件 chattr +i 文件名
解锁文件 chattr -i 文件名
查看锁定状态 lsattr
判断文件是否被修改
md5sum 文件
使用md5对文件进行校验,文件一旦修改,md5值就会发生变化,如果没有修改,md5值不变
发现被人修改后,查看日志,进行排查
面试题:做过哪些系统优化
对未经安全认证的RPM包进行安全检查
设定用户密码策略
设定用户密码强度
限制用户登录次数
禁止root远程登录
设置历史命令保存条数和账户超时时间
设置只有指定用户组才能使用su命令
对Linux账户进行管理
对重要文件进行锁定,即使root也无法修改
建立日志服务器
su切换用户
su zhangsan 在当前目录切换用户
su - zhangsan 切换用户,并会切换到该用户的家目录中,加载该用户的shell环境
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P491yoVI-1649221227231)(16陆涵卿Linux系统复习6-11章+Linux网络.assets/1649175008767.png)]
限制使用su:
gpasswd -a 把信任用户加入到wheel组
vim /etc/pam.d/su #auth required pam_wheel.so.use_uid 注释取消(第6行)
/usr/bin 所有用户都能执行的命令
/usr/sbin 管理员权限的命令
sudo提权
法一:visudo
法二:
vim /etc/sudoers //root可以强制保存
格式:
用户名 主机名(通常用ALL表示)=(以什么身份的用户来执行命令,默认root) 命令程序列表
%组名 主机名= 目录程序列表
定义别名:
User_Alias 用户别名 USERS( 必须大写)=XX,XXX,XXXX
Host_Alias 主机别名 HOSTS(必须大写)=XX,XXX,XXXX
Cmnd_Alias 命令别名 CMDS (必须大写)=xx,xxx,xxxx
USERS HOSTS=CMDS
sudo +命令
初次使用sudo需要输入当前用户密码,默认超时时长5分钟,5分钟内不会再重复校验密码。
查看端口以及连接状态的命令
netstat、ss 功能类似
-natp 所有tcp端口
-naup 所有udp端口
-lntup 已连接的所有端口
第十一章、linux文件系统与日志分析
文件数据和文件名是分开存储的
文件数据
扇区:硬盘最小的存储单元,512字节
块block :连续8个扇区组成一个块,大小为4096字节,4Ki,是文件存取的最小单位
有些文件系统是4个扇区组成一个块,一般是8个
操作系统读文件是一个块一个块读取
K M G T P 以10为底数的单位 1KB=10^3=1000 1MB=10^3KB 1GB=10^3MB
Ki Mi Gi Ti Pi 以2为底数的单位 1KiB=2^10=1024 1MiB=2^10KiB 1GiB=2^10MiB
1000换算的是传输单位,1024换算的是存储单位,通常硬件厂商以存储单位标注自己的产品大小,而实际是以传输单位换算的
元信息
文件数据包括实际数据和元信息(文件属性)
实际数据存储在块中
元信息存储在inode(索引节点)中
文件的创建者、文件的创建日期、文件的大小等等。这种存储文件元信息的区域就叫做inode
inode不包含文件名,文件名存储在目录中
Linux访问文件过程
根据文件名查找到对应的inode号
通过inode号获取inode信息
根据inode信息判断用户是否具备访问文件的权限,如果有,就指向相应的数据块(block块)来读取数据;如果没有权限,则返回权限拒绝
通过inode号删除文件
find ./ -inum inode号 -delete find ./ -inum inode号 -exec rm -rf {} \; //{}表示前面查询到的东西,{}和\之间要有空格 find ./ -inum inode号 | xargs rm-rf
查看inode号
ls -i 文件名 stat 文件名
三个时间戳
atime:最近的访问时间
mtime:最近的修改文件内容的时间
ctime:最近改动文件属性的时间
查找修改了大于30天的文件并删除
find 目录 -mtime +30 -exec rm -rf {} \;
linux实际上不是用文件名来识别文件的,而是通过inode号来识别文件
文件名实际上是inode的别名,是inode号便于识别的别称,每一个inode号对应一个文件名
日志
/var/log/messages //系统日志,服务排障(基本上所有的错误都会在这个文件中显示)
/var/log/secure //查看登录事件的日志,如果登录失败或者遇到恶意登录,查看该文件
/etc/hosts.deny(添加黑名单,拒绝指定IP登录)
添加 sshd:ip地址
可编写脚本,将多次恶意登录的IP,添加到黑名单中
日志级别:0-7
rsyslog 工具
生产环境中,如果服务器数量较少,通过脚本或者rsyslog工具来收集日志,远程传输到指定的日志服务器中统一保存。
如果服务器数量较多,会通过ELK / EFK 分布式日志分析系统来统一收集和存储日志,并且还可以提供索引搜索功能和图形化展示功能。
centos7中systemd 提供了journalctl工具
journalctl -u 服务名 //查看对应服务的日志