一.关于chattr,lsattr

1.chattr 的作用:改变一个Linux文件系统上的文件属性。

2.chattr用来改变文件、目录的属性,lsattr用来查看文件、目录的属性。

3.chattr语法为:chattr [ -RVf ] [ -v version ] [ mode ] files…,最关键的是在[mode]部分,[mode]部分是由+-=和[ASacDdIijsTtu]这些字

符组合的,这部分是用来控制文件的属性。常见参数如下:

+ :在原有参数设定基础上,追加参数。
- :在原有参数设定基础上,移除参数。
= :更新为指定参数设定。 A:即Atime,告诉系统不要修改对这个文件的最后访问时间。
S:即Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。
a:即Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。
b:不更新文件或目录的最后存取时间。
c:将文件或目录压缩后存放。
d:当dump程序执行时,该文件或目录不会被dump备份。
D:检查压缩文件中的错误。
i:即Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。
s:彻底删除文件,不可恢复,因为是从磁盘上删除,然后用0填充文件所在区域。
u:当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件,用来防止意外删除文件或目录。
t:文件系统支持尾部合并(tail-merging)。
X:可以直接访问压缩文件的内容。

二.创建一个连root都无法删除的文件

[root@node5 ~]# ll linuxshell.sh
-rw-r--r-- 1 root root 181 Oct 12 11:57 linuxshell.sh
[root@node5 ~]# chattr +i linuxshell.sh
[root@node5 ~]# ll linuxshell.sh
-rw-r--r-- 1 root root 181 Oct 12 11:57 linuxshell.sh
[root@node5 ~]# rm -rf linuxshell.sh
rm: cannot remove ‘linuxshell.sh’: Operation not permitted [root@node5 ~]# lsattr linuxshell.sh
----i----------- linuxshell.sh
[root@node5 ~]# chattr -i linuxshell.sh [root@node5 ~]# lsattr linuxshell.sh
---------------- linuxshell.sh
[root@node5 ~]# rm -rf linuxshell.sh [root@node5 ~]# chattr +a lll.sh
[root@node5 ~]# lsattr lll.sh
-----a---------- lll.sh
[root@node5 ~]# echo aaa >> lll.sh
[root@node5 ~]# rm -rf lll.sh
rm: cannot remove ‘lll.sh’: Operation not permitted
[root@node5 ~]# chattr -a lll.sh
[root@node5 ~]# lsattr lll.sh
---------------- lll.sh
[root@node5 ~]# rm -rf lll.sh

参考链接:http://www.ha97.com/5172.html

linux下使用chattr创建一个连root都无法删除的文件的更多相关文章

  1. Linux下useradd命令创建的用户不能登录的问题

    Linux下useradd命令创建的用户不能登录的问题  问题: 用useradd命令新创建一个用户tester 密码pwdtest mkdir -p /home/tester(创建文件夹) user ...

  2. 《linux下进程的创建,执行,监控和终止》

    <linux下进程的创建,执行,监控和终止> http://blog.csdn.net/miss_acha/article/details/43671047 http://blog.csd ...

  3. linux下开启SSH,并且允许root用户远程登录,允许无密码登录

    参考:http://blog.csdn.net/jia0511/article/details/8237698 1. 允许root用户远程登录 修改ssh服务配置文件 sudo vi /etc/ssh ...

  4. 在Linux下,如何分析一个程序达到性能瓶颈的原因

    0.在Linux下,如何分析一个程序达到性能瓶颈的原因,请分别从CPU.内存.IO.网络的角度判断是谁导致的瓶颈?注意现在的机器CPU是多核 1.用sar -n DEV 1 10 2.用iotop命令 ...

  5. 【LINUX】——linux如何使用Python创建一个web服务

    问:linux如何使用Python创建一个web服务? 答:一句话,Python! 一句代码: /usr/local/bin/python -m SimpleHTTPServer 8686 > ...

  6. (转)Linux下通过rsync与inotify(异步文件系统事件监控机制)实现文件实时同步

    Linux下通过rsync与inotify(异步文件系统事件监控机制)实现文件实时同步原文:http://www.summerspacestation.com/linux%E4%B8%8B%E9%80 ...

  7. 在Linux下给mysql创建用户并分配权限及问题解决方案

    在linux下安装mysql请参考在linux系统中安装mysql服务器详细步骤 1.新建用户 //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql ...

  8. Linux下进程的创建过程分析(_do_fork do_fork详解)--Linux进程的管理与调度(八)

    Unix标准的复制进程的系统调用时fork(即分叉),但是Linux,BSD等操作系统并不止实现这一个,确切的说linux实现了三个,fork,vfork,clone(确切说vfork创造出来的是轻量 ...

  9. LINUX下 一句话添加用户并设置ROOT权限

    来源:linux一条命令添加用户并设置密码 linux一条命令添加一个root级别账户并设置密码 LINUX提权,除非是拿的EXP反弹CMD,才会有回显,这样添加管理员方便了. 通常是在SHELL,菜 ...

  10. ASP.NET Core Linux下为 dotnet 创建守护进程(必备知识)

    前言 在上篇文章中介绍了如何在 Docker 容器中部署我们的 asp.net core 应用程序,本篇主要是怎么样为我们在 Linux 或者 macOs 中部署的 dotnet 程序创建一个守护进程 ...

随机推荐

  1. openGauss资源池化开发者入门指南(一)

    openGauss资源池化开发者入门指南(一) 一.内容简介 openGauss 资源池化是 openGauss 推出的一种新型的集群架构.通过 DMS 和 DSS 组件,实现集群中多个节点的底层存储 ...

  2. leetcode-数组中两元素的最大乘积

    题目描述 给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (nums[i]-1)*(nums[j]-1) 取得最大值. 请你计算并返回该式的最大值. 示例 1: 输入:nums ...

  3. CentOS 9 Basic Developing environment and IDEs installing guide

    I . Install Google Chrome browser Check the installed chrome and related packages with the command & ...

  4. CentOS 6.5快速部署HTTP WEB服务器和FTP服务器

    CentOS 6.5快速部署HTTP WEB服务器和FTP服务器 时间:2014-03-29    来源:服务器之家    投稿:root    点击:210次 [题记]本文使用CentOS 6.5m ...

  5. 重走py 之路 ——列表(一)

    前言 因为最近公司有python项目维护,所以把python的基础入门的书整理一遍,因为有些忘记了,同时在看<<python编程>>这本书的时候觉得对有基础的有很多的赘余,打算 ...

  6. vue项目中嵌入软键盘(中文/英文)

    键盘效果是这样,样式可以自己调整.gittee地址:https://gitee.com/houxianzhou/VirtualKeyboard.git步骤1 安装使用jQuery npm instal ...

  7. 力扣541(java)-反转字符串Ⅱ(简单)

    题目: 给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符. 如果剩余字符少于 k 个,则将剩余字符全部反转.如果剩余字符小于 2k ...

  8. 牛客网-SQL专项训练3

    ①这里有一张user表包含如下信息: 现在要把name列的所有值都转换为大写,并将字段重命名为names,像下面这样: SQL语句为:SELECT UCASE(name) AS names FROM ...

  9. Effective Java 在工作中的应用总结

    简介: <Effective Java>是一本经典的 Java 学习宝典,值得每位 Java 开发者阅读.笔者将书中和平日工作较密切的知识点做了部分总结. ​ 作者 | 宜秋 来源 | 阿 ...

  10. LlamaIndex 安装与配置(不含OpenAI)

    pip install llama-index 这是一个包含以下组件的启动包: llama-index-core llama-index-legacy (暂时包含) llama-index-llms- ...