Linux文件chattr/lsattr/Linux权限(搭建权限测试环境实战)引申到内部原理及Linux删除系统文件原理-7539字详谈

本文主要是介绍Linux文件chattr/lsattr/Linux权限(搭建权限测试环境实战)引申到内部原理及Linux删除系统文件原理-7539字详谈,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

企业高薪思维:
每一个阶段什么时候是最重要的?(快速定位)
1.学习最重要的事情 (学生阶段,找工作前阶段)
2.家庭,女朋友 (工作阶段/学生阶段,学习不受到影响)
3.工作 (努力工作,不要三天一请假五天一请假)

找工作大多数人都关心薪资 工作中同事朋友请吃饭等,等着别人请/蹭车蹭喝,这样会把自己的人脉路堵死
钱从头到尾看的太过种,太计较,你关注的点太低了,钱赚来的想要拿高薪,去问自己有什么样的能力去拿高薪,有什么本事?只要有能力,你的薪资不会特别特别的差,关注能力努力工作,你的价值观和思维就会发现和多数人不一样(上进心)

加班:
前几年网上出现不加班潮流,最终还不是该加班加班,中国不可能做到不加班,企业竞争与美国it行业减小差距,不加班怎么能追赶,老板给你开5000块加班一次,我想你自己都不拒绝。所以要看加班能给你带来什么,你初入it行业你能不加班吗?总说有人不加班,该吃吃喝喝到点下班,那你知道他工作了几年?他有经验,他说不定能力比你强,他工作的结果完美还有自己的创新,他能高效率完成工作,你和人家比,你能做到吗?
1.积累经验 2.满足领导需求 3.超越90%的态度
成长途径:读万卷书行万里路,工作忙碌,阅人无数,名师指路(去请教身边你认为厉害的人,工作几年的人)自己开悟(平台背景影响是很大的)有优秀的价值观领导才会重用你,你拿到的核心项目几率大,那你的薪资肯定会高(项目:王者荣耀vs象棋)那不用说核心项目王者荣耀薪资高
技能优秀+价值观优秀/合格,你混的肯定不会差 ,你要把自己变成金子 技术的提升仅是量的积累,思想的提升才是志的飞跃
学习技术过程中,积累学习的能力,思维方法更重要!

财富来源于信息差:
说到这一点小编还是有一定经历的,起初小编没有转计算机专业,在自学然后遇到卖破解软件,大学生跑步用程序刷,打卡,期末考试等等帮助很多人完成了学习!!这一点是不好的,但是事情都是有相反方向,在这期间我认识了一些打拼再一线二线it行业的大佬,与安徽创业前辈去学习,再部分it行业有一定市场了解对自己目标快速成长,学校学习能力强的表达人际关系欠缺,这一年多时间我逼自己去表达(自己兼职宣传),虽然有时候表达不是很好,但是有了一个很大的提高!通过大佬介绍,也与北京it教育前辈CEO线下聊过,也与重点一本,研究生以上学长定期去咨询了解,从不认识到现在认识完全是靠自己,所以说有时候就是因为信息差,拓宽人脉去学习,社会it行业它到底是怎样的,多去谦虚请教别人。在这期间平时写一写文学,期间python考了社会人含金量不错证书,并且与我主公方向挂钩,一天一反思三天一反思一月大反思,学习情况/高效率完成/完成是否做到对每一件事情做到专注,但是有时会陷入一定焦虑,去调整心态,将近两年基本上除了睡觉/短暂的休息就去提高自己。

比我们厉害的人很多,优秀的人很多,我们做到最好的自己,专注,坚韧,上进心!学历很重要,技术很重要,态度好很重要,价值观很重要,责任心很重要。这几年确实it大环境不好,本科研究生很难找工作,因为现在基本上学历过剩时期,我们要让自己在平时学习中去培养我所提到的5个很重要,今天就先分享到这里!

文件加特殊属性,实现特殊功能的命令chattr

chattr
a 只能追加内容,不能删除
i 不能修改,不能删除
chattr +i wulin.txt增加i属性
chattr –i wulin.txt减掉i属性

练习:
touch wulin1.txt
lsattr wulin1.txt
chattr +i wulin1.txt
lsattr wulin1.txt
rm –f wulin1.txt
无法删除
在这里插入图片描述

查看chattr属性:lsattr

lsattr

企业中用途:保护关键文件,防止被非法写入
ls /etc/passwd /etc/group /etc/shadow /etc/gshadow

chattr +i /etc/passwd /etc/group /etc/shadow /etc/gshadow /etc/sudoers
useradd abcd
会显示无法打开/etc/passwd
在这里插入图片描述

which chattr
显示/usr/bin/chattr
cd /usr/bin
mv chattr wulin 我们做一个更安全的操作把它移走,别人找不到命令
别人能不能拷个命令过来呢?没有root权限他什么也干不了
一般黑客拿不到root权限,去拿web权限(安全比较低),去写脚本跑PHP,shell/调用系统命令进行处理

改回来mv wulin chattr
chattr –i /etc/passwd /etc/group /etc/shadow /etcgshadow /etc/sudoers
lsattr /etc/passwd /etc/group /etc/shadow /etc/gshadow
/etc/sudoers
在这里插入图片描述

cd –
ls wulin.txt
chattr +a wulin.txt
lsattr wulin.txt
chattr -i wulin.txt
lsattr wulin.txt
rm –f wulin.txt
显示无法删除
echo 1 〉wulin.txt
也是不行的
echo 1〉wulin.txt
只能往里面追加东西
cat wulin.txt
在这里插入图片描述
查看总文件大小
du -sh /etc/*

Linux系统权限(基础权限共9位)

基础权限介绍

rw-r–r–
1.三位一组
2.前三位是用户位(owner)
3.中三位用户组位(group)
4.后三位为其他用户位(others)

r read 可读的权限,用数字4来表示,三位中的首位
w write 可写的权限 ,用数字2来表示,三位中的中间位
x execuite 可执行的权限,用数字1来表示,三位中的最后位
-没有权限

画图

在这里插入图片描述

文件和目录权限总结

  1. 针对文件
    r 可以读取文件内容(block)的权限
    w 可以增加,修改,删除文件内容(block)的权限

有没有删除文件本身权限呢?(下文实战详谈)

x 可以执行文件
条件:
a. 本身可以执行
b. 需要配合r

如果没有r可读,vim编辑器提示无法编辑,但可进行强制覆盖文件,也可以使用echo等命令进行重定向或追加内容到文件

c. root不受r的控制,只要有可执行x的权限就能执行文件

‘-’ 没有权限

搭建权限测试环境及实战

incahome 家组
wulin 用来代表用户(user)角色,是文件的所有者
wulinhock (和wulin属于相同的组),用来代表用户组incahome的角色
其他人 test ,代表其他用户角色

[root@calms ~]# groupadd incahome groupadd:“incahome”组已存在 [root@calms
~]# user wulin -g incahome
-bash: user: 未找到命令 [root@calms ~]# useradd wulin -g incahome useradd:警告:此主目录已经存在。 不从 skel 目录里向其中复制任何文件。 正在创建信箱文件: 文件已存在 [root@calms
~]# useradd wulinhock -g incahome [root@calms ~]# id wulin
uid=5017(wulin) gid=5017(incahome) 组=5017(incahome)
[root@calms ~]# id
wulinhock uid=5018(wulinhock) gid=5017(incahome) 组=5017(incahome)
[root@calms ~]# useradd test [root@calms ~]#

开启四个窗口,依次root,wulin,wulinhock,test切换(双机xshell连接的标签)

出现-bash-4.2$这个问题,小编这篇文章提到:https://editor.csdn.net/md/?articleId=137704698
是因为创建useradd,环境变量丢失,下图位检查各对应的权限,进行chmod解决:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
root窗口:
[root@calms ~]# mkdir /wulin -p
[root@calms ~]# cd /wulin
[root@calms wulin]# echo “echo ‘i am wulin.’” >test.sh
[root@calms wulin]# cat test.sh
echo ‘i am wulin.’
[root@calms wulin]# ls -l test.sh
-rw-r–r-- 1 root root 19 4月 18 10:29 test.sh

在wulin窗口下:
在这里插入图片描述
文件太多,回到root下删除:留下test.sh
在这里插入图片描述
切换到wulin窗口
在这里插入图片描述
只有read可读权限,执行/写入没有权限,
test.sh这里这样运行是不对的,它会去PATH路径里寻找是没有test.sh这个位置的,为什么没有?
在这里插入图片描述
是因为我当前这个test.sh文件在/wulin里面,所以我们通过./test.sh进行执行
在这里插入图片描述
所以这里解释了前面提到的文件与目录权限总结知识

在wulinhock窗口:
在这里插入图片描述
解释了权限无法写入(保存)
在这里插入图片描述
这里执行也没有权限

上面小编提了一个问题,w属性有没有删除文件本身的权限呢?
删除文件本身与w自身属性是无关的

接下来看最后一个窗口,其实和前面的一样,看它的其他权限位:

测试得出结论:
设置新的用户和组
在这里插入图片描述
在wulin窗口,用户属主发生变化,有可读与可写的权限,没有可执行权限
在这里插入图片描述
窗口wulinhock/窗口四对比即可!

调整权限:
在这里插入图片描述
在窗口wulin:
在这里插入图片描述
为什么删除不了?
易错点(笔试,面试小心)文件权限里面的w,可以增加,修改,删除文件(block)权限。
删除文件的权限和文件本身属性无关!!

这里和Linux删除文件原理有关:
文章https://blog.csdn.net/2302_78067597/article/details/137704698?spm=1001.2014.3001.5501
在这里插入图片描述
删除文件内容就是相当于修改block,删/下的文件,/文件保存在哪里?
删除/wulin/test.sh,就要知道test.sh这个文件名在哪里,test.sh是放置在wulin下的block里,所以就要看wulin里面的inode。
所以删除文件就是看上一级目录的权限(上一级目录的block–就需要上一级目录里的inode权限)

在这里插入图片描述
/wulin下由test.sh文件,test.sh文件看图是否在上一个block里面,在上面案例中我们使用vim test.sh 追加##,在修改文件内容—就是在修改自身的block–就是在修改自身inode权限,我们在这个基础之上做了rm -f test.sh操作–修改了test.sh文件名–相当于放在了(修改了)上一级/wulin里面的block

所以删除test.sh相当与在玩上一级目录里面block,玩出界,所以删除它就要看/wulin权限

在这里插入图片描述
所以我在root窗口,cd切换wulin变成了其他属主(其他权限)没有w属性所以删除不了

即使将root窗口调整权限:
chmod 777 wulin/tset.sh
在wulin窗口只需rm -f test.sh还是删除不了

删除文件与删除文件的本身属性没有任何关系
在这里插入图片描述
多建一些会发现Linux中创建的文件用户属主建立要求特别高!

针对目录 对应读写,执行的权限说明:

r :具有浏览目录下面文件及子目录名的权限

dir 查看目录下的内容 如果没有可执行的x的配合,不能切换到指定目录里面,无法执行cd dir命令
在这里插入图片描述
w: 表示具有增加,删除或修改目录内文件的权限。如果没有可执行x的配合,即使有w权限也无法删除或创建文件

可执行x:表示具有进入目录的权限
dir命令切换到目录下,但是无法列表目录下单文件及子目录
在这里插入图片描述

权限设置

数字权限

r 4
w 2
x 1
‘-’ 0

字符权限:rwx r-x r-x
数字权限: 7 5 5

转换规则:r,w,x,-,进行相加

字符权限

字符权限: rwx rw- --x
数字权限: 7 6 1

数字权限113 --x–x-wx
数字权限274 -w-rwxr–

转换规则:r,w,x,-,进行相加

设置命令:chmod change mode

-R 递归设置

数字权限设置:(工作中最常用的)

chmod 数字权限 文件

举例

chmod 755 文件
chmod -R 755 /wulin

字符权限设置:
1.用户或用户组的定义
u 代表属主用户(owner/user)
g代表属组(group)
o代表其他用户组(group)
a 或者不写,同时代表ugo属主,组及其他用户
2.权限设置定义字母,与前面一致
r w x -
3。权限增加减字符详细定义
+:添加权限
-:取消权限
=:取消其他所有权限,然后赋予给定的权限

在这里插入图片描述
chmod u-x test.sh
在这里插入图片描述
今天先写道这里了,小编有些累,下一篇再进行补充!

这篇关于Linux文件chattr/lsattr/Linux权限(搭建权限测试环境实战)引申到内部原理及Linux删除系统文件原理-7539字详谈的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/915036

相关文章

MyBatis分页查询实战案例完整流程

《MyBatis分页查询实战案例完整流程》MyBatis是一个强大的Java持久层框架,支持自定义SQL和高级映射,本案例以员工工资信息管理为例,详细讲解如何在IDEA中使用MyBatis结合Page... 目录1. MyBATis框架简介2. 分页查询原理与应用场景2.1 分页查询的基本原理2.1.1 分

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

深度解析Python中递归下降解析器的原理与实现

《深度解析Python中递归下降解析器的原理与实现》在编译器设计、配置文件处理和数据转换领域,递归下降解析器是最常用且最直观的解析技术,本文将详细介绍递归下降解析器的原理与实现,感兴趣的小伙伴可以跟随... 目录引言:解析器的核心价值一、递归下降解析器基础1.1 核心概念解析1.2 基本架构二、简单算术表达

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired