Linux 特殊文件属性命令chattr和lsattr

特殊文件属性命令 chattr lsattr
chattr lsattr 是有关数据安全的命令:

1chattr作用及语法

a.命令作用:
文件或目录 加锁,不让别人修改和删除
b.命令语法:
chattr 选项 文件
c.选项属性:
i 给文件加锁, 不能删不能改
a 可以追加内容,但不能删除文件
d.选项动作:
- 减少
+ 增加
= 赋予
e.练习理解
##1.创建oldboy.txt
[root@oldboyedu ~]# touch oldboy.txt
##2.给oldboy.txt加i锁
[root@oldboyedu ~]# chattr +i oldboy.txt
##3.测试删除oldboy.txt,结果是无法删除
[root@oldboyedu ~]# rm -f oldboy.txt
rm: 无法删除"oldboy.txt": 不允许的操作
##4.使用lsattr查看属性
[root@oldboyedu ~]# lsattr oldboy.txt
----i----------- oldboy.txt
##5.修改文件oldboy.txt,结果无权限
[root@oldboyedu ~]# echo 1 >oldboy.txt
-bash: oldboy.txt: 权限不够

f.oldboy.txta锁,使其不能删不能改,但可以追加内容到文件结尾。
1)工作场景:给关键文件加锁
关键文件:/etc/passwd、/etc/group、/etc/shadow、/etc/gshadow、/etc/sudoers
##1.给oldboy.txt解锁
[root@oldboyedu ~]# chattr -i oldboy.txt
##2.查看解锁属性
[root@oldboyedu ~]# lsattr oldboy.txt
---------------- oldboy.txt
##3.编辑及删除,发现可以了
[root@oldboyedu ~]# echo 1 >oldboy.txt
[root@oldboyedu ~]# cat oldboy.txt
1
[root@oldboyedu ~]# rm -f oldboy.txt
[root@oldboy ~]# ls
##1.创建文件
[root@oldboyedu ~]# touch oldboy.txt
##2.加a锁
[root@oldboyedu ~]# chattr +a oldboy.txt
##3.查看属性
[root@oldboyedu ~]# lsattr oldboy.txt
-----a---------- oldboy.txt
##4.测试删除
[root@oldboyedu ~]# rm -f oldboy.txt
rm: 无法删除"oldboy.txt": 不允许的操作
##5.测试追加
[root@oldboyedu ~]# echo oldboy >>oldboy.txt
[root@oldboyedu ~]# echo oldboy >>oldboy.txt
[root@oldboyedu ~]# cat oldboy.txt
oldboy
oldboy
##6.不能覆盖
[root@oldboyedu ~]# echo oldboy >oldboy.txt
-bash: oldboy.txt: 不允许的操作
##1.给关键文件加锁:
[root@oldboyedu ~]# chattr +i /etc/passwd /etc/group /etc/shadow /etc/sudoers
##2.查看加锁
[root@oldboyedu ~]# lsattr /etc/passwd /etc/group /etc/shadow /etc/sudoers
----i----------- /etc/passwd
----i----------- /etc/group
----i----------- /etc/shadow
----i----------- /etc/sudoers自己操作,先解锁在添加,然后再加锁

