我在远程主机上安装了 3 个 ubuntu 14.04 vm,用于代码存储库和测试目的。我已经拥有它们一年多了。其中两个运行正常,但其中一个我无法再运行 root 命令。我禁用了 root 访问权限,并以“user1”身份登录,使用 sudo 运行命令。但现在它说用户不再在 sudoers 中(上次登录是在 2 天前,我没有做任何更改)
我发现 sudoers 文件几个月前就没改过了。我尝试以 root 身份运行 su 登录,但系统提示身份验证错误。
我在这里写这篇文章只是为了在运行重新安装命令之前最后一次机会(我无法进入恢复模式,因为是远程托管虚拟机……)。其他人也遇到过这种情况吗?因为我不知道该怎么想:1)服务器被黑客入侵;2)文件损坏(但它说用户不在,而不是读取错误,root 密码应该有效)3)不知道……
谢谢
[更新] 这是 stat /etc/sudoers 的输出
File: "/etc/sudoers"
Dim.: 745 Blocchi: 8 Blocco di IO: 4096 file regolare
Device: 801h/2049d Inode: 653038 Coll.: 1
Accesso: (0440/-r--r-----) Uid: ( 0/ root) Gid: ( 0/ root)
Accesso : 2014-11-13 12:56:19.622105032 +0100
Modifica : 2014-02-10 20:16:26.000000000 +0100
Cambio : 2014-06-22 09:50:38.421005615 +0200
Creazione: -
答案1
不久前,我尝试将我的用户添加到另一个组,却意外地将自己从 sudoers 文件中删除。
而不是输入预期的内容:
usermod -aG groupname username
我输入的是我相信以下内容:
usermod -G groupname username
发生了什么?它确实将我添加到了一个组,但将我从所有其他组(包括 sudo)中删除了。
NET 结果?我不能再使用 sudo 了。
为了修复它,我必须重新启动服务器并以恢复模式启动并直接进入 shell。我认为修复了我的组权限并重新启动。