执行node报Permission denied 权限为空无法修改如何修复
Node二进制文件权限0000无法修改/执行修复方案
问题特征
当前/usr/bin/node文件权限位显示为0000(---------),直接执行node命令返回权限拒绝,root用户执行chmod修改权限返回Operation not permitted,触发原因通常为文件被设置了Linux扩展不可变属性,或文件所在分区被以只读模式挂载。
修复步骤
第一步:排查文件扩展属性
在/usr/bin目录下执行命令查看node文件的扩展属性:lsattr node如果输出结果中包含
i标识,说明文件被设置了不可变(immutable)属性:该属性生效时,哪怕root用户也无法修改文件权限、删除、重命名、写入文件内容。- 移除不可变属性:
chattr -i node - 给node二进制设置正常可执行权限(官方安装包默认权限为755):
chmod 755 node - 验证修复结果:
命令正常输出Node版本号即修复完成。node -v
- 移除不可变属性:
第二步:排查分区挂载状态
如果执行lsattr node没有看到i标识,执行命令检查/usr所在分区的挂载参数:mount | grep /usr如果输出中包含
ro参数,说明分区被以只读模式挂载,该情况通常由磁盘坏道、文件系统校验错误、磁盘空间耗尽触发系统自我保护导致。先处理对应磁盘问题后,执行命令重新将分区挂载为可读写模式:mount -o remount,rw /usr挂载完成后再执行
chmod 755 node即可恢复正常。
补充说明
如果修复后node文件权限反复变回000,需排查主机是否存在恶意篡改脚本、异常安全防护规则,或开启了系统级自动还原机制,对应关停异常进程、删除篡改规则即可。
内容的提问来源于stack exchange,提问作者John Doe
相关产品推荐
相关产品推荐

