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

时间:2015-10-12 00:50:17

标签: ubuntu permissions sudo chmod

我在Ubuntu 14.04上使用apache2设置我的第一台服务器并安装了phpMyAdmin,

我试图在/ etc / phpmyadmin /中运行phpMyAdmin文件,但没有权限

我使用sudo chmod 777 -R /etc/授予自己运行该文件的权限。当我去重启apatche2时

我收到错误

sudo: /etc/sudoers is world writable sudo: no valid sudoers sources found, quitting sudo: unable to initialise policy plug-in

我尝试了pkexec chmod 0440 /etc/sudoers

但这给了我错误

sudo: unable to stat /etc/sudoers: No such file or directory sudo: no valid sudoers sources found, quitting sudo: unable to initialise policy plug-in

现在我甚至无法访问etc文件夹,我收到了消息:

You do not have the permissions necessary to view the contents of “etc”.

当我打开终端时,我得到:bash: /etc/bash.bashrc: Permission denied

谷歌已经找不到任何可以解决问题的方法,如果我让情况变得更糟,我也不想搞砸这些权限。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我不想听起来很粗鲁,但是作为有20年以上运行unix服务器经验的人,你可能需要在使用sudo之前了解更多有关系统的知识。正如您在这里看到的那样,使用sudo或其他root访问方法很容易造成巨大的麻烦(或者更糟糕的是,完全破坏系统)。

在我继续回答之前,有两条建议:

  1. 每当使用sudo时,请停下来并尝试思考结果是什么。如果你不相信你知道它是什么,也许你不应该运行命令。

  2. chmod 777(或666)几乎不是正确的事情。无论何时这都是您即将尝试的解决方案,重新思考问题并首先尝试其他方法是一个危险信号。它几乎总是错误的答案,并且经常具有破坏性的副作用或安全隐患。

  3. 那就是说,你已经处于这种状况。此时,您无法再使用sudo,因为它没有通过自己的安全检查。不幸的是,sudo可能是解决这个问题的最简单方法。

    我能想到的只有你可以做的几件事。

    首先,如果您能以某种方式以root用户身份登录,只需执行此操作,修复sudoers文件的权限,sudo将再次运行。

    如果您无法以root用户身份登录,则另一种可能性是尝试将文件系统挂载到另一个unix系统,然后手动修复权限,卸载文件系统并启动原始环境。如何解决这个问题取决于你的系统,无论是虚拟机还是物理系统......这是一个更大的话题,所以我不会尝试。

    当然,你总是有第三个选择,只需擦除系统并重新安装并重新开始。如果您的系统是新的并且尚未完成大量工作,那么这可能是一个合理的选择。这是你要回答的问题,但是......

    注意:无论采用何种方法,如果您设法修复权限以便sudo再次运行,那只是修复的开始。您使/ etc目录下的所有可由任何用户或进程读取和写入。如果您发现其他软件或服务抱怨这一点,我不会感到惊讶,清理它会有点混乱。我无法告诉你需要做的一切来修复它,但我要做的第一件事就是:

    # fix the /etc/shadow file where authentication lives
    sudo chmod 0640 /etc/shadow
    
    祝你好运......你也可以在https://askubuntu.com/

    寻求帮助
相关问题