sudo:无法统计 /etc/sudoers:没有这样的文件或目录 - 文件存在

sudo:无法统计 /etc/sudoers:没有这样的文件或目录 - 文件存在

我是管理游戏服务器的少数人之一。该服务器目前运行的是 Ubuntu 14.04,安装于 3 周前。

一切都运行良好,直到几天前,我们遇到了一些问题。我怀疑有人入侵了我们的 SSH 服务器并造成了严重混乱。

当我尝试执行该命令时sudo出现以下错误:

sudo: unable to stat /etc/sudoers: No such file or directory

因此首先想到的是文件被删除了,只需重新创建即可,但是ls /etc/显示 sudoers 文件已经存在。此外,当使用 nano(我首选的编辑器)编辑时,很明显该文件完全完好无损且格式正确。

ls -l还显示 sudoers 文件具有用户 root 和组 root 的权限-r--r----,从研究来看,这应该足以让 sudo 能够读取该文件,为确保安全,我暂时将该文件交给了-rwxrwx---root root(使用 tmux 进行会话控制,并且我们已经以 root 身份启动了会话),但仍然失败。

因此文件存在,其中的内容是正确的,它具有适当的权限。还能是什么呢?我在 askubuntu.com 上查看了遇到类似问题的人,我发现一个听起来很有希望的解决方案,那就是备份 sudoers 文件,然后使用: apt-get purge sudo apt-get install sudo

然后用旧的 sudo 文件替换新的 sudo 文件。不幸的是,这没有起作用。为了进一步排除 sudoers 文件没有错误,我再次尝试了该解决方案,并尝试仅sudo使用新创建的 sudoers 文件执行,但出现了同样的错误。

- - - - 编辑 - - - -

对于那些对不存在的 sudoers 文件内容感兴趣的人,这里有一个根据要求提供的过滤版本(过滤后的用户名):http://paste.ubuntu.com/7781967/

答案1

好的。我已解决问题。正如我所想,问题不在于文件。


解决方案

直到 10 分钟前,我才注意到 sudo 不起作用。由于我的大部分工作都是在 tmux 中进行的,所以我从未注意到我的用户帐户。

首次登录时我会收到以下错误:

-bash: /etc/profile Permission denied

它会将我设置为:I have no name@<ipaddress>作为我的帐户。

因此,我对这个问题进行了一些研究,发现的结果比其他问题更多。其中一个结果与我的情况完全匹配,如下所示这里

问题是我的 /etc/ 文件夹缺少组的执行权限。因此执行:chmod g+x /etc注销并重新登录后解决了该问题。


谢谢

感谢评论中的帮助,你给出的建议仍然很有价值,有助于进一步缩小问题范围。最终它比看起来要简单得多。

相关内容