無効な「chown -R /」コマンドを実行しました。影響を排除または最小化するにはどうすればよいですか? [コピー]

無効な「chown -R /」コマンドを実行しました。影響を排除または最小化するにはどうすればよいですか? [コピー]

特定のフォルダの所有権を変更したいのですが、間違いをしたようです。次のコマンドを実行します。

sudo chown -R ubuntu /

(これは私がいるフォルダだけを変更するようです)

最終出力ラインは次のとおりです。

chown: changing ownership of '/proc/2330478/task/2330478': Operation not permitted
chown: changing ownership of '/proc/2330478': Operation not permitted

キャンセルするためにできることはありますか?それとも混乱を減らす方法はありますか?

(喜劇はバックアップメカニズムを実装しているということです。) 特定のフォルダの所有権を変更して、win_scpを介してそのフォルダにバックアップスクリプトをアップロードしたいと思います。だから今私はパニックになっています。 BR

答え1

実行したコマンドがシステム全体の権限を変更しています。/

バックアップがない場合は、システム全体を再インストールする必要があることを申し訳ありません。

答え2

他の答え(またはコメント)は運命が終わったと言いますが、外部デバイスから起動できる場合はシステムを回復する可能性が高くなります。これは、インストールが暗号化されているかどうか、システムが外部ドライブから起動できるように構成されているかどうか、および同様の問題などの要因によって異なります。そうでなければ、面倒で努力が必要な場合でも、希望はまだあります。

リカバリ機能を備えたいくつかの起動可能なUSBドライブがありますが、そうでない場合でも、インターネットから起動可能なLinuxイメージを作成またはダウンロードすることもできます(Linuxディストリビューションの公式ホームページなどの信頼できるソースをお勧めします)。

これで、外部ドライブから起動した後、/tmp/myrootに内部の「壊れた」ルートシステムをマウントできます。

# mkdir /tmp/myroot

# mount /dev/[whatever device is your internal root] /tmp/myroot

/tmp/myroot/binこれにより、最も重要な実行ファイルをchownしてインストールできます/tmp/myroot/usr/bin。これは少し長いリストになりますが、少なくとも、、、それ/tmp/myroot/bin/sh自体/tmp/myroot/bin/loginと他のいくつかが必要です。怠惰なアプローチは、一時的に移動して外部リカバリカタログを復元している内部システムにコピーすることです。/tmp/myroot/bin/rpm/tmp/myroot/bin/chown

# mv /tmp/myroot/bin /tmp/myroot/damaged-bin

# mv /tmp/myroot/usr/bin /tmp/myroot/usr/damaged-usrbin

# cp -a /bin /tmp/myroot/bin

# cp -a /usr/bin /tmp/myroot/usr/bin

/var/tmp/myroot/varこれには、回復(現在インストールされている)や他のディレクトリの所有権などの他の変更も含まれます。繰り返しますが、このリストはかなり長いかもしれません。

これが完了すると、最小限の起動可能なシステム(シングルユーザー)を持つことになり、再起動時にそれを使用してrpm --setugids -aすべてのシステムファイルの所有権を復元できます(ホームファイルなどを手動で設定する必要があります)。

この回答は、システムを回復するために使用できる方法に関する一般的なアイデアを提供するためのものです。すべての詳細な手順では、シングルユーザーモードで内部システムを起動するために、より多くのディレクトリとファイルを調整する必要があるかもしれません。

PS:バックアップから復元するのが最善の方法です。これは学んだ教訓です。手動で復元した後も、この車は改造された車と同じであり、決して以前と同じではありません。

頑張ってください!

関連情報