背景:
最近在公司遇到一个很尴尬的事情,公司有个项目使用的是华为云的云服务器。但是上一个离职的工程师没有把密码交付给我。为了领导也不知道,但是云服务器不是有重置密码的按钮么,还是一直都重置不了,显示我重置失败直接破防了。后来找了华为云工程师知道可以使用一台Linux的服务器清理密码。
实现:
一、前提条件
准备一台Linux操作系统临时云服务器,版本为Ubuntu14.04以上,需和重置密码的服务器在同一可用去内,并且有相同的CPU架构。
目前仅支持Ubuntu 16.04和18.04
输入命令:sudo apt-get install ntfs-3g chntpw -y安装ntfs-3g和chntpw
二、操作步骤
先对原来的服务器做个备份或者磁盘做个快照先(误操作就头疼了)
将要需要重置密码的服务器关机后卸载系统盘
把系统盘卸载在下来的系统盘挂载到临时的Ubuntu服务器上
在临时服务器上输入fdiskl -l查看硬盘(一般是vdb2或者sdb2)
输入命令将硬盘挂在到mnt上mount -t ntfs-3g /dev/(硬盘名称) /mnt
备份SAM文件:cp /mnt/Windows/System32/config/SAM /mnt/Windows/System32/config/SAM.bak
修改指定用户密码:chntpw -u Administrator /mnt/Windows/System32/config/SAM
Select: [q] > 1
Password cleared!
Select: [q] > q
Hives that have changed:
#Name
0<SAM>
Write hive files? (y/n) [n] : y
0<SAM> - OK
将硬盘卸下后挂载到原来的机器上
在CMD命令行中输入net user Administrator 新密码修改密码
分析原因:
进入服务后在CMD中修改密码居然发现用命令重置密码会被火绒拦截,我估计重置密码失效的原因应该就是火绒的问题。华为云这边还提供一个可能就是服务器上的重置密码插件可能被杀毒软件杀掉了或者是损坏了。