Java自学者论坛

 找回密码
 立即注册

手机号码,快捷登录

恭喜Java自学者论坛(https://www.javazxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,会员资料板块,购买链接:点击进入购买VIP会员

JAVA高级面试进阶训练营视频教程

Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程Go语言视频零基础入门到精通Java架构师3期(课件+源码)
Java开发全终端实战租房项目视频教程SpringBoot2.X入门到高级使用教程大数据培训第六期全套视频教程深度学习(CNN RNN GAN)算法原理Java亿级流量电商系统视频教程
互联网架构师视频教程年薪50万Spark2.0从入门到精通年薪50万!人工智能学习路线教程年薪50万大数据入门到精通学习路线年薪50万机器学习入门到精通教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程MySQL入门到精通教程
查看: 387|回复: 0

无法修改linux/ubuntu密码(Authentication token manipulation error )问题解决过程【转】

[复制链接]
  • TA的每日心情
    奋斗
    昨天 09:26
  • 签到天数: 798 天

    [LV.10]以坛为家III

    2050

    主题

    2108

    帖子

    72万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    724790
    发表于 2021-5-23 09:56:58 | 显示全部楼层 |阅读模式

    转自:https://blog.csdn.net/caizi001/article/details/38659189

    Vmware虚拟机里的ubunut系统长期不用,密码忘记了,无奈只能通过slax liveCD启动,使用root权限将/etc/passwd ,/etc/shadow中root账户和本地账户的密码去掉。重启进入原来的系统,选择修复模式,企图通过root模式命令为本地账户重设密码。但是当输入passwd MYHOST ,然后输入两次密码之后,却提示passwd: Authentication token manipulation error.密码修改失败。

    下面是网上比较完整的解决方案,但是在我这并未奏效。后面我会说我的解决过程。

    ==============================================================================================

    修改linux密码时出现错误passwd: Authentication token manipulation error

    发生该错误原因是:
    1、分区没有空间导致。
    2、/etc/passwd 和/etc/shadow不同步
    但是这次上面两条却行不通,通过df查看根分区还有40%剩余。
     
    1、尝试修改密码,出现错误
    # passwd
    Changing password for user root.
    New UNIX password: 
    BAD PASSWORD: it is WAY too short
    Retype new UNIX password: 
    passwd: Authentication token manipulation error
    2、同步/etc/passwd 和/etc/shadow出错
     #pwconv
    pwconv: can't lock passwd file
    3、看权限没有异常,也没有进程锁定该文件
    # ll /etc/passwd
    -rwxr--r--  1 root root 2752 Dec 31 17:29 /etc/passwd
    # fuser -u /etc/passwd
    # lsof |grep passwd
    4、cp lock文件出错,提示空间不足
    # cp /tmp/.pwd.lock /etc/
    cp: cannot create regular file `/etc/.pwd.lock': No space left on device
    5、上面的错误惊醒了我,查看确实是inode满了,删除无用的文件
    #df -i
    Filesystem            Inodes   IUsed   IFree IUse% Mounted on
    /dev/sda5            2562240 2562240       0  100% /
    /dev/sda1              50200      47   50153    1% /boot
    /dev/sda2            51300000      12 51299988    1% /data/cache1
    /dev/sdb1            51300000 7080311 44219689   14% /data/cache2
    /dev/sdb2            9863168      11 9863157    1% /data/proclog
    none                  215907       1  215906    1% /dev/shm
    /dev/sda3            3842720  305795 3536925    8% /usr
    /dev/sda7            3162112    7893 3154219    1% /var
    6、再次修改密码仍然出错,于是尝试修改/etc/passwd也出现错误
    # chmod 777 /etc/passwd
    chmod: changing permissions of `/etc/passwd': Operation not permitted
    7、执行chattr 
    #chattr -i  /etc/passwd
    # lsattr -v /etc/passwd 
    2095582053 ------------- /etc/passwd
    # chattr -i  /etc/shadow
    8、同步文件
    pwconv
    9、成功修改密码
    passwd 
    Changing password for user root.
    New UNIX password: 
    BAD PASSWORD: it is WAY too short
    Retype new UNIX password: 
    passwd: all authentication tokens updated successfully.
    =======================================================================================

    经过以上解决步骤之后,可以确定,我的passwd,shadow未被任何进程占用,分区空间足够。在执行pwconv命令时,依然提示:cannot lock "/etc/passwd" .......

    转而搜索“cannot lock file”问题。以下是网上的解决方法:

    第一种情况 这个 passwd文件正在被 其他程序访问,所以此时 是 锁定状态,知道那个使用它的程序 释放 这个文件的 使用权。
    第二种情况 就是 确实有 .lock文件存在 楼主在 etc下试下 rm -rf *.lock 看执行完这个 行不(root权限执行) 这个文件是 处理异常情况的 归档,和VIM的 那个缓存有些类似,在一致性没有回复之前 这个文件一直存在的(维护系统的一致性)
    为了在/etc下的茫茫文件中寻找那些lock文件,我企图ls >> zzz.txt  (因为find命令不太熟悉,囧~~),这里竟然创建文件失败,提示Read-only file system.......
    转而搜索“Read-only file system”问题,以下是网上的说法:

    这种情况通常都是由于系统发现磁盘硬件故障或文件系统中文件被损坏之后而采取的保护机制导致的。为了保护数据不破坏分区中已有内容,Linux在挂载文件系统时就只用read-only只读方式加载了。至于挂载的文件系统为什么会莫名地变成以只读方式挂载的具体原因,这就不知道了。可能的原因有:
    系统文件损坏;  磁盘有坏道;  fstab文件配置错误,如分区格式错误错误(将ntfs写成了fat)、配置指令拼写错误等。
    如果能够确认数据和系统的文件没有被损坏,修复fstab文件配置后只要重新R/W加载或reboot就能够恢复正常。

     

    因此怀疑可能是我在liveCD中修改文件导致系统重启之后发现数据被破坏,所以给Read-Only了。于是使用mount命令重新挂载成读写模式,命令如下:

    #mount -o remount rw /

    再次执行同步命令:#pwconv,没有提示错误。然后顺利使用#passwd MYHOST命令为账户MYHOST 设置密码,#init 6 命令重启,登陆成功!
    ---------------------
    作者:wxmxl
    来源:CSDN
    原文:https://blog.csdn.net/caizi001/article/details/38659189
    版权声明:本文为博主原创文章,转载请附上博文链接!

    哎...今天够累的,签到来了1...
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Java自学者论坛 ( 声明:本站文章及资料整理自互联网,用于Java自学者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-10-13 06:18 , Processed in 0.062856 second(s), 29 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表