无法通过 SSH 访问虚拟机实例



我通过SSH连接到VM实例,错误地运行了以下命令:

"chmod-R755/usr";

然后我开始收到以下消息:

"usr/bin/sudo必须由uid 0所有,并将setuid位设置为"0";

我读过不同的解决方案:

  1. 设置启动脚本以更改root密码并通过

gcloud测试版计算ssh服务器名

但是,我无法停止我的实例,因为我有一个本地SSD分配给它,所以我认为启动脚本不起作用,通过ssh连接会要求我输入密码:

user@compute.3353656325014536575的密码:

但我从未为正在使用的用户设置过密码。

有什么解决方案可以让我再次连接到服务器并修复错误吗?

编辑:我有一个用户是我为FTP手动创建的,但这个用户没有sudo权限,有办法知道sudo密码吗?

提前谢谢。

根据手头的问题,命令chimed-R755将授予每个人root权限在阅读其他步骤之前,先试试这个。进入你的实例。更改密码只需键入Sudo密码键入新密码并确认新密码
如果不起作用,按照下面的步骤操作

"usr/bin/sudo必须由uid 0所有,并将setuid位设置为"0";

这意味着sudo的root权限被重写了,这对使用sudo造成了限制,并导致您出现问题,比如您失去了所有的root访问权限。以下步骤应有助于解决问题

创建实例的备份或快照

创建一个全新的实例,并将本地ssd从上一个实例分离。附加到新创建的实例。

登录到新实例并在root中创建一个新文件夹,然后以root身份启动操作。

检查新实例中连接的驱动器:"mount"……"fdisk-l|grep Disk"。

在根目录中创建新文件夹:"mkdir/newfolder">

现在装载vol:"sudo mount/dev/xvdf1/newfolder/">

装载后,如果你检查权限,你会发现由于受影响的卷,新文件夹权限在装载后发生了更改:

最新更新