服务器被挂挖矿木马+改root密码,阿里云直接登录重新修改root的解决方案

lsattr /etc/shadow

如果输出包含 i(如 ----i---------),说明被锁定了。是的,就是这一种

太好了!你已经定位到问题根源了:

/etc/shadow 被设置了不可变(immutable)属性(i 标志) ,导致 userdelpasswdchmod 等任何修改操作都被系统拒绝。

这是 Linux 的一种安全机制(通过 chattr +i 启用),连 root 用户也无法修改或删除该文件,除非先移除这个属性。


🔓 解决方法:移除不可变属性

步骤 1:确保你是 真正的 root
bash 复制代码
# 如果你还没切换到 root,请先获取 root 权限
sudo -i
# 或
su -

验证:

bash 复制代码
id
# 必须显示 uid=0(root)

⚠️ 注意:即使有 i 属性,只有 root 才能用 chattr -i 移除它。普通用户(包括有 sudo 的用户)在未真正成为 root 前无法操作。


步骤 2:移除 /etc/shadow 的不可变属性
bash 复制代码
chattr -i /etc/shadow

✅ 成功执行后,不会有任何输出(静默成功)。


步骤 3:验证是否已解除
bash 复制代码
lsattr /etc/shadow

正常输出应为:

text 复制代码
---------------- /etc/shadow

(不再有 i


步骤 4:现在可以安全删除用户了
bash 复制代码
userdel -r vendor

✅ 这次应该不会再报错了!


🛡️ 额外建议:检查其他关键文件是否也被锁定

有时安全脚本会批量锁定敏感文件,建议顺带检查:

bash 复制代码
lsattr /etc/passwd
lsattr /etc/group
lsattr /etc/gshadow

如果发现其他文件也有 i,同样用 chattr -i 解除:

bash 复制代码
chattr -i /etc/passwd
chattr -i /etc/group
# etc.

💡 但注意:不要随意给这些文件重新加 i,除非你明确知道自己在做什么。错误的 immutable 设置会导致系统无法创建/删除用户、改密码等,运维极其困难。


❓为什么会设置 i 属性?

常见原因:

  • 安全加固脚本(如等保合规要求)
  • 防篡改配置(防止恶意修改密码)
  • 误操作(有人执行了 chattr +i /etc/shadow 但忘了)

但在云服务器上,一般不建议长期锁定 /etc/shadow,因为它会阻碍正常的用户管理。


✅ 总结命令(一键执行)

bash 复制代码
sudo -i
chattr -i /etc/shadow
userdel -r vendor

完成后,你的 vendor 用户及其家目录将被彻底删除。


如果你后续还需要创建新用户、修改密码等操作,现在都可以正常进行了。

如有其他问题,欢迎继续提问!

相关推荐
Flynt3 天前
npm v12 来了:allowScripts 默认关闭,我的项目差点跑不起来
安全·npm·node.js
乘云数字DATABUFF4 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
荣--6 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森6 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜6 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
冬奇Lab7 天前
Skill 系列(02):Skill 安全风险——三类攻击面的实战测试
人工智能·安全·开源
SelectDB7 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
zzzzzz3109 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode9 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户03284722207010 天前
如何搭建本地yum源(上)
运维