linux下rm无法删除文件夹,在linux下解决rm: cannot remove : Operation not permitted 无法删除文件...

今天在操作一个文件的时候,遇到一个问题。使用rm命令无法删除一个文件目录

报错rm: cannot remove : Operation not permitted

经过我的一番查询,原来是lsattr chattr方面的知识。  通过chattr命令可以修改属性能够提高系统的安全 性,但是它并不适合所有的目录。

chattr命令不能保护/、/dev、/tmp、/var目录。lsattr命令是显示chattr命令设置的文件属性。

cf868722c22d17c9066de55b56e6b8be.png

以下是对于两个指令的详细解析

chattr

语法: [root @test /root ]# chattr [+-=][ASacdistu] [档案或目录名称]

参数说明:

+-= :分别为 [+ 增加] [- 减少] [= 设定] 属性的意思

A  :当设定了 A 这个属性时,这个档案(或目录)的存取时间 atime (access) 将不可被修改,

可避免例如手提式计算机容易有磁盘 I/O 错误的情况发生!

S  :这个功能有点类似 sync 的功能!就是会将数据同步写入磁盘当中!可以有效的避免数据流失!

a  :当设定 a 之后,这个档案将只能增加数据,而不能删除,只有 root 才能设定这个属性。

c  :这个属性设定之后,将会自动的将此档案『压缩』,在读取的时候将会自动解压缩出来!

但是在储存的时候,将会先进行压缩之后再储存(看来对于大档案似乎蛮有用的!)

d  :当 dump (备份)程序被执行的时候,设定 d 属性将可使该档案(或目录)具有 dump 功效!

i  :这个 i 可就很厉害了!他可以让一个档案『不能被删除、改名、设定连结也无法写入或新增数据!

对于系统安全性有相当大的帮助!

j  :当使用 ext3 这个档案系统格式时,设定 j 属性将会使档案在写入时先记录在 journal 中!

但是当 filesystem 设定参数为 data=journalled时,由于已经设定了日志了,所以这个属性无效!

s  :当档案设定了 s 参数时,他将会被完全的移除出这个硬盘空间。

u  :与 s 相反的,当使用 u 来设定档案时,则数据内容其实还存在磁盘中,可以使用来 undeletion.

示例:

[root @test /root]# chattr +i/etc/shadow<==呵呵!如此则无法更动这个档案啰!

[root @test /root]# chattr -i /etc/shadow <==解除该属性!

说明:

这这个指令是重要的,尤其是在系统的安全性上面!由于这些属性是隐藏的性质,所以需要以 lsattr才能看到该属性呦!其中,最重要的当属 +i这个属性,因为他可以让一个档案无法被更动,对于需要强烈的系统安全的人来说,真是相当的重要的!里头还有相当多的属性是需要 root才能设定的呢!此外,如果是 log file 这种的登录档,就更需要 +a这个可以增加,但不会被杀掉的参数了!

lsattr

语法: [root @test /root ]# lsattr [-aR]

参数说明:

-a :将隐藏文件的属性也秀出来;

-R :连同子目录的数据也一并列出来!

示例:

[root @test /root]# chattr +i .bash_logout

[root @test /root]# lsattr -a

-------------- ./.

-------------- ./..

---i---------- ./.bash_logout

-------------- ./.bash_profile

-------------- ./.bashrc

-------------- ./.emacs

-------------- ./.screenrc

说明:

这两个指令在使用上必须要特别小心,例如:将 /etc/shadow 这个重要的密码记录档案给他设定成为具有 i的属性,那么过了若干天之后,你突然要新增使用者,却一直无法新增!别怀疑,赶快去将 i 的属性拿掉吧!

举例,比如我下面这个1.txt没法删除

[email protected]:~/test# ls

1.txt

[email protected]:~/test# rm -rf 1.txt

rm: cannot remove '1.txt': Operation not permitted

我先查看以下他的属性

[email protected]:~/test# lsattr 1.txt

----ia--------e---- 1.txt

用chattr去掉文件属性

[email protected]:~/test# chattr -i 1.txt

[email protected]:~/test# chattr -a 1.txt

再次删除该文件,即可正常删除了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值