一、selinux
-rw-r--r--.
1、什么是selinux?
权限属性信息最后一个“.",是标识Linux的符号。
安全规则,让Linux系统更安全的一套规则。
这个规则太严格了,一般情况下都会关闭selinux。
自行开启防火墙或用其他方法来实现同样的安全目的。
2、关闭Selinux的方法。
1)查看方法:getenforce===> Enforcing
2)临时关闭:setenforce
3)永久关闭:vim /etc/selinux/config
3、linux防火墙
C6:iptables
查看状态:service iptables start
C7:firewalld
查看状态:systemctl status firewalld.service
防火墙开机自启:
systemctl enable firewalld.service
二、硬链接
1、硬链接概念
具有相同inode节点号的文件互为硬链接。
可以看做一个文件的两个入口。
2、硬链接原理
3、测试
创建硬链接: ln 源文件 硬链接文件
1)文件硬链接
ls -lrt 按修改时间反转排序
作用:备份,防止误删。
2)目录硬链接
不支持人工创建目录的硬链接
三、软链接
1、软链接概念
本质就是快捷方式,指向原件实体,本身和原文件是不同的文件
目录的软链接是工作中的重点。
2、用途
1)安装软件:
安装软件:/application/nginx-1.10
过半年:/application/nginx-1.20
导致一个问题,工作中,开发等引用/application/nginx-1.10路径。
安装软件:/application/nginx-1.10===>/application/nginx(让开发用)
过半年: /application/nginx-1.20===>/application/nginx(让开发用)
2)/etc/对应分区要满了,无法储存更多的文件,但是程序还是想通过/etc/目录访问文件,此时,我们可以把文件放入/opt/oldboy下,然后做一个到/etc/oldboy的软链接。
四、linux文件删除原理
1、静态文件:没有进程或程序正在访问的文件。
所有硬链接数为0(i_link),即所有的硬链接都被干掉了,包括自身。
硬链接的数量代表变量符号为:i_link
rm -f oldboy.txt oldboy_hard_link
执行完,其实文件也没有被删除,关机停止运行。
1)系统定时清理没有文件名的Inode。
2)磁盘检查会清理
3)增加新文件时会优先被占用没有文件名的inode
恢复的工具:debugfs,ext 3grep
多备份:操作前备份、异服务器备份、异地备份
2、动态文件:有程序或进程访问的文件
删除原理:
1)i_link 为0
2)i_count为0,i_count是进程调用文件的数量(引用计数)。所有进程调用都要停止。
3、实践文件删除原理
环境准备,命令集合如下:
mkdir -p /app/logs #<==创建用于挂载的目录。
dd if=/dev/zero of=/dev/sdc bs=8K count=10 #<==创建指定大小的文件。
mkfs.ext4 /dev/sdc #<==格式化。
mount -o loop /dev/sdc /app/logs #<==挂载。
df -h #<==检查挂载结果。
实践:
[root@oldboyedu /data]# cd /app/logs/
[root@oldboyedu /app/logs]# touch nginx.log
[root@oldboyedu /app/logs]# tail -f nginx.log
[root@oldboyedu /app/logs]# cat /etc/services >>nginx.log
cat: write error: No space left on device
[root@oldboyedu /app/logs]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 1.9G 18G 10% /
devtmpfs 980M 80K 980M 1% /dev
tmpfs 991M 0 991M 0% /dev/shm
tmpfs 991M 9.5M 981M 1% /run
tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/sda1 253M 136M 118M 54% /boot
tmpfs 199M 0 199M 0% /run/user/0
/dev/loop0 73K 71K 0 100% /app/logs
明明删除了,结果还是100%。
[root@oldboyedu /app/logs]# rm -f nginx.log
[root@oldboyedu /app/logs]# lsof|grep nginx
tail 7927 root 3r REG 7,0 57344 12 /app/logs/nginx.log (deleted)
[root@oldboyedu /app/logs]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 1.9G 18G 10% /
devtmpfs 980M 80K 980M 1% /dev
tmpfs 991M 0 991M 0% /dev/shm
tmpfs 991M 9.5M 981M 1% /run
tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/sda1 253M 136M 118M 54% /boot
tmpfs 199M 0 199M 0% /run/user/0
/dev/loop0 73K 71K 0 100% /app/logs
分区满了:清理,删除。
删除源文件
[root@oldboyedu /app/logs]# rm -f nginx.log
结果:
i_link=1
i_count=1
ctrl+c 中断 进程调用文件
结果:
i_link=1
i_count=0