虽然这个问题有很多答案,但这里的场景有所不同:
我在 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
而部署 VM 时选择的身份验证模式是基于 SSH 的。还有其他方法可以修复。我既无法重置 ubuntu 的密码,也无法访问 azure CLI。
让我知道如何解决此问题,或者您是否需要有关此的更多信息。
对不起,但这不是错误,而是故意的行为。在我的办公室,你会因为做这样的事情而被解雇......
在云实例上,您不能使用实时会话、grub 救援,也不能使用系统本身来解决此问题。
使用云实例时只有一种方法,在 Azure 的使用页面上应该有很好的解释:创建一个新实例,将您的磁盘作为第二个磁盘安装到该实例中,然后将文件 chmod 回正确的权限。然后将磁盘重新连接到旧实例。
使用云服务时,这种方法应该是第二自然。以及制作快照和恢复快照。
Ubuntu 用户密码重置选项由 Azure 提供。使用下面的过程。
登录到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