![sudo:/etc/sudoers 在 Azure 上是所有人都可写的](https://linux22.com/image/1166954/sudo%EF%BC%9A%2Fetc%2Fsudoers%20%E5%9C%A8%20Azure%20%E4%B8%8A%E6%98%AF%E6%89%80%E6%9C%89%E4%BA%BA%E9%83%BD%E5%8F%AF%E5%86%99%E7%9A%84.png)
尽管这个问题有很多答案,但这里的情况有所不同:
我在 Azure 上使用 Ubuntu 18.04。
由于错误,我把sudoers
文件设为全球可写 ( sudo chmod o+w /etc/sudoers
)。有一个适当的修复方法. 为此,我需要一个 Ubuntu 用户的密码
输出:-
ubuntu@azurevm:~$ ls -la /etc/sudoers
-r--r---w- 1 root root 755 Jan 18 2018 /etc/sudoers
ubuntu@azurevm:~$
ubuntu@azurevm-VM:~$
ubuntu@azurevm:~$
ubuntu@azurevm:~$ pkexec chmod 0755 /etc/sudoers
==== 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.
ubuntu@azurevm:~$ uname -a
Linux azurevm 4.18.0-1018-azure #18~18.04.1-Ubuntu SMP Tue May 7 18:09:35 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
而部署虚拟机时选择的身份验证模式是基于 SSH 的。其他解决方法。我无法重置 ubuntu 的密码,也无法访问 azure CLI。
请告诉我如何修复此问题或者您是否需要更多信息。
答案1
在云实例上,您不能使用实时会话、grub 救援,也不能使用系统本身来修复此问题。
使用云实例时只有 1 种方法,Azure 的使用页面上应该有很好的解释:创建一个新实例,将磁盘作为第二个磁盘安装到此实例中,然后将文件 chmod 恢复为正确的权限。然后将磁盘重新连接到旧实例。
使用云服务时,这种方法应该是第二天性。以及制作快照和恢复快照。
答案2
Azure 提供了 Ubuntu 用户密码重置选项。使用以下流程。
登录portal.azure.com>> 打开 VM >> 转到部分支持 + 故障排除>> 选择重置密码 >> 有 3 种设置可用:
1. 重置密码 2. 重置 SSH 公钥 3. 仅重置配置
选择重置密码。
如果您仍然面临登录问题,请按照以下步骤操作。
登录portal.azure.com>> 打开 VM >> 转到部分支持 + 故障排除>> 打开串行控制台>> 重新启动服务器它将显示 grub 菜单
以下文档将帮助您了解 Azure Ubuntu 单用户模式。
https://docs.microsoft.com/en-us/azure/virtual-machines/linux/serial-console-grub-single-user-mode