2)生产场景:提升安全,又不降低效率
##3.测试添加用户、删除用户、编辑sudo文件,结果均不行。
[root@oldboyedu ~]# useradd zuma
useradd:无法打开 /etc/passwd
[root@oldboyedu ~]# userdel oldboy03
userdel:无法打开 /etc/passwd
[root@oldboyedu ~]# visudo
visudo: /etc/sudoers: 权限不够
[root@oldboyedu ~]# chattr -i /etc/passwd /etc/group /etc/shadow /etc/gshadow
/etc/sudoers
[root@oldboyedu ~]# lsattr /etc/passwd /etc/group /etc/shadow /etc/gshadow
/etc/sudoers
---------------- /etc/passwd
---------------- /etc/group
---------------- /etc/shadow
---------------- /etc/gshadow
---------------- /etc/sudoers
[root@oldboyedu ~]# useradd inca
[root@oldboyedu ~]# id inca
uid=10006(inca) gid=10007(inca) 组=10007(inca)
[root@oldboyedu ~]# chattr -i /etc/passwd /etc/group /etc/shadow /etc/sudoers
[root@oldboyedu ~]# useradd boy
[root@oldboyedu ~]# chattr +i /etc/passwd /etc/group /etc/shadow /etc/sudoers
##1.编辑脚本
[root@oldboyedu ~]# vim /bin/test.sh
[root@oldboyedu ~]# cat /bin/test.sh
chattr -i /etc/passwd /etc/group /etc/shadow /etc/gshadow /etc/sudoers
$*
chattr +i /etc/passwd /etc/group /etc/shadow /etc/gshadow /etc/sudoers
##$* 脚本文件后输入的命令
##2.设置执行权限
[root@oldboyedu ~]# chmod +x /bin/test.sh
##3.操作:命令前面带test.sh
[root@oldboyedu ~]# test.sh useradd oldboy11
[root@oldboyedu ~]# id oldboy11
uid=10008(oldboy11) gid=10009(oldboy11) 组=10009(oldboy11)
##4.不带test.sh,无法删除
[root@oldboyedu ~]# userdel -r oldboy11
userdel:无法打开 /etc/passwd
##5.带test.sh,就可以删除
3)给所有命令批量加锁
[root@oldboyedu ~]# test.sh userdel -r oldboy11
[root@oldboyedu ~]# id oldboy11
id: oldboy11: no such user
[root@oldboyedu ~]# find /bin/ /sbin/ -type f|xargs chattr +i
[root@oldboyedu ~]# rm -f /bin/ls
rm: 无法删除"/bin/ls": 不允许的操作
[root@oldboyedu ~]# echo 11 >/bin/ls
-bash: /bin/ls: 权限不够
4)和黑客PK
黑客可上传文件的 Linux 目录: /tmp /home/oldboy( 普通用户权限 ) 、应用程序目录
获得权限途径:
1. 直接获得用户权限。
2. 通过应用程序对应的用户获得权限。
3. 通过程序漏洞获得用户权限。
## 黑客手段:
1 . 黑客通过漏洞进入电脑服务器,把木马程序种上 .
2 . 会把你监控查看木马的系统命令都替换掉一模一样的命令(黑客改过的)。( ps,top 查看进程)
3 . 这样管理员就无法发现黑客的木马程序了。
## 黑客如果想解锁,要拿到 root 权限
## 还要能执行 chattr
##1.修改chattr的名字为oldboy
[root@oldboyedu ~]# mv /bin/chattr /bin/oldboy
##2.测试删除oldboy03用户(提前存在)
[root@oldboyedu ~]# userdel oldboy03
userdel:无法打开 /etc/passwd
##3.使用修改的命令解锁
[root@oldboyedu ~]# oldboy -i /etc/passwd /etc/group /etc/shadow /etc/sudoers
##4.依然可以删除
[root@oldboyedu ~]# userdel oldboy03
[root@oldboyedu ~]# mkdir oldboy
[root@oldboyedu ~]# ls
oldboy oldboy.txt
[root@oldboyedu ~]# chattr +i oldboy
[root@oldboyedu ~]# rm -fr oldboy
rm: 无法删除"oldboy": 不允许的操作

5)命令历史管理
a.命令:history
b.选项:
-c #清除所有命令
-d 序号 #清除指定命令
c.生产清除历史记录
[root@oldboyedu ~]# touch oldboy/a.txt
touch: 无法创建"oldboy/a.txt": 权限不够
[root@oldboyedu ~]# cd oldboy
[root@oldboyedu oldboy]# touch a.txt
touch: 无法创建"a.txt": 权限不够
[root@oldboyedu oldboy]# cd ../
[root@oldboyedu ~]#
[root@oldboyedu ~]#
[root@oldboyedu ~]# chattr -i oldboy
[root@oldboyedu ~]# chattr +a oldboy
[root@oldboyedu ~]#
[root@oldboyedu ~]# rm -fr oldboy
rm: 无法删除"oldboy": 不允许的操作
[root@oldboyedu ~]# touch oldboy/a.txt
[root@oldboyedu ~]# echo ddd >>oldboy/a.txt
[root@oldboyedu ~]# cd oldboy
[root@oldboyedu oldboy]# ls
a.txt
[root@oldboyedu oldboy]# cat a.txt
ddd
[root@oldboyedu oldboy]# rm -f a.txt
rm: 无法删除"a.txt": 不允许的操作
##1.清除命令行历史记录
history -c
##2.清除家目录文件里的历史记录
>~/.bash_history
##3.设置保留5条历史记录
export HISTSIZE=5
#永久保存,vim /etc/profile设置永久不记录历史记录,source /etc/profile
##4.[堡垒机]或者跳板机jumpsever,然后连接服务器,
#确保操作都通过跳板机操作。会记录所有命令并且可以回放记录。

6)学习完恢复原状
mv /bin/oldboy /bin/chattr
chattr -i /etc/passwd /etc/group /etc/shadow /etc/gshadow /etc/sudoers

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

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

相关文章

CDN加速原理那些事

名词解释 CNAME记录(CNAME record) CNAME即别名( Canonical Name );可以用来把一个域名解析到另一个域名,当 DNS 系统在查询 CNAME 左面的名称的时候,都会转向 CNAME 右面的名称再进行查询,一直追踪到最后…

初探 Spring Boot 源码:揭秘其高效魔法

Spring Boot 作为当今 Java 世界中最受欢迎的框架之一,以其简化配置和快速部署的能力赢得了开发者的广泛赞誉。但是,你是否曾经好奇过,是什么让 Spring Boot 如此高效和强大?本文将带你深入 Spring Boot 的源码,揭示其…

js str字符串和arr数组互相转换

js str字符串和arr数组互相转换 字符串转为数组 1、split()方法 返回的是原字符串的数组 var str "hello"; var arr str.split(""); console.log(arr); //输出["h", "e", "l", "l", "o"]2、Ar…

创建型模式--4.抽象工厂模式【弗兰奇一家】

1. 奔向大海 在海贼世界中,位于水之都的弗兰奇一家是由铁人弗兰奇所领导的以拆船为职业的家族,当然了他们的逆向工程做的也很好,会拆船必然会造船。船是海贼们出海所必备的海上交通工具,它由很多的零件组成,从宏观上看…

算法:完全背包问题dp

文章目录 一、完全背包问题的特征二、定义状态三、状态转移四、降维优化五、参考例题5.1、Acwing:3.完全背包问题5.2、Acwing:900. 整数划分 一、完全背包问题的特征 完全背包问题是动态规划中的一种经典问题,它的主要特征可以总结如下&…

LeetCode热题Hot100 - 删除链表的倒数第N个结点

一刷~ 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 思路: 用两个指针,第一个指针先往前走n步(注意起始点不是head),然后第二个指针和第一个指针一起移动,当第一…

[HackMyVM]靶场Flossy

难度:Medium kali:192.168.56.104 靶机:192.168.56.142 端口扫描 ┌──(root㉿kali2)-[~/Desktop] └─# nmap 192.168.56.142 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-04-01 21:01 CST Nmap scan report for 192.168.56.142 Host is up (0.00018s latency).…

浏览器的几种存储方式

浏览器的几种存储方式(图表形式) 存储方式特点应用场景示例有效期容量是否共享安全性Cookie存储少量数据,例如用户偏好、登录状态等用户认证、个性化设置登录状态、语言偏好会话或永久4KB同源中等Local Storage️永久存储数据,同…

从0开始搭建基于VUE的前端项目(四) Vue-Router的使用与配置

版本 vue-router 3.6.5 (https://v3.router.vuejs.org/zh/) 安装 安装要指定版本,默认安装的4版本的 npm install vue-router3.6.5代码实现 在src目录下创建router目录 router/index.js import Vue from vue import Router from vue-routerVue.use(Router)con…

Nginx入门 -- 解析Nginx中的基本概念:Keepalive

引言: Nginx是一款流行的开源Web服务器软件,被广泛用于构建高性能的Web服务器和反向代理。在Nginx中,Keepalive是一个基本概念,它在网络连接中起到重要的作用。本文将深入探讨Keepalive的工作原理和在Nginx中的应用。 1.Keepaliv…

A5 STM32_HAL库函数 之 CAN通用驱动程序所有函数的介绍及使用

A5 STM32_HAL库函数 之 CAN通用驱动程序所有函数的介绍及使用 1 CAN通用驱动程序所有函数预览1.1 HAL_CAN_Init1.2 HAL_CAN_ConfigFilter1.3 HAL_CAN_DeInit1.4 HAL_CAN_MspInit1.5 HAL_CAN_MspDeInit1.6 HAL_CAN_Transmit1.7 HAL_CAN_Transmit_IT1.8 HAL_CAN_Receive1.9 HAL_C…

fssh挂载远程服务器目录

fssh挂载远程服务器目录 1、服务器自动登录 1.1 生成SSH 密钥对 ssh-keygen -t rsa这个命令会生成一个私钥(默认保存在 ~/.ssh/id_rsa)和一个公钥(默认保存在 ~/.ssh/id_rsa.pub)。 你可以通过 -f 参数指定一个不同的文件名和路径来保存这些密钥。 会要求输入名称和密码…

聊聊Linux内核中内存模型

介绍 在Linux中二进制的程序从磁盘加载到内存,运行起来后用户态是使用pid来唯一标识进程,对于内核都是以task_struct表示。二进制程序中的数据段、代码段、堆都能提现在task_struct中。每一个进程都有自己的虚拟地址空间,虚拟地址空间包含几…

【2024】Prometheus通过node_exporter都监控了什么

我们通过prometheus进行监控,通过node_exporter进行Linux系统的监控。 那么我们通过node_exporter都监控了什么? 目录 常用指标CPU相关内存相关磁盘相关网络相关其他指标常用监控告警案例:cpu案例:内存案例:磁盘案例:网络案例:常用指标 Prometheus通过node_exporter可以…

交换机虚拟化技术

1、思科虚拟化技术: (1)stackwise:堆叠,一般用于盒式交换机的场景 ①原理:可以将多台物理设备逻辑的虚拟成一台大的设备 ②冗余交换机管理引擎: 三种模式: 1)RPR&am…

stack和queue的使用

前言 前面我们对string、vector、list做了介绍并对底层进行了实现!本期我们继续来介绍STL容器,stack和queue! 本期内容介绍 stack 常用接口的介绍 queue 常用接口的介绍 什么是stack? 这里的栈和我们C语言实现的数据结构的那个栈功能是一样…

向上向下采样

在数字图像处理中,向上采样(upsampling)和向下采样(downsampling)是两种常见的操作,用于改变图像的分辨率。 向上采样(Upsampling): 向上采样是指增加图像的分辨率&…

leetcode代码记录(最长连续递增序列

目录 1. 题目&#xff1a;2. 我的代码&#xff1a;小结&#xff1a; 1. 题目&#xff1a; 给定一个未经排序的整数数组&#xff0c;找到最长且 连续递增的子序列&#xff0c;并返回该序列的长度。 连续递增的子序列 可以由两个下标 l 和 r&#xff08;l < r&#xff09;确定…

如何查看当前python环境的安装路径

起因&#xff1a;在查看python安装路径时&#xff0c;由于环境变量未添加&#xff0c;导致直接用python无法查看&#xff0c;但是pip又可用。因此找到另外一种代替方法。 利用pip show 库 pip show numpy

代码随想录第34天| 1005.K次取反后最大化的数组和 134. 加油站 135. 分发糖果

1005.K次取反后最大化的数组和 1005. K 次取反后最大化的数组和 - 力扣&#xff08;LeetCode&#xff09; 代码随想录 (programmercarl.com) 贪心算法&#xff0c;这不就是常识&#xff1f;还能叫贪心&#xff1f;LeetCode&#xff1a;1005.K次取反后最大化的数组和_哔哩哔…