单用户模式重置密码报错“Authentication token manipulation error”的解决办法
【适用场景】
本文适用于Linux系统磁盘使用率100%导致的无法重置密码或无法正常操作主机。
【场景诉求】
服务器密码忘记后,用官网控制台重置密码功能重置无效,vnc无法登录,且服务器启动过程中有报错:
尝试进入单用户模式修改密码,passwd执行后,有报错:Authentication token manipulation error
【问题分析】
由上图服务器启动过程中某些服务的报错信息“No space left on device”,说明有磁盘已经没有剩余空间。故解决方案有两种,一种是删除不用的文件释放磁盘空间,另外一种是对系统盘直接扩容。
对于方案一,现在密码忘记了,官网重置密码也无效,无法正常登录进系统,只能单用户进去删除不用文件释放磁盘空间;
对于方案二,由于系统盘已满导致某些服务和命令无法修改或创建文件,故直接在控制台扩容系统盘重启后,系统分区并不能正常扩大,依然无法正常进入系统。故也只能单用户模式手动调整扩大系统分区。
【操作步骤】
本文以CentOS 7.6系统为例,进入单用户模式方法请参考:
https://support.huaweicloud.com/trouble-ecs/ecs_trouble_0312.html
方案一:删除文件释放磁盘空间
1、正常进入单用户模式:
可以运行以下命令查看磁盘剩余空间:
/sysroot/bin/df -hT
如上图系统盘剩余确实为0,使用率100%。
2、删除不用的文件:
在/sysroot/下,查找和核实一些不用的文件,删除掉:
查看剩余空间:
如图所示,已有足够剩余空间了。继续单用户重置密码操作重置用户密码即可。
方案二:扩容系统盘
须知:扩容时请谨慎操作,误操作可能会导致数据丢失或者异常,建议扩容前对数据进行备份,可以使用CBR或者快照功能。
1、先在官网控制台扩容下系统盘:
2、正常进入单用户模式
运行以下命令查看系统磁盘使用情况:
/sysroot/bin/df -hT
/sysroot/sbin/fdisk -l
3、fdisk命令扩容
运行以下命令增大磁盘分区
/sysroot/sbin/fdisk /dev/vda
如上图,输入“p”记录设备分区名“/dev/vda1”和分区开始扇区数值“2048”。
输入“d”删除上面记录的磁盘设备分区/dev/vda1(因为此磁盘就一个分区,所以默认就删除此分区了)。
接下来,输入“n”新建分区,输入“p”选择主分区,输入“1”和上面记录的磁盘开始扇区“2048”和默认的末尾扇区值(都是默认的,可以回车即可)。最后再输入“w”保存即可:
reboot
重启服务器,并再次进入单用户模式,运行以下命令:
/sysroot/sbin/resize2fs -f /dev/vda1
/sysroot/bin/df -hT
查看已经扩容成功。
最后,按照单用户重置密码进行后续操作即可:
- 点赞
- 收藏
- 关注作者
评论(0)