登录无盘客户端后出现“Sudo: Must Be Setuid Root”错误

登录无盘客户端后出现“Sudo: Must Be Setuid Root”错误

我正在研究无盘 Linux 集群。我按照说明进行操作这里。我执行了以下步骤:

1- Installed a pxe server on server pc.
2- Installed ubuntu to a client pc.
3- Configured and installed all programs I need on client pc.
4- Copied all OS files(on client pc) to NFS share point.
5- Booted diskless pc via pxe server.

它可以工作。但是登录我的帐户后,我收到此错误消息:“Sudo:必须是 Setuid Root”。所以我无法使用/usr/bin/sudo。我该如何修复这个问题?我需要更改复制到 PXE 服务器的 OS 文件上的某些文件吗?

答案1

此错误表明 /usr/bin/sudo 文件未设置 setuid 属性。setuid 属性意味着当您以拥有该文件的用户身份执行时。因此,sudo 必须由 root 拥有并设置此属性,否则它无法允许您获得 root 权限。您可以在chmod u+s /usr/bin/sudo以 root 身份运行时通过运行来设置此属性。您可能还需要将所有者更改为 root ( chown root:root /usr/bin/sudo)。

答案2

我找到了问题所在。我已将操作系统文件从客户端 PC 复制到服务器 PC。我chmod 777 -R /pathToOsFiles在服务器上更改了这些文件的权限 ( )。然后我Sudo: Must Be Setuid Root在无盘 PC 上收到此错误消息 ( )。我无法修复它。我使用了所有选项 (755、744 ...),但没有任何变化。

再次将操作系统文件从客户端电脑复制到服务器电脑后,一切正常。但这次我没有更改权限。如果有人遇到同样的问题,我可以说复制操作系统文件后不要触碰服务器上的权限。

还有一件事:客户端 PC 和服务器 PC 上的用户名可以不同,但​​两者的 SUID 必须相同。否则您将看到相同的错误消息。

相关内容