Erlo

linux下使用chattr创建一个连root都无法删除的文件

时间:2020-11-12   阅读:25次   来源:博客园
页面报错
点赞

一.关于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

相关推荐

提交留言

评论留言

还没有评论留言,赶紧来抢楼吧~~

吐槽小黑屋()

* 这里是“吐槽小黑屋”,所有人可看,只保留当天信息。

  • Erlo吐槽

    Erlo.vip2021-01-22 14:48:13Hello、欢迎使用吐槽小黑屋,这就是个吐槽的地方。
  • 返回顶部

    给这篇文章打个标签吧~

    棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认