我无法使用旧用户名登录,因为登录屏幕上不存在该用户名。我无法重新创建旧用户名,因为我没有 root 权限。我尝试过多种进入 root 模式的方法,但都不起作用。有没有办法将新用户名更改为旧用户名?
我通常会收到这样的消息:
sudo: error in /etc/sudo.conf, line 0 while loading plugin `sudoers_policy'
sudo: /usr/lib/sudo/sudoers.so must be only be writable by owner
sudo: fatal error, unable to load plugins
答案1
首先重新启动进入恢复模式(涵盖了这个问题)。到达 root 权限的程度。
之后再看看stat /usr/lib/sudo/sudoers.so
。我看到了:
...
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
...
从表面上看,这对你来说并不真实,但不能完全确定你做了什么。如果所有者不是 root 或者权限不是 0644,我们可以快速修复它:
chown root: /usr/lib/sudo/sudoers.so
chmod 0644 /usr/lib/sudo/sudoers.so
如果权限/所有权是唯一的问题,那么应该可以解决问题。只需运行reboot
即可重新启动 Ubuntu 系统。
如果你彻底摧毁了 /usr(chmod -r ... /usr
例如,使用 ),你需要恢复更多文件的所有权。幸运的/usr
是,相当您可以使用以下命令恢复大部分权限:
chown -r root /usr
chown daemon /usr/bin/at
chown libuuid /usr/sbin/uuidd
如果你想知道我是如何得到这两个落后者的,我sudo find /usr -exec stat -c '%U %n' {} + | grep -v root
在一个干净的系统上运行。如果你有最近的备份,我建议你将其与你的备份进行比较。