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

在维护TP6项目时,遇到无法删除Linux中的vendor文件夹的问题,由于防篡改设置,即使尝试用rm-rf和chattr命令也无法成功。最终发现是宝塔的防篡改功能在起作用,关闭该功能后才能顺利更新文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        今天遇到一个很恼火的问题,就是在维护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<版本编号>设置文件或目录版本
+<属性>开启文件或目录的该项属性
-<属性>关闭文件或目录的该项属性
=<属性>指定文件或目录的该项属性

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

希望对您有所帮助吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值