飞牛 fnOS 远程挂载恢复后残留目录无法删除:immutable 属性排查记录


文章封面

飞牛 fnOS 远程挂载恢复后残留目录无法删除:immutable 属性排查记录

背景

之前在飞牛 NAS(fnOS)中尝试了远程挂载功能,将夸克云盘等网盘通过系统远程挂载映射到本地文件系统。

参考飞牛社区方案,通过修改:

/etc/mountmgr/mount_info.json

中的 mountPoint 参数,将系统默认生成的远程挂载路径调整到用户目录下,例如:

/vol1/1000/_quarkCloudDrive

这样可以让远程挂载目录直接显示在“我的文件”中,也方便 Docker 等应用调用。

后来恢复原来的远程挂载配置并删除相关挂载后,本地残留了一个目录:

/vol1/1000/_quarkCloudDrive

尝试删除时,却遇到了权限问题。

问题现象

执行:

rmdir /vol1/1000/_quarkCloudDrive

提示:

rmdir: failed to remove '/vol1/1000/_quarkCloudDrive': Operation not permitted

由于当前已经是 root 用户,因此首先排除了普通文件权限不足的问题。

继续检查磁盘挂载状态:

mount | grep /vol1

结果类似:

/dev/mapper/xxx on /vol1 type ext4 (rw,relatime,prjquota,stripe=256)

可以确认:

  • 文件系统为 ext4;
  • 当前挂载参数为 rw,具备读写权限;
  • 因此不是磁盘只读导致无法删除。

查找真正原因

使用 lsattr 查看目录属性:

lsattr -d /vol1/1000/_quarkCloudDrive

返回:

----i---------e----P-- /vol1/1000/_quarkCloudDrive

其中最关键的是:

i

这个标志表示目录设置了 immutable(不可变)属性

Linux 文件或目录设置 immutable 属性后,即使当前用户是 root,也不能:

  • 删除文件或目录;
  • 修改文件内容;
  • 重命名;
  • 移动文件或目录。

因此,直接执行:

rm -rf /vol1/1000/_quarkCloudDrive

同样会失败。

解决方法

1. 移除 immutable 属性

执行:

chattr -i /vol1/1000/_quarkCloudDrive

然后再次检查:

lsattr -d /vol1/1000/_quarkCloudDrive

确认输出中已经没有 i 标志。

2. 删除残留目录

确认属性已清除后,执行:

rm -rf /vol1/1000/_quarkCloudDrive

目录即可正常删除。

如果目录内部文件也被锁定

如果清除目录属性后仍然删除失败,可以递归检查目录内部的文件:

lsattr -R /vol1/1000/_quarkCloudDrive | grep i

如果发现大量文件带有 i 属性,可以递归移除:

chattr -R -i /vol1/1000/_quarkCloudDrive

然后再次执行:

rm -rf /vol1/1000/_quarkCloudDrive

总结

这次问题并不是:

  • root 权限不足;
  • ext4 文件系统只读;
  • NAS ACL 限制。

本次实际原因是:远程挂载处理后,残留目录被设置了 immutable 属性。

排查 Linux 中“root 用户也无法删除”的文件或目录时,可以按照下面的顺序检查:

# 查看普通权限
ls -ld 目录

# 查看文件属性
lsattr -d 目录

# 查看挂载状态
mount | grep 路径

# 清除 immutable 属性
chattr -i 目录

# 删除目录
rm -rf 目录

对于使用飞牛 NAS 远程挂载、自定义挂载路径的用户,如果恢复配置后发现残留目录无法删除,可以优先检查 lsattr 输出中是否存在 i 标志。

环境记录

  • 系统:飞牛 fnOS
  • 文件系统:ext4
  • 场景:远程挂载网盘并映射到本地目录
  • 问题目录:/vol1/1000/_quarkCloudDrive
  • 根因:immutable attribute(i
  • 解决命令:chattr -i
版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
MCP自动发表文章
上一篇:Docker 常用命令速查:容器、镜像与清理
下一篇:没有了
评论列表

发表评论

评论内容
昵称:
验证码:
验证码
关联文章

fnOS 远程挂载恢复残留目录无法删除immutable 属性排查记录
虚拟机中FNOS硬盘扩容
nas ssh连接更改IP地址
资料同步到网盘
Windows 文件夹设置了Everyone权限无法删除
GIT彻底删除文件以及历史记录
文件或目录损坏且无法读取
suse linux xrdp无法远程桌面连接
Docker 部署文章发布时间变成 UTC 的排查与修复
Rocky Linux 虚拟机磁盘扩容 lsblk 没变化的排查与处理
CodeMirror配合js-beautify格式化代码,光标恢复到原来位置
无法处理文件 **.resx,因为它位于 Internet 或受限区域中,或者文件上具有 Web 标记。要想处理这些文件,请删除 Web 标记。
PVE从Exsi导入win10,硬盘无法识别
用户支付交易记录详情商家头像展示规则
C盘扩容被恢复分区挡住了
windows远程桌面(mstsc)服务器不能复制粘贴
【高危漏洞】JetBrains idea项目目录泄露【编号:14206708】
关于PVE使用命令添加挂载存储
如何从Gitblit服务器恢复Git仓库:不需要重新部署
远程控制软件

热门标签
.NET Core .NET Reactor ag-grid AI发布 api安全 ASP.NET Core C#DLL加密 C#播放声音 C#代码混淆 C#代码加密 ChromeDriver Codex DateTime DBeaver devexpress devTool DLL混淆 edge.js EF EFCore Electron element-ui el-form el-table excel FastReport FileStream FolderBrowerDialog FolderSelectDialog form提交 git gridcontrol gridview input javascript json字符串 JS转换对象JSON jwt JWT授权 linq log Math MCP mitmproxy MVC MySQL Navicat netstat nginx node_modules NSwag Nuget Nuget镜像 number PowerShell pyinstaller python pythoncom python爬虫 python抓包 pywin32 redis Requests-html RestSharp Selenium sql SQL Server Swagger to-cms Visual Studio VSCode vue VueRouter vue路由 VUE页面通讯 Webpack Windows Windows服务 winform wmi xlrd yaml YESCMS YESWEB开发框架 白象 表单提交 播放声音 打开URL 代码混淆 弹窗提醒 端口占用 对象转换 分布式 公共字典 机器码 进程排查 静态资源 开发指南 路由参数 密钥 配置教程 配置文件 权限 人工智能 任务 任务调度 日期间隔 日志 日志记录 省市区 授权验证 数据库 四舍五入 文案 文件读取 文件夹选择 文件目录选择 问题排查 行政区域数据 页面通讯 中间件 CSharp 事务锁 工单系统 并发控制 重复提交 CMS Markdig Markdown markdown-it marked 技术选型 VS Code 开发工具 源代码管理 版本控制 Docker PostgreSQL 时区 部署排查 CMS架构 EF Core 主题系统 二次开发 插件系统 容器 运维命令 镜像清理 Linux NAS 远程挂载 飞牛 fnOS
联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码