我刚刚遇到了以下问题:
由于某种原因,我无法使用 su 或 sudo:
usr@usr-MS-7816:~$ su
Password:
su: Authentication failure
usr@usr-MS-7816:~$ sudo su
[sudo] password for usr:
usr is not in the sudoers file. This incident will be reported.
usr@usr-MS-7816:~$
我可以sudo su
早点用。也许是因为我给自己分配了另一个组,我真的不知道。我也尝试进入恢复模式,我可以以 root 身份登录,但它不允许我更改/etc/passwd
或/etc/sudoers
文件(它说它们是只读的)!我现在该怎么办?
这是 Ubuntu 15.04
答案1
将评论提升为答案:为了快速解决你的问题,你应该尝试按照我们姊妹网站 AskUbuntu 的建议重置您的 root(管理员)密码,应该涵盖你
详细回答您的问题,解释出了什么问题......
usr@usr-MS-7816:~$ su
Password:
su: Authentication failure
这似乎表明您忘记了 root 密码,或者在安装过程中从未设置过 root 密码。
usr@usr-MS-7816:~$ sudo su
[sudo] password for usr:
usr is not in the sudoers file. This incident will be reported.
如果您不是 root,您将无法检查/etc/sudoers
内容并/etc/sudoers.d
查看系统的 sudo 规则。这意味着您无法立即看到自己做错了什么。可能是您不在合适的组中,也可能是您的 sudo 配置中没有任何基于用户或组的规则来允许 sudo 为 root。有很多不错的 sudo 教程,一旦您回到系统,我建议您查看它们 + 决定是否要按组或按用户启用 sudo,然后添加相关的 sudo 行/将自己添加到正确的组。
最后,你说:
我也尝试进入恢复模式,我可以以 root 身份登录,但它不允许我更改 /etc/passwd 或 /etc/sudoers 文件(它说它们是只读的)
您需要做的是启动恢复模式,然后启用对文件系统的读写访问权限。
正如在 AskUbunut 上回答,一旦您将终端置于恢复模式,您将需要执行以下操作:
mount -rw -o remount /
passwd
sync
reboot
这将重新挂载根分区的读写权限,以便您可以更改它。然后更改 root 密码(作为 root,您不需要输入以前的密码),然后同步以强制将更改输出到磁盘,然后关机并重新启动回到正常模式,您可以使用新密码访问 root