Linux中删不掉的文件——隐藏权限(lsattr、chattr命令)

命令


我的linux系统中有一个普通文件

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

现在我想把它删掉了

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

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

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

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

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

下面列举一下可用的选项和一些字母的解释

chattr

chattr [-RVf] [-+=AacDdeijsSu] [-v version] files...
选项
-R:递归处理,将指令目录下的所有文件及子目录一并处理;
-v<版本编号>:设置文件或目录版本;
-V:显示指令执行过程;
+<属性>:开启文件或目录的该项属性;
-<属性>:关闭文件或目录的该项属性;
=<属性>:指定文件或目录的该项属性。
模式
a:让文件或目录仅供附加用途;
b:不更新文件或目录的最后存取时间;
c:将文件或目录压缩后存放;
d:将文件或目录排除在倾倒操作之外;
i:不得任意更动文件或目录;
s:保密性删除文件或目录;
S:即时更新文件或目录;
u:预防意外删除。

lsattr

lsattr [-RVadlv] [files...]
选项
-E:可显示设备属性的当前值,但这个当前值是从用户设备数据库中获得的,而不是从设备直接获得的。
-D:显示属性的名称,属性的默认值,描述和用户是否可以修改属性值的标志。
-R:递归的操作方式;
-V:显示指令的版本信息;
-a:列出目录中的所有文件,包括隐藏文件。

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

yu@ubuntu:/home/yu$ lsattr test
-------------e- test
yu@ubuntu:/home/yu$ sudo chattr +a test
[sudo] password for yu:
yu@ubuntu:/home/yu$ lsattr test
-----a-------e- test
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值