web-dev-qa-db-ja.com

「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:Must Be Setuid Root」というエラーメッセージが表示されました。だから私は/usr/bin/Sudo。どうすれば修正できますか? PXEサーバーにコピーしたOSファイルの一部のファイルを変更する必要がありますか?

1
Eyüp Alemdar

問題が見つかりました。 OSファイルをクライアントPCからサーバーPCにコピーしました。権限を変更しました(chmod 777 -R /pathToOsFiles)サーバー上のこれらのファイル。次に、このエラーメッセージが表示されました(Sudo: Must Be Setuid Root)ディスクレスPCの場合。直せなかった。すべてのオプション(755、744 ...)を使用しましたが、何も変わりませんでした。

OSファイルをクライアントPCからサーバーPCに再度コピーした後、すべてが正しく機能します。しかし、今回は権限を変更しませんでした。誰かが同じ問題に直面した場合、OSファイルをコピーした後でサーバーのアクセス許可に触れないでください。

もう1つ:クライアントPCとサーバーPCではユーザー名が異なる場合がありますが、SUIDは両方で同じでなければなりません。それ以外の場合は、同じエラーメッセージが表示されます。

1
Eyüp Alemdar

このエラーは、/ usr/bin/Sudoファイルにsetuid属性が設定されていないことを示しています。 setuid属性は、ファイルを所有するユーザーであるかのように実行することを意味します。したがって、Sudoはrootが所有し、これが設定されている必要があります。そうでない場合、root権限を取得することはできません。 rootとして実行中にchmod u+s /usr/bin/Sudoを実行すると、この属性を設定できます。所有者をroot(chown root:root /usr/bin/Sudo)に変更する必要がある場合もあります。

1
Tolli