从 16.04 升级到 18.04 到 20.04 后,身份验证令牌操作错误

从 16.04 升级到 18.04 到 20.04 后,身份验证令牌操作错误

介绍

我最近将 Ubuntu 版本从 16.04 升级到 18.04 再升级到 20.04,在完成升级并修复在本地开发服务器上运行的应用程序的未解决的问题后,我注意到用于更改用户密码的 passwd 命令已停止工作。

错误是什么

以下是我尝试更改自己的用户密码时发生的情况

joe@machine1:/etc$ passwd
Changing password for joe.
Current password: 
passwd: Authentication token manipulation error
passwd: password unchanged

当我尝试更改其他用户的密码时发生的情况如下

root@machine1:/etc# passwd openvpn
passwd: Authentication token manipulation error
passwd: password unchanged

这是我到目前为止尝试过的

以下是我在网上查看了不同的解决方案后的尝试。

  • 我尝试过重启系统
  • 我尝试使用此命令将 FS 重新安装为可读写mount -o remount,rw /
  • 我曾尝试使用pam-auth-update
  • 我已经检查了以下文件的权限:
    • -rw-r--r-- 1 root root 3790 Aug 17 12:45 /etc/passwd
    • -rw-r----- 1 root shadow 2674 Aug 17 13:41 /etc/shadow
    • -rwsr-xr-x 1 root root 68208 Jul 14 19:08 /usr/bin/passwd
  • 我已确保我的文件系统有足够的空间。大约有 300GB 可用空间,所以我认为这不是问题的一部分。
  • 我用过,pwck但没有什么帮助,下面是该命令的输出
    user 'lp': directory '/var/spool/lpd' does not exist
    user 'news': directory '/var/spool/news' does not exist
    user 'uucp': directory '/var/spool/uucp' does not exist
    user 'list': directory '/var/list' does not exist
    user 'irc': directory '/var/run/ircd' does not exist
    user 'gnats': directory '/var/lib/gnats' does not exist
    user 'nobody': directory '/nonexistent' does not exist
    user 'openvpn': directory '/home/openvpn' does not exist
    user 'openvpn': program '/sbin/nologin' does not exist
    pwck: no changes
    

有什么办法可以解决这个问题吗?我可以确认,在升级之前,这曾经有效,因为我最近在系统中添加了一个用户。

相关内容