Linux 删除文件提示:rm: cannot remove ‘XXXX‘: Operation not permitted 解决方案

        今天遇到一个很恼火的问题,就是在维护TP6项目时,无法在Linux中删除原有的vendor文件夹,更新进去新的内容,因为composer新require的必要的内容,本想着讲原有的删掉,直接讲压缩包放上去,解压,简单暴力,万万没想到。。。

    root@saas:/mnt/sites/saas# rm -rf vendor
    rm: cannot remove 'xxxx': Operation not permitted
    rm: cannot remove 'xxxx': Operation not permitted
    rm: cannot remove 'xxxx': Operation not permitted
    rm: cannot remove 'xxxx': Operation not permitted
    ....
    //N++个

用lsattr命令来查看是否是系统添加了i属性

    root@saas:/mnt/sites/saas# lsattr vendor
    ------i--------- XXX.php
    //.....

移除i属性

    root@saas:mnt/sites/saas# chattr -R -i vendor

递归比较暴力,但很有效,很速度。然后就可以使用

root@saas:/mnt/sites/saas# rm -rf vendor

        一般来说,到这步就可以成功删除了,但是可但是,我遇到了另外的意外,那就是还不行!是的,还是无法删除!还是无法删除!还是无法删除!

Operation not permitted

这个提示再次见面,我在这里要说的就是这个,我这里是因为用了宝塔,没错,就是宝塔的防篡改

 

看那防护记录,就知道我是多么的努力删除它,移动它,覆盖它,然并卵 ,最后讲放篡改开关关闭,就成功更新了vendor,心中万千羊驼在奔腾,开这个防篡改还想更新成功,想想都笑死。


课外延伸阅读

Linux的chattr命令可改变存放在ext2文件系统上的文件或目录属性:

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

使用语法

  1. chattr [-RV][-v<版本编号>][+/-/=<属性>][文件或目录...]

说明:

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

属性就是上面表格中的属性

希望对您有所帮助吧

猜你喜欢

转载自blog.csdn.net/ITMyFavorite/article/details/130467823