栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

隐藏权限(lsattr/chattr命令)~Linux系统为什么存在一些文件无法删除?

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

隐藏权限(lsattr/chattr命令)~Linux系统为什么存在一些文件无法删除?

lsattr命令:

lsattr命令用于显示文件的属性。

lsattr [-RVadlv] [file | folder]

参数:
-a: 显示所有文件和目录(包括隐藏文件),包括以.为名称开头字符的额外内建,即现行目录.与上层目录..。
-d: 显示目录名称,而非其内容。
-l: 指出要显示设备的逻辑名称。
-R: 递归处理,将指定目录下的所有文件及子目录一并处理。
-v: 显示文件或目录版本。
-V: 显示版本信息。

文件属性:
a: 使文件或目录仅供附加用途。
b: 不更新文件或目录的最后存取时间。
c: 将文件或目录压缩后存放。
d: 将文件或目录排除在倾倒操作之外。
i: 不得任意更动文件或目录。
s: 保密性删除文件或目录。
S: 即时更新文件或目录。
u: 预防意外删除。
chattr命令:

chattr命令用于修改文件的属性。

chattr [-RVf] [-+=AacDdeijsSu] [-v version] files...

选项
-R:递归处理,将指令目录下的所有文件及子目录一并处理;
-v<版本编号>:设置文件或目录版本;
-V:显示指令执行过程;
+<属性>:开启文件或目录的该项属性;
-<属性>:关闭文件或目录的该项属性;
=<属性>:指定文件或目录的该项属性。

模式
a:让文件或目录仅供附加用途;
b:不更新文件或目录的最后存取时间;
c:将文件或目录压缩后存放;
d:将文件或目录排除在倾倒操作之外;
i:不得任意更动文件或目录;
s:保密性删除文件或目录;
S:即时更新文件或目录;
u:预防意外删除。
使用举例:

        例如你的linux系统中有一个普通文件:

you@ubuntu:/home/you$ ls -l test
-rwxr-xr-x 1 root root 10346  10月 30 12:08 test

        现在把它删掉,

you@ubuntu:/home/you$ sudo rm -rf test
rm: cannot remove `test': Operation not permitted

        删不掉!!!  居然有超级权限删除不掉的普通文件,疑惑中…
        查阅了一下资料,发现有隐藏属性这种更厉害的东西,使用 lsattr 命令查看了一下

you@ubuntu:/home/you$ lsattr test
-----a-------e- test

        看了一下a字母的作用:文件或目录仅可追加数据,不可删除等操作。使用 chattr 命令去掉a之后便可以正常删除。

you@ubuntu:/home/you$ sudo chattr -a test
you@ubuntu:/home/you$ lsattr test
-------------e- test
you@ubuntu:/home/you$ sudo rm -rf test
you@ubuntu:/home/you$

        若下次想把重要的内容上锁,防止意外删除,可以重新加上,当然也是需要root权限操作,并且使用普通的 ls 查看命令是看不出来的…

you@ubuntu:/home/you$ lsattr test
-------------e- test
you@ubuntu:/home/you$ sudo chattr +a test
[sudo] password for yu:
you@ubuntu:/home/you$ lsattr test
-----a-------e- test

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/995899.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号