ルートフォルダーとサブフォルダーの所有者を変更する(Ubuntu 13.04)


0

コマンドで誤ってルートフォルダー(/)の所有者とすべてのサブフォルダーを1人のユーザーに設定した

$ sudo chown -R 'userName' /*

今、私はコマンドによって所有者をルートユーザーに戻したい

$ chown -R root:root /*

しかし、私にはこの操作に対する許可がありません。コマンドを使用する場合

$ sudo chown -R root:root /*

それは戻ります

sudo: effective uid is not 0, is sudo installed setuid root?

それを修正するにはどうすればよいですか?


@terdon実際にchown -R foo/*は、の所有者を/サブディレクトリだけに置き換えるべきではありません。それらは微妙に異なります。
ダースアンドロイド


@DarthAndroidあなたは絶対に正しいです、コメントを削除しました。
テルドン

回答:


2

ええと、それは興味深い状況です。sudoバイナリの所有者rootであり、setuid適切に機能するためのフラグを持っている必要があります(これにより、実際に誰が起動したかに関係なく、ファイルの所有者として実行できます)。

所有者を変更sudoするとroot、として実行できなくなり、その後、としてコマンドを実行できなくなりますroot

これから回復する最も簡単な方法は

  1. マシンをシングルユーザーモードで再起動します
  2. すべての重要なファイルをUSBまたは外部ドライブにコピーします。
  3. Ubuntuを再インストールしてから、ファイルを復元します。

お気づきのとおり、正しい所有者と正しい権限を持っていることに完全に依存するシステムファイルがいくつかあります。SSHdたとえば、ホストの秘密キーに正確なアクセス許可がない(0600そして、私が思うにルートが所有している)場合、開始を拒否します。によって所有さsudosetuidていない状態で自分自身を昇格させることはできませんroot。また、物事が完璧ではないと判断した場合に動作しないセキュリティ関連のプログラムは他にもたくさんあります。

非常に面倒な作業の多くは、外部のコンピュータを使用して権限の一部を回復することが可能であろうが、それは楽しい作業ではありませんだと再インストールはおそらくはるかに簡単になるだろう。


確かに、再インストールがおそらく方法です。
gniourf_gniourf

1

以前に再帰的にchown'dを実行した場合、アクセス権は不可逆的に破損する可能性が高くなります。

データをバックアップして再インストールします。


1

真剣に、ゼロから再構築します。あなたが見ているエラーを乗り越えてルートを再作成したとしても、システムは今と同じように壊れます。制御不能なチャウニング(またはその問題についてはchmoding)から回復する手段は事実上ありません。どうにか各オブジェクトの元の所有者の部分的なリストを取得できたとしても、それはほぼ間違いなく不完全であり、ファイルが最初に作成された後にアプリ/デーモンのインストールによって変更されたストックシステムの状態を反映します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.