Ubuntuでsudoを復元する方法は?

Ubuntuでsudoを復元する方法は?

私はこれをしました:

sudo chown -R myname /usr/

sudoこれで、次のエラーのためコマンドは使用できません。

sudo: setuid ルートでなければなりません。

私が読んだように、これはファイルの所有者が/usr/bin/sudoルートではないことを意味します。フォルダのchownのため、今私のユーザーです/usr

多くのフォーラムやブログでは、人々はrootとしてこれを行うことを提案しています。

# chown root:root /usr/bin/sudo
# chmod 4111 /usr/bin/sudo

su...しかし、問題はrootとしてログインする必要がありますが、端末にパスワードを書くと間違っているのでログインできないということです(実際にはユーザーに追加したパスワードを使用しています)。

$ su
Password:
su: Authentication failure

sudoその後、注文をもう一度受け取ることができますか?

編集:私のUbuntuはMac OS XのParallelsにあります。

答え1

ルートレベルのアクセスを提供する唯一のものを獲得したので、この問題を解決するには、現在のソフトウェア環境の外部の助けが必要です。

最も簡単な方法は、配布用のLiveCDを起動し、ドライブをマウントしてから、リストされたchmodファイル権限でファイル権限を変更することです。

シングルユーザーモードで起動してルートシェルを取得することもできます。

通常、/usr/ディレクトリ内のすべてのアイテムを所有する必要があるため、問題のあるアイテムを修正するためにroot繰り返すことができるはずです。chown編集する:@Gillesのコメントによると、明らかに実行するとchownsetuidとsetgidビットが破壊されるため〜する所有権が再確認された後にこれらすべてを復元するには、既存のシステムとの手動比較が必要です。 )

しかし非常に珍しいしなければならない4111。この追加特権は特別な特権です。これにより、ユーザーとして実行してもrootとして実行できます。sudoいくつかのコマンドだけがこの許可ビットを設定する必要があります。最初に実行しない場合は、chmodおそらくこの問題をまったく修正する必要はありません。、すべての権限が正確でなければなりません。chmodすべての権限が何であるかを知らずに大規模なタスクを実行しないでください。

答え2

すべてのファイルの正しい所有権を確認するためのガイドとして使用できる同様のシステムがある場合は、回復モードで起動してルートシェルを入力して、すべてのファイルの正しい所有権を手動で復元できます。ファイルは/usr

最速の方法は、オペレーティングシステムを再インストールするか、バックアップから復元することです。

Ubuntuなどのシステムにはデフォルトでrootパスワードがないため(アカウントが無効になっているため)これはできませんsu

答え3

Ubuntu回復モードで、次のコマンドを入力します。これは私の問題を解決しました。

mount -o remount,rw /
mount --all
chown root:root /usr/bin/sudo
chmod 4755 /usr/bin/sudo
restart

これがあなたの問題を解決することを願っています。 (または他人の)

ここでこれを見つけました。ブログ投稿

答え4

人がするよりも簡単です。以下を試してください。

  1. 破損したコマンドを使用してrootとしてログインしようとしないでくださいsu。代わりに、現在のユーザーとしてログアウトしてから、通常のディスプレイマネージャ(ログイン画面など)を介してrootとして再度ログインしてください。
  2. 端末で次のコマンドを実行します。chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo

これにより、sudoコマンドが変更され、すぐにバックアップと実行が可能になります。

関連情報