第八天 1-7 实战:创建一个root无法删除的文件
实战:创建一个root无法删除的文件
简介:Linux文件的最底层(内核级别)属性的查看与修改
命令:lsattr、chattr
Linux文件除了具有基本权限rwx,及特殊权限(SUID、SGID、SBIT(Sticky))外,还有几个更接近底层的文件),我们可通过lsattr查看这些属性,并通过chattr来修改这些属性
命令格式:
lsattr [-RVadv] [file]
-R #递归的列出文件夹中所有文件的属性
-V #查看lsattr版本
-a #查看list所有的文件,包括隐藏文件
-d #列出目录的属性
-v #列出文件的版本号or代号
chattr [-RVf] [mode] [file]
-R #递归的列出文件夹中所有文件的属性
-V #查看chattr版本
-f #抑制大多数错误消息
-v #设置文件的版本号or代号
例如:chattr +i a.txt
这些属性包括:'aAcCdDeijsStTu':
append only (a),设定该参数后,只能向文件中添加数据,而不能删除,多用于服务器日期文件安全,只有root才能设定这个属性
no atime updates(A), 文件或目录的atime(access time)不可被修改(modified),可以有效预防例如手提电脑磁盘I/O错误的发生
compressed (c), 设定文件是否经压缩后再存储。读取时需要经过自动解压操作。
no copy on write (C),
no dump (d),设定文件不能成为dump程序的备份目标
synchronous directory updates (D),
extent format (e),
immutable (i),设定文件不能被删除、改名、设定连接关系,同时不能写入或新增内容。i参数对于文件系统的安全设置有很大帮助。
data journalling (j),
secure deletion (s),保密性的删除文件或目录,即硬盘空间被全部收回
synchronous updates (S),硬盘I/O同步选项,功能类似sync
no tail-merging (t),
top of directory hierarchy (T),
and undeletable (u),与s相反,当设定为u时,数据内容其实还存在磁盘中,可以用与undeletion。
常用到的为a和i
实验:对/etc/passwd文件添加i属性,然后对其执行修改等操作

第八天 1-7 实战:创建一个root无法删除的文件的更多相关文章
- 创建一个版本库,把文件夹用Git管理起来
创建一个文件夹,把这个文件夹用Git管理起来,那么这个文件夹的改变都可以被Git跟踪到,当然也可以将Git中的文件还原到某一个时刻. 首先创建一个空的目录,然后将空的目录由Git来管理 1.建立一个文 ...
- 使用eventfd创建一个用于事件通知的文件描述符
https://www.jianshu.com/p/57cc1d7d354f nat穿透代码c++
- 创建一个MongoDB数据库再到配置成Window服务再设置用户名密码
1.安装MongoDB数据在官网下载安装 然后在C盘找到C:\Program Files\MongoDB\Server\4.0\bin这个可执行目录 使用cmd进入到这: 2.在C盘根目录创建一个名为 ...
- Hibernate的配置跟简单创建一个表并插入一条数据
首先官网下载一个hibernate的架包,由于时间关系,博主已经分享到了百度网盘:https://pan.baidu.com/s/1Mw0Og3EKnouf84Njz9UicQ,提取码lens Hib ...
- Dapr 与 NestJs ,实战编写一个 Pub & Sub 装饰器
Dapr 是一个可移植的.事件驱动的运行时,它使任何开发人员能够轻松构建出弹性的.无状态和有状态的应用程序,并可运行在云平台或边缘计算中,它同时也支持多种编程语言和开发框架.Dapr 确保开发人员专注 ...
- 为MongoDB创建一个Windows服务
一:选型,根据机器的操作系统类型来选择合适的版本,使用下面的命令行查询机器的操作系统版本 wmic os get osarchitecture 二:下载并安装 附上下载链接 点击安装包,我这里是把文件 ...
- 创建一个提供数据 API 的 Node.js 网站
创建站点目录 首先,创建一个文件夹用来保存你的站点文件,使用 mkdir 就可以了 PS C:\> mkdir mysite 然后,进入到这个文件夹进行下一步的操作. 创建包说明 使用记事本或者 ...
- 如何用 React Native 创建一个iOS APP?(三)
前两部分,<如何用 React Native 创建一个iOS APP?>,<如何用 React Native 创建一个iOS APP (二)?>中,我们分别讲了用 React ...
- ROS学习记录(三)————创建一个简单的发布节点和订阅节点
暑假在家有些懈怠,不,非常懈怠- -||!良心已经发痛了,想快些补回原来的进度,但忽然发现,中断了一段时间再重新去学习,有的地方连最基本的符号都忘记了 ,这次特意弄个最最基础的,恢复一下,以前的进度. ...
随机推荐
- 练习webpack遇到的一些问题以及解决办法,供自己以后参考
1.利用nodeJs安装webpack时报出以下错误提示: 这个错误我在网上搜了一下,说是npm文件配置问题,也就是权限不够 解决办法:npm config set registry http://r ...
- (转)库函数之 API
API是库函数,这些库函数操作系统提供开发人员开发应用程序使用的. API函数内部应该是C C++ 或者汇编语言实现的. 如果想在程序里面使用API函数 需要包含头文件 Windows.h. ...
- 给idea配置默认的java jdk
1. 2. 3.选择安装的jdk的路径. 4.
- sgu 100 A+B 解题报告及测试数据
100.A+B time limit per test: 0.25 sec. memory limit per test: 65536 KB 题解:上手题,不解释. 直接上代码: #include & ...
- SQL优化,解决系统运行效率瓶颈
http://www.cnblogs.com/SameZhao/p/4737725.html
- [日志]logback告警
开发过程中,难免会有发生错误或异常的时候,有些是需要及时通知到相关开发人员的.logback可以通过简单的配置达到邮件告警的目的. 一.错误告警 如下配置,所有Error级别的log发送邮件告警给re ...
- yarn命令使用
yarn 常用命令 修改日期 2017.12.26 最初接触 yarn 还是在 0.17.10 版本,由于各种各样的原因,使用时没 npm 顺手, 目前 yarn 的版本已经升级为 1.3.2 各种之 ...
- linux 搭建Java环境
一.下载jdk/jre文件 下载链接 二.安装Java环境 1.解压文件到 /usr/java 目录 # tar zxvf jre-8u60-linux-x64.gz 2.配置环境变量 ...
- [CF1051F]The Shortest Statement
题目大意:给定一张$n$个点$m$条有权边的无向联通图,$q$次询问两点间的最短路 $n\le100000$,$m\le100000$,$1\le100000$,$m$-$n\le20$. 首先看到$ ...
- NOIP2014 T4 子矩阵 dfs+dp
最近在狂补题啊QAQ... 打算先把NOIP的干掉吧... 点我看题 链接还是放洛谷的了... 题意:给一个n*m的矩阵,在这个矩阵里选 r 行 c 列,然后这 r 行 c 列所相交的格子为新矩阵的, ...