服务器被挂挖矿木马+改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 用户及其家目录将被彻底删除。


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

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

相关推荐
BreezeJiang14 小时前
从域名到 Node.js:一次云服务器请求经过了哪些层?
服务器
IT大白鼠16 小时前
Docker 实战 ELKF 日志监控:容器日志全栈收集分析方案
运维·docker·容器
贝锐1 天前
从国产化信创设备到商用安卓终端,向日葵如何帮助企业实现统一运维管理?
linux·运维·远程控制
yunlong32671 天前
吊车选型与载荷计算:避开4个坑,安全吊装不再难
安全·方案·事故·吊装·起重·吊装重量·吊装半径
IT大白鼠1 天前
MSF二次开发与自定义模块编写
网络·安全·web安全·msf
Flynt1 天前
1200个AI Agent自己组了个群,把Hugging Face黑了
安全·openai·agent
Julien20041 天前
调查和解决 SELinux 问题
linux·运维·服务器·网络·学习方法
天远Date Lab1 天前
零信任架构实战:基于天远双人婚姻评估查询构建自动化房产按揭联合审查网关
运维·人工智能·架构·自动化
2601_962074681 天前
自己编译RustDesk,并将自建ID服务器和key信息写入客户端
运维·服务器
小张同学a.1 天前
Docker 容器实战 1—— docker 基础与镜像构建
linux·运维·docker·容器