实战:创建一个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. PAT 1148 Werewolf - Simple Version [难理解]

    1148 Werewolf - Simple Version (20 分) Werewolf(狼人杀) is a game in which the players are partitioned i ...

  2. SpringMVC-SimpleDEMO

    本博文主要将如何配置一个简单的SpringMVC的DEMO,由上一讲的SpringMVC工作流程来看,配置一个SpringMVC的步骤是简单而清晰的. 一.引入SpringMVC所需依赖   < ...

  3. 记录:python读取excel文件

    由于最近老是用到python读取excel文件,所以特意记录一下python读取excel文件的大体框架. 库:xlrd(读),直接pip安装即可.想要写excel文件的话,安装xlwd库即可,也是直 ...

  4. Linux系统——本地定制化yum仓库部署

    1)开启yum仓库配置文件 /etc/yum.conf的keepcache功能 (开启一个新的虚拟机) 将keepcache=0改为1,修改配置文件后重新清空缓存(1默认下载的安装包不删除,才可以实现 ...

  5. iClap助力移动互联网企业实现规范化管理

    移动互联网的迅速崛起,智能移动客户端深刻而全面地影响着人类生活与工作习惯.而企业办公已从原始的纸张办公,到固定PC办公,跨入到一个应用范围更广.效率更高的移动办公时代.由静生动,让企业办公更加人性化和 ...

  6. appium服务关键字

    关键字 描述 实例 automationName 你想使用的自动化测试引擎 Appium (默认) 或 Selendroid platformName 你要测试的手机操作系统 iOS, Android ...

  7. Ubuntu16.04系统Python3相关环境或模块安装

    前提:一般用户安装都命令前都需要sudo ,或者在root用户下 1.Ubuntu 16.04 安装PyCharm Ubuntu 16.04 安装PyCharm 本文通过第三方源安装PyCharm,好 ...

  8. Vuejs开发环境搭建及热更新

    一.安装NPM 1.1最新稳定版本: npm install vue 二.命令行工具安装 国内速度慢,使用淘宝镜像: npm install -g cnpm --registry=https://re ...

  9. 将std::array转换成std::tuple

    template<typename Array, std::size_t... Index> decltype(auto) array2tuple_impl(const Array& ...

  10. 337APuzzles

    dangerous /*大水题目.不解释 给你m个数,从中选出n个,保证最大值和最小值的差值最小, 做法:从小到大排序,然后暴力枚举每个长度是n的序列*/ #include<stdio.h> ...