我在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
谷歌已经找不到任何可以解决问题的方法,如果我让情况变得更糟,我也不想搞砸这些权限。
提前致谢。
答案 0 :(得分:0)
我不想听起来很粗鲁,但是作为有20年以上运行unix服务器经验的人,你可能需要在使用sudo之前了解更多有关系统的知识。正如您在这里看到的那样,使用sudo或其他root访问方法很容易造成巨大的麻烦(或者更糟糕的是,完全破坏系统)。
在我继续回答之前,有两条建议:
每当使用sudo时,请停下来并尝试思考结果是什么。如果你不相信你知道它是什么,也许你不应该运行命令。
chmod 777
(或666
)几乎不是正确的事情。无论何时这都是您即将尝试的解决方案,重新思考问题并首先尝试其他方法是一个危险信号。它几乎总是错误的答案,并且经常具有破坏性的副作用或安全隐患。
那就是说,你已经处于这种状况。此时,您无法再使用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/ 寻求帮助