sudo:/etc/sudoers 在 Azure 上是所有人都可写的

sudo:/etc/sudoers 在 Azure 上是所有人都可写的

尽管这个问题有很多答案,但这里的情况有所不同:

我在 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

相关内容