正如我所说,我在 Amazon Web Services 上做了一件愚蠢的事情。
sudo chmod -R 777 /etc`
使用 sudo 时会出现以下情况:
sudo: /etc/sudoers is world writable
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
现在我在网上发现了这一点:https://askubuntu.com/a/162889/421314
pkexec chmod -R 755 /etc`
但它需要我的超级用户密码或类似的东西。我的 Ubuntu 用户密码不起作用...
pkexec chmod -R 755 /etc
==== AUTHENTICATING FOR org.freedesktop.policykit.exec ===
Authentication is needed to run `/bin/chmod' as the super user
Authenticating as: Ubuntu (ubuntu)
Password:
polkit-agent-helper-1: pam_authenticate failed: Authentication failure
==== AUTHENTICATION FAILED ===
Error executing command as another user: Not authorized
This incident has been reported.
该怎么办?
答案1
简单回顾一下我为了恢复所做的事情:
-- 基本上在这里https://forums.aws.amazon.com/thread.jspa?messageID=581788。
停止有问题的实例。
不终止它。那么它就消失了。
对根卷进行快照(以防万一进行备份)。
从实例中分离根卷。(记下挂载点,例如 /dev/sda1)
启动新的临时实例或使用现有的 Linux 实例。
您无法影响在哪个可用区创建它。尽管这在以后很重要。
将根卷作为辅助卷附加并安装到临时实例。
由于您只能在同一个可用区域中执行此操作,因此您可能必须从快照中生成一个新卷,在临时实例所在的可用区域中。
修复 sudoers 文件
这是迄今为止最简短的建议版本。
您必须安装该卷才能访问它。
首先,您必须找出系统为卷指定的名称lsblk
。该名称应与 AWS 中先前的挂载点相对应,但更改为 xvda1。例如,sda1 更改为 xvda1。
然后
sudo mkdir /media/new/_yourName_
sudo mount /dev/_yourFoundPartition_ /media/new/_yourName_
现在它应该在/Volumes
。
修复 sudoers 文件或写权限。
停止临时实例
制作固定卷的快照。
分离卷。
umount -d /dev/_yourFoundPartition_
使用之前记下的挂载点将卷重新附加到已停止的卷。
正如我之前所说,您最有可能遇到的是可用区问题。您可能必须拍摄固定卷的快照,并在旧实例的可用区中生成新卷。
启动实例。
最后我无法再通过 SSH 进入机器。所以我最终将 DNS 更改为临时实例。并将卷附加为主卷。
但请记住,您在处理不同的可用区域、安装和卸载卷以及恢复所有内容时会遇到麻烦。
http://www.cyberciti.biz/faq/mount-drive-from-command-line-ubuntu-linux/ http://ubuntuforums.org/showthread.php?t=1775679 https://forums.aws.amazon.com/thread.jspa?messageID=544552
它并不像短文中写的那样是一次快乐的旅程。
编辑:发现了一个很棒的 AWSers 视频https://www.youtube.com/watch?v=_P29ZHu_feU。 :)
祝你好运!!