登录无盘客户端后出现“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文件上的某些文件?

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

我发现了问题。 我已将OS文件从客户端PC复制到服务器pc。 我在服务器上更改了这些文件的权限( chmod 777 -R /pathToOsFiles )。 然后我在无盘电脑上收到此错误消息( Sudo: Must Be Setuid Root )。 我无法解决它。 我使用了所有选项(755,744 ……)但没有改变。

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

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