Linux 文件权限正确却删除失败怎么查:lsattr、chattr 不可变位与挂载属性
删一个 root 用户也能写入的日志文件,却收到“Operation not permitted”,这类问题通常不是普通的读写权限。先检查文件属性,再判断目录权限和挂载状态,能把“权限看着没问题”的误判拆开。
删除失败时先执行
lsattr -- /var/tmp/app.log;如果结果含有i,先用chattr -i解除不可变位,再重新检查目录权限和挂载属性。
要点速览
lsattr看到的i表示文件不可变,普通删除会被内核拒绝。chattr -i只处理文件属性,不会替代目录写权限检查。- 目录没有写权限、文件系统只读时,解除不可变位也不能删除。
- 修复后要用
lsattr、findmnt和一次可控删除共同验收。
先把“权限正常”拆成三个检查面
Linux 删除文件看的是父目录的写入和执行权限,而不是文件本身的写权限。除此之外,文件的扩展属性和文件系统是否以只读方式挂载,也会在更早的层面拒绝操作。排查时不要一上来就递归改权限,先保留现场。
target=/var/tmp/app.log
ls -l -- "$target"
namei -l -- "$target"
lsattr -- "$target"
findmnt -T "$target" -o TARGET,SOURCE,FSTYPE,OPTIONS
这里的四条命令分别回答:文件当前模式是什么、路径上的目录权限如何、扩展属性是否含有 i、目标路径落在哪个挂载点以及是否带有 ro。先看结果再决定修复动作。

lsattr 里的 i 为什么会拦住删除
lsattr 输出中的 i 是 immutable 属性。被标记的文件不能被修改、删除或重命名,即使文件模式是 -rw-r--r--,也可能返回 Operation not permitted。如果属性来自目录,还要继续检查目录本身,不能只盯着文件。
$ lsattr -- /var/tmp/app.log
----i--------- /var/tmp/app.log
$ rm -- /var/tmp/app.log
rm: cannot remove '/var/tmp/app.log': Operation not permitted
这时先记录属性,再判断变更是否经过审批。对业务日志、系统配置和证据文件,解除保护前应确认没有备份、审计或保留策略要求。
用 chattr -i 做最小修复
确认目标就是误加的不可变位后,使用精确路径解除属性,不要对整个目录递归执行。下面的顺序把“解除属性”和“删除文件”分成两个动作,中间可以插入复核。
target=/var/tmp/app.log
sudo chattr -i -- "$target"
lsattr -- "$target"
sudo rm -- "$target"
第二次 lsattr 不应再出现 i。删除命令成功后用 test ! -e 检查路径已经消失;如果仍然失败,回到父目录权限与挂载属性,不要重复执行 chattr。

解除 i 仍失败时看目录和挂载点
目录没有写权限时,删除动作依然会失败。namei -l 能把 /var、/var/tmp 和目标文件的权限逐段列出来;目录至少需要对执行删除的用户开放写和执行权限。若 findmnt 的选项中出现 ro,则是文件系统只读,应该处理挂载或底层存储故障。
namei -l -- /var/tmp/app.log
findmnt -T /var/tmp/app.log -o TARGET,OPTIONS
test -w /var/tmp && test -x /var/tmp && echo "parent directory writable"
test ! -e /var/tmp/app.log && echo "delete verified"
如果是只读挂载,不要直接执行 mount -o remount,rw 作为默认答案。先确认为什么变成只读、是否存在 I/O 错误,再按机器的变更流程恢复;对生产盘来说,保护数据比立即删除一个文件更重要。
常见问题
文件权限是 644,为什么还是不能删除?
删除主要受父目录权限、不可变位和挂载模式影响。644 只描述文件模式,不能证明这三个检查面都允许删除。
chattr -i 会改变文件内容吗?
不会。它只移除 immutable 属性,但这个动作本身需要足够权限,并且应先确认保护位确实可以解除。
lsattr 没有 i 还要查什么?
继续看父目录的写和执行权限,再用 findmnt -T 检查是否只读;必要时查看内核日志中的存储错误。
把修复结果留成可复查证据
一次合格的验收至少包括:lsattr 不再显示 i,目标挂载点不是只读,父目录允许当前操作者写入和访问,最后用 test ! -e 得到删除后的明确状态。这样下次遇到相同错误,能区分属性保护、目录权限和存储故障,而不是继续盲目改 chmod。
培训机构收取课程费后多久应开具发票:预收款、开票时点与留证
- 上一篇
- 培训机构收取课程费后多久应开具发票:预收款、开票时点与留证
- 下一篇
- 雾海盐沼里的黑色风车手机壁纸提示词:冷灰锁屏留白与暖金风向标变体
-
- 文章 · linux | 4小时前 |
- Linux ethtool 怎么判断网卡丢包发生在哪一层:ring 参数、统计计数与复测
- 192浏览 收藏
-
- 文章 · linux | 9小时前 |
- Linux iptables 规则命中次数如何核对:计数器查看与规则顺序排查
- 235浏览 收藏
-
- 文章 · linux | 13小时前 | 定时器 · Linux · 运维 · Linux journalctl Timer
- Linux 定时器如何确认是否按时触发:状态命令、日志与下次运行时间
- 277浏览 收藏
-
- 文章 · linux | 1天前 | Linux · unit文件 · 服务维护 · Linux 服务配置 daemon-reload unit文件
- Linux 服务为什么重启后配置失效:daemon-reload、enable 与启动状态的排查顺序
- 365浏览 收藏
-
- 文章 · linux | 1天前 | Linux · 故障排查 · 系统运维 · Linux coredumpctl core dump 服务化core收集器
- Linux core dump 怎么安全落盘:systemd-coredump 的大小、权限与保留策略
- 495浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- ljg-skills
- ljg-skills 是李继刚开源的 AI 技能与提示词集合,面向大模型使用者整理了一批可复用的 prompt、角色设定和任务技能模板,适合用于学习提示词设计、搭建个人 AI 工作流和沉淀团队常用智能体能力。
- 5434次使用
-
- MELO音乐
- MELO音乐是一站式AI视频与音乐制作助手,对标suno, udio的高品质体验。提供伴奏生成、原创写词、无损导出、哼唱识曲、混音变声等全套音频与短视频编辑工具。无论是流行Kpop、电音说唱、民谣古风、摇滚儿歌还是商用轻音乐,MELO为你免费谱曲,轻松做同款!
- 4919次使用
-
- UniScribe
- UniScribe 是一款 AI 音视频转文字与内容整理工具,支持上传音频、视频文件或粘贴 YouTube 链接,自动生成转写文本、摘要、思维导图和关键问题,并支持多格式导出,适合会议记录、课程学习、访谈整理和内容创作复盘。
- 4842次使用
-
- 剧云
- 剧云是专业中文剧本创作平台,安全稳定运行十余年,集成AI编剧、剧本医生审核、人物小传、剧情关系图、大纲编写、多人协作、Word导入导出、版权管控功能,数据安全防护,轻松高效创作剧本。
- 5105次使用
-
- 万象有声
- 万象有声,一个专为有声创作者打造的新一代智能有声内容创作平台。平台提供专业的智能拆章、智能画本编辑、AI配音、AI生成音效、后期制作、智能对轨、智能审听等有声创作全流程工具,可以帮助创作者高效、低成本创作出引人入胜的有声作品。立即体验,让有声书制作更简单!
- 5059次使用
-
- Linux vmstat 如何分辨内存抖动与磁盘等待:si、so、wa 与复测顺序
- 2026-08-30 501浏览
-
- Linux搭建vsftpdFTP服务器教程
- 2026-04-30 501浏览
-
- Shell脚本安装教程:.sh一键安装指南
- 2026-03-16 501浏览
-
- Linux清空文件内容的几种方法
- 2025-12-01 501浏览
-
- Linux命令行下载文件技巧
- 2025-11-23 501浏览

