我正在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
Google并没有找到解决问题的方法,如果我使情况变得更糟,我也不想弄乱这些权限。
提前致谢。
我不想听起来很粗鲁,但是作为具有20多年运行Unix服务器经验的人来说,在成为sudo的骑士之前,您可能需要了解更多有关系统的知识。如您在这里看到的,使用sudo或其他root访问方法很容易使自己头疼(或更糟的是,完全破坏系统)。
在我继续回答之前,有两个建议:
每当使用sudo时,请停止并尝试仔细考虑结果是什么。如果您不太确定您知道它是什么,那么也许您不应该运行该命令。
chmod 777
(或666
)几乎从来都不是正确的事情。每当这是您要尝试的解决方案时,重新考虑问题并首先尝试其他方法就是一个危险信号。这几乎总是错误的答案,并且经常具有破坏性的副作用或安全隐患。
也就是说,您已经处于这种情况。此时,您将无法再使用sudo,因为它无法通过自己的安全检查。不幸的是,sudo是解决此问题的最简单方法。
我现在想到的只有几件事。
首先,如果您可以某种方式以root用户身份登录,请执行此操作,修复sudoers文件的权限,然后sudo将再次起作用。
如果您不能以root用户身份登录,则另一种可能性是尝试将文件系统安装在另一个unix系统上,然后手动修复权限,卸载文件系统,然后启动备份原始环境。如何做到这一点取决于您的系统,无论是VM还是物理系统……这都是一个更大的话题,所以我不会尝试。
当然,您始终有第三个选择,就是擦除系统并重新安装并重新开始。如果您的系统是新系统,并且尚未进行大量工作,那也许是一个合理的选择。不过,这是您要回答的问题...
注意:通过任何方法,如果您设法修复权限以使sudo再次起作用,则这仅仅是修复的开始。您使/ etc目录下的所有内容都可以被任何用户或进程读取和写入。如果您发现其他软件或服务对此有所抱怨,我也不会感到惊讶,并且将其清理将是一团糟。我无法告诉您修复它所需要做的一切,但是我要做的第一件事是:
# fix the /etc/shadow file where authentication lives
sudo chmod 0640 /etc/shadow
祝您好运...您可能还想在https://askubuntu.com/寻求帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句