回復モードで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
ユーザーとして再度ログインすると問題が解決しました。