Sudoモードでコマンドを実行しようとするとエラーが発生します。
エラー:
Sudo: /usr/bin/Sudo must be owned by uid 0 and have the setuid bit set
Askubuntuでいくつかの質問を見つけ、回答を受け入れました。
しかし、それらのどれも私の問題を解決しませんでした。おそらく私の場合はそれらとは異なります。
詳細情報:
この質問 の上位投票回答に続いてuTorrent
をインストールしようとしました。.tz
ファイルを/opt
に抽出した後、抽出したファイルの名前を変更しました。
その後、このエラーに直面しています。
システムを再インストールすることを提案しない答えを期待しています。
再インストールが唯一のソリューションである場合、これまでにインストールしたものすべてをバックアップする必要があります。
pkexec
も台無しにしない場合の簡単な修正:問題は、/usr/bin/Sudo
に間違った権限が設定されていることです(正しい-rwxrwxr-x
ではなく-rwsr-xr-x
)。
これで、ファイルはルートが所有するため、そのアクセス権を変更するにはルートのアクセス権が必要です。通常、これにはSudo
を使用しますが、破損しているため、それを修復するための代替としてpkexec
を使用する必要があります。
pkexec chmod u+s,g-x /usr/bin/Sudo
これですべてが再び修正されるはずです。例えば確認する次のコマンド:
Sudo echo "Sudo works again! Yay! :D"
pkexec
も台無しにした場合のより複雑な修正:最初に、Ubuntuシステムを回復モードで起動する必要があります。
これを行うには、再起動し、GRUBメニューが表示されるのを待ちます。これは、BIOSが作業を終了した直後、Ubuntuのロードが開始される前に発生します。通常、別のOSとデュアルブートする場合に表示されますが、そうでない場合は、 Shift 表示させるキー。メニューポイントAdvanced options
を選択し、接尾辞(recovery mode)
が付いた最新のカーネルバージョンを選択します。別のメニューが表示されます。このメニューでは、root
を選択する必要があります。このメニューには、ルートアクセスのあるターミナルが表示されます。
復旧モードでルートシェルに入る方法の詳細については、 here を参照してください。手順1〜7を実行してから、ここに進んでください。
ルートシェルで次のコマンドを実行します。
mount -o remount,rw /
chmod u=rwxs,g=rx,o=rx /usr/bin/Sudo /usr/bin/pkexec
exit
その後、通常どおり再起動し、コマンドをテストします。
最近同じ問題がありました。Sudo
とpkexec
を台無しにしました。
上記の@Byte Commander♦
を試してみましたが、2つの特定のファイルのアクセス許可を変更しなかったので、私にとってはうまくいきませんでした。
最初のファイルはsudoers
で、/etc
にあります
cd /etc
chmod u=rwxs,g=rx,o=rx sudoers
2番目のファイルはREADME
で、/etc/sudoers.d
にあります
cd /sudoers.d
chmod u=rwxs,g=rx,o=rx README
これらの変更を行った後、Sudo echo "Sudo works again! Yay! :D"
が彼の不安に書いた@Byte Commander♦
を試してみてください。