实战:创建一个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无法删除的文件的更多相关文章

  1. 创建一个版本库,把文件夹用Git管理起来

    创建一个文件夹,把这个文件夹用Git管理起来,那么这个文件夹的改变都可以被Git跟踪到,当然也可以将Git中的文件还原到某一个时刻. 首先创建一个空的目录,然后将空的目录由Git来管理 1.建立一个文 ...

  2. 使用eventfd创建一个用于事件通知的文件描述符

    https://www.jianshu.com/p/57cc1d7d354f nat穿透代码c++

  3. 创建一个MongoDB数据库再到配置成Window服务再设置用户名密码

    1.安装MongoDB数据在官网下载安装 然后在C盘找到C:\Program Files\MongoDB\Server\4.0\bin这个可执行目录 使用cmd进入到这: 2.在C盘根目录创建一个名为 ...

  4. Hibernate的配置跟简单创建一个表并插入一条数据

    首先官网下载一个hibernate的架包,由于时间关系,博主已经分享到了百度网盘:https://pan.baidu.com/s/1Mw0Og3EKnouf84Njz9UicQ,提取码lens Hib ...

  5. Dapr 与 NestJs ,实战编写一个 Pub & Sub 装饰器

    Dapr 是一个可移植的.事件驱动的运行时,它使任何开发人员能够轻松构建出弹性的.无状态和有状态的应用程序,并可运行在云平台或边缘计算中,它同时也支持多种编程语言和开发框架.Dapr 确保开发人员专注 ...

  6. 为MongoDB创建一个Windows服务

    一:选型,根据机器的操作系统类型来选择合适的版本,使用下面的命令行查询机器的操作系统版本 wmic os get osarchitecture 二:下载并安装 附上下载链接 点击安装包,我这里是把文件 ...

  7. 创建一个提供数据 API 的 Node.js 网站

    创建站点目录 首先,创建一个文件夹用来保存你的站点文件,使用 mkdir 就可以了 PS C:\> mkdir mysite 然后,进入到这个文件夹进行下一步的操作. 创建包说明 使用记事本或者 ...

  8. 如何用 React Native 创建一个iOS APP?(三)

    前两部分,<如何用 React Native 创建一个iOS APP?>,<如何用 React Native 创建一个iOS APP (二)?>中,我们分别讲了用 React ...

  9. ROS学习记录(三)————创建一个简单的发布节点和订阅节点

    暑假在家有些懈怠,不,非常懈怠- -||!良心已经发痛了,想快些补回原来的进度,但忽然发现,中断了一段时间再重新去学习,有的地方连最基本的符号都忘记了 ,这次特意弄个最最基础的,恢复一下,以前的进度. ...

随机推荐

  1. MySQL 参数

    I see a lot of people filtering replication with binlog-do-db, binlog-ignore-db, replicate-do-db, an ...

  2. sql中表级约束和列级约束

    sql中表级约束和列级约束,在SQL SERVER中, (1) 对于基本表的约束分为列约束和表约束约束是限制用户输入到表中的数据的值的范围,一般分为列级约束与表级约束.列级约束有六种:主键Primar ...

  3. (转)extern关键字两种场景的使用

    第一种场景 -- extern extern关键字的作用是声明变量和函数为外部链接,即该变量或函数名在其它文件中可见.用其声明的变量或函数应该在别的文件或同一文件的其它地方定义. 例如语句:exter ...

  4. 页面优化——减少HTTP请求数

    1.关于减少http请求数 关于减少http请求数,是前端开发性能优化的一个非常重要方面,所以在基本所有的优化原则里,都有这一条原则:减少http请求数. 先不考虑其他的,我们先考虑为什么减少http ...

  5. PKU 3020 Antenna Placement(拆点+最小边覆盖)(最大匹配)

    题目大意:原题链接 一个矩形中,有N个城市’*’,现在这n个城市都要覆盖无线,若放置一个基站,那么它至多可以覆盖相邻的两个城市.问至少放置多少个基站才能使得所有的城市都覆盖无线? 提示:看清楚题目,' ...

  6. nginx配置访问图片路径(windows)

    简介 Nginx(("engine x")由俄罗斯的程序设计师Igor Sysoev所开发)是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.PO ...

  7. 在vi中打开多个文件,复制一个文件中多行到另一个文件中

    :set number 查看行号1.vi a.txt b.txt或者vi *.txt 2.文件间切换 :n切换到下一个文件,:wn保存再切换 :N到上一个文件,:wN保存再切换 :.=看当前行 3.比 ...

  8. php中获得数组长度的方法

    php中获得数组长度的方法   count统计数组里元素的个数:  strlen是统计数组中元素的长度: 你如果想统计数组中所有元素的长度,那就用循环统计吧tqeb 代码: $a  =  array( ...

  9. java中hashSet原理

    转自: http://blog.csdn.net/guoweimelon/article/details/50804799 HashSet是JavaMap类型的集合类中最常使用的,本文基于Java1. ...

  10. Kafka学习之(四)PHP操作Kafka

    简单测试 环境:Centos6.4,PHP7,kafka服务器IP:192.168.9.154,PHP服务器:192.168.9.157 在192.168.9.157创建目录和文件. //生产者 &l ...