我在 Ubuntu 20.04 服务器上遇到问题。
/etc/sudoers.d/username
在阅读此线程后,我不小心注释掉了所有行: https ://superuser.com/a/1311042
,因为我最近注意到我能够在sudo apt-get update
不提示输入密码的情况下运行!这对我来说非常奇怪,因为它之前总是要求输入密码。但在什么之前?在我实际使用ansible的东西之前,它显然让它管理这个文件以运行命令而不提示输入密码......类似的东西(我不是那个工具的专家,我正在学习它实际上是如何工作的)。
但是通过注释掉/etc/sudoers.d/username
文件中的所有行,我不能再使用任何sudo <something>
命令了!事实上,它现在总是说,例如:
$ sudo apt-get update
[sudo] password for username: ******
username is not in the sudoers file. This incident will be reported.
我怎样才能让我的 Ubuntu 用户恢复正常行为?
首先,永远不要在不了解系统所做的事情的情况下对系统进行更改。有时互联网是错误的。
其次,如果您搞乱了用户身份验证的任何部分,请在开始之前
root
始终打开一个备用(sudo bash
) 终端会话。我已经从各种错误中恢复过来了!现在,这些已经太晚了,从 Live USB(或您的安装介质,使用“Try Ubuntu”)启动并从那里修复它。
或者,引导到单用户模式(该单用户是
root
)。最后,如果是由公司或机构管理的远程服务器,请要求他们的客户服务/IT 部门撤消更改(可能需要一些时间)。他们通常应该可以访问另一个超级用户或工具来进行此类操作。