我获得了一台安装了 WSL 的工作电脑,并将我的用户添加到了 sudoers。我能够安装软件包并更新(例如
sudo apt update
),但它在几周前停止工作并说我的密码错误。
我仍然可以以 root 身份启动 WSL 并以这种方式使用 sudo 执行所有操作,并且我已通过 root 重置了用户密码,因此我确信密码是正确的。我还检查了我的用户是否具有 sudo 权限(
grep sudo /etc/group
)。
但是,当运行
sudo apt update
或任何带有sudo并提示输入密码时,它说密码不正确。当尝试使用 passwd (不是 root)更改我的密码时,直到几天前我都可以做到这一点(所以这是我的密码正确的另一个确认,因为我在更新时需要当前密码!)。但现在,当我做同样的事情时,我得到:
passwd: Authentication token manipulation error
我不确定我是否搞砸了某些事情,或者 IT 部门是否对权限进行了任何更改(我怎么知道?)或者我可以采取哪些措施来解决此问题。有什么建议吗?
假设 Ubuntu 在 WSL2 上,检查 /etc/wsl.conf 和 %userprofile%.wslconfig 大多数默认设置不会导致此类问题,但有些设置可能会[例如安全模式]
检查 / 是否安装为 rw 查找/ / /dev/sdc ext4 rw,关系,丢弃,错误=重新安装-ro,数据=有序
如果没有重新挂载:mount -o remount,rw /
使用 stat 检查权限: /etc/passwd 0644 [查看访问行] /etc/shadow 0640
如果没有,请修复。 可能由于某种原因这些不同步。 使用 pwconv 按照上面的链接进行排序。
可能错误配置的 pam 设置可能会导致此问题,或者如果用户身份验证被定向到外部服务器,则可能会导致此问题。
尝试:
sudo pam-auth-更新
或者浏览 pam 设置文件以查看其中配置的内容。