sudoはuid 0が所有し、setuidビットが設定されている必要があります。

sudoはuid 0が所有し、setuidビットが設定されている必要があります。

回復モードでUbuntuスーパーパスワードを変更しました。その後、通常のユーザーからsudoコマンドを実行することはできません。

回復モードで以前のパスワードを復号化しました。 パスワードを解読するためにこのリンクをクリックしました。

$sudo ---グローバルモードでは、次のエラーが発生します。

sudo:/usr/local/bin/sudoはuid 0が所有し、setuidビットが設定されている必要があります。

$ ls -l sudo以下を提供します。

-r-sr-xr-x 1 root root 136808 May 29  2017 sudo

/usr/local/bin$ ./sudo --->機能しない場合はこれが必要です/usr/local/bin ./sudo。 --- 次のエラーが発生します。

sudo:./sudoはuid 0が所有し、setuidビットが設定されている必要があります。

/usr/bin$ ./sudo -->うまくいきます。

usage: sudo -h | -K | -k | -V

どこからでも端末からsudoコマンドにアクセスする必要があります。

答え1

一つもあってはいけません/usr/local/bin/sudo。それが問題を引き起こすことです(パスワードの変更ではありません)。邪魔にならない場所に移動してください。

/usr/bin/sudo mv /usr/local/bin/sudo{,2}

次に、シェルに次のことを伝えます。

hash -r

これによりsudo、おなじみの機能が復元されます。

答え2

最近、次のコマンドを実行したため、この問題が発生しました。

sudo chmod -R 777 /usr/*

残念ながら、 /usr/bin/sudo はルートに属していないため破損します。

この問題を解決するために、回復モードで起動しました。回復モードでは、ルートシェルにドロップダウンするオプションがあるスクロールダウンメニューが提供されています。

ルートシェルで次のコマンドを実行しました。

# remount disks in read write mode
mount -o remount,rw /
mount --all

# return ownership
chown root:root /usr/bin/sudo

# fix permissions
chmod 4755 /usr/bin/sudo

reboot

ユーザーとして再度ログインすると問題が解決しました。

関連情報