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

news2024/12/23 13:25:24

企业高薪思维:
每一个阶段什么时候是最重要的?(快速定位)
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
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1615442.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络常识!!!

网络常识!!! 一:网络的发展史二:关键的概念三:IP地址四:端口号二级目录二级目录二级目录二级目录三级目录 一:网络的发展史 从游戏方面发展历程进行理解: 从单机游戏-----游戏支持局域网对战-------游戏支持广域网对战-------移动端 (1)局域网对战:在同一个网吧里,不同的游戏…

快速部署stable diffusion@Ubuntu

Stable Diffusion可以根据文本描述生成相关的图像,是当前最热门的文生图模型。 在Ubuntu下,可以选择快速安装,或者手动一步步安装。 快速安装 使用文档中的方法,先下载一个sh文件,然后执行这个文件,就自动…

UUPSUpgradeable部署合约和升级合约

文章目录 写一个合约1. 使用代理部署 并添加拥有者2. 没有name number为103. 使用代理升级部署 填写上面代理的合约地址4. 合约地址没有变,但是添加了name,并且保存了number的属性值 写一个合约 // SPDX-License-Identifier: MIT // Compatible with Op…

GNU Radio使用Python Block实现模块运行时间间隔获取

文章目录 前言一、timestamp_sender 模块二、timestamp_receiver 模块三、测试 前言 GNU Radio 中没有实现测量两个模块之间的时间测量模块,本文记录一下通过 python block 制作一个很简单的测时 block。 一、timestamp_sender 模块 使用 python block 做一个发送…

pyCharm导入pyspark中的sparkconf和sparkcontext错误

背景:学习黑马程序员python课程的pyspark实战部分时按照下图导入pysark包时发现sparkconf和sparkcontext无法导入和运行。 首先想到是不是在CMD窗口下载的pySpark路径及安装是否正确? 通过下图发现第三方库都安装正确,然后就考虑库的路径&a…

今日arXiv最热NLP大模型论文:浙江大学:蒸一蒸,多Agent变成单一模型,效果更好

“团结就是力量”,面对复杂多变的现实环境,multi-agent应运而生。相较于单打独斗的single-agent,multi-agent集结了多个功能各异的LLM,共同攻克难关。然而,这种协同作战的方式也带来了沉重的推理负担,限制了…

那些早期的iax和SIP软电话软件界面,看看你见过几个?

目录 一些iax/sip软电话UI图片SIP软电话的界面怎么设计SIP软电话的功能有哪些 早期voip发展中,很多公司开发了自己的SIP软电话,有些已经不存在了,有些还在使用中,比如X-Lite,Zoiper等等,我们一起看看这些早…

代码随想录算法训练营第三十九天| 62.不同路径、63.不同路径II

系列文章目录 目录 系列文章目录62.不同路径①回溯算法(超时)②深度搜索(超时)③动态规划 63. 不同路径 II动态规划 62.不同路径 ①回溯算法(超时) 本质是穷举。 class Solution {int[] chose new int[…

CB2-2CARD之Debian(Bookworm)安装Gnome看CCTV

CB2-2CARD之Debian(Bookworm)安装Gnome看CCTV 1. 源由2. 需求3. Debian系统桌面3.1 系统安装3.2 磁盘扩容3.3 系统更新3.4 Gnome安装 4. 测试4.1 CCTV网页测试4.2 系统空闲测试4.3 Firefox CPU占用率测试 5. 总结 1. 源由 近些年来,随着国内…

笔试狂刷--Day4(滑动窗口+贪心)

大家好,我是LvZi,今天带来笔试狂刷--Day4 一.简写单词 1.题目链接:简写单词 2.题目分析: 一个简单的模拟 3.代码实现: 1.先整体读取,再处理 import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main {public static void main(St…

35K的鸿蒙音视频开发岗位面经分享~

一个月前,阿里云在官网音视频终端 SDK 栏目发布适配 HarmonyOS NEXT 的操作文档和 SDK,官宣 MediaBox 音视频终端 SDK 全面适配 HarmonyOS NEXT。 此外,阿里云播放器 SDK 也在华为开发者联盟官网鸿蒙生态伙伴 SDK 专区同步上线,面…

【快速上手ESP32(基于ESP-IDFVSCode)】08-SPI

SPI SPI,全称Serial Peripheral Interface,即串行外设接口,是一种同步串行接口技术。它最初由Motorola公司推出,并在其MC68HCXX系列处理器上首次定义。SPI接口主要应用在EEPROM、FLASH、实时时钟、AD转换器,以及数字信…

【MySQL】InnoDB与MyISAM存储引擎的区别与选择

存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式 。 存储引擎是基于表的,而不是基于库的,所以存储引擎也可被称为表类型。我们可以在创建表的时候,来指定选择的存储引擎,如果没有指定将自动选择默认的存储引擎。…

【学习笔记二十一】EWM仓库两步拣配配置及操作展示

一、EWM两步拣配配置 1.定义两步拣配的WPT ①第一步:标准WPT2020,目标仓位是2010两步拣配的仓位,并创建存储类型2010的两步拣配的仓位 ②第二步,标准WPT2010,目标仓位9020发货区和发货的仓位 2.定义确定仓库处理类型的控制标识 3.确定仓库处理类型 4.仓库编码级别需要允…

React自定义Hook函数:高效组件开发的秘密武器

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

C语言(扫雷游戏)

Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,关注收藏,欢迎欢迎~~ 💥个人主页:小羊在奋斗 💥所属专栏:C语言 本系列文章为个人学习笔记&#x…

深入了解高保真线框:设计师必备利器推荐!

什么是高保真线框 高保真线框是低保真线框的高级版本。它不仅是一个更详细的草图,而且是一系列经过思考的“屏幕”,非常接近产品的最终外观和产品的主要功能。低保真度与高保真度线框的关键区别在于:低保真代表设计方向和整体布局&#xff0…

模块化以及生成

导入对象 >> pip install mock >> pip install pytest-mock 下面对coverage命令参数进行简单介绍。 coverage命令共有10种参数形式,分别是: run:运行一个Python程序并收集运行数据;report:生成报告&#x…

@NameBinding注解名称绑定过滤器/拦截器

NameBinding注解名称绑定过滤器/拦截器,只针对某一些资源方法执行处理逻辑 一、为什么要用名称绑定 一般情况下,借助Spring的过滤器或者拦截器等对Http请求或响应进行处理就能满足需求。但是在有些场景下若只需对特定的xxxResource做拦截处理&#xff0…

数据治理实战——元数据管理

一、元数据概述 1.1 定义 描述数据的数据,本质还是数据。数据本身带有的技术属性与其在业务运行中的业务属性,称其为元数据,例如:表数据量,占用空间,字段信息,业务描述,负责人&…