web-dev-qa-db-ja.com

ひどいchownの後、CentOSのデフォルトの所有権を復元します

重複の可能性:
ファイルシステム全体に設定された不正なアクセス許可からRHEL 4.3サーバーを回復するにはどうすればよいですか?

偶発的なchown-R user:group/*の後で、CentOSファイルシステムのデフォルトの所有権を復元する方法はありますか?

行って再インストールする前に、私は尋ねて、おそらく時間を節約したいと思いました。私は新しい開発マシンをセットアップしている最中です(ありがたいことに本番ではありません)。入力が速すぎるか、を見逃しました。キーか何か。キャッチしたらすぐにキャンセルしようとしましたが、/ bin/boot/devなどはすべて変更されていました。

希望はありますか、それとも単に再インストールして、本番マシンではなかったことを喜んでいますか?

5
ahanson

"再インストールして、本番マシンではなかったことを嬉しく思いますか?"

はい。

10
jscott
rpm -a --setugids

そのマシンの正確なクローンがある場合は、他のマシンをモデルとして使用してアクセス許可を復元することができます。何かのようなもの:

server1:# find / /usr /home -xdev | xargs getfacl -Pp > /tmp/permissions_from_server1


server2:# setfacl --restore=/tmp/permissions_from_server1
  • -xdevfind 1つのファイルシステムにとどまるように指示します。
  • 大文字の-Pはフィジカルウォークの略です。つまり、シンボリックリンクを無視します。
  • 小文字のpは、先頭のスラッシュを保持します。このスイッチがない場合、getfaclのデフォルトの動作では、先頭のスラッシュが削除され、復元が失敗します。

YMMV、これが出発点です。

2
MikeyB

再インストールは最終的には簡単で、私がとるルートです。これが運用サーバーであり、バックアップがない場合、/bin/suおよび/usr/bin/Sudoが機能しなくなる可能性があるため、最初のタスクはroot権限を取り戻すことです。

Rootとしてローカルにログインし、それらのバイナリの所有権をリセットして、ライブラリが機能しないなど、すぐに発生するエラーの処理を開始します。

同様のマシンから、Shell/Perl/Pythonスクリプトを使用してさまざまなシステムディレクトリにファイルのリストを作成し、影響を受けるシステムでスクリプトを逆に実行して、ファイルに適切な所有権を付与できます。

それは世界の終わりではありませんが、かなり近いです、そしてそれはお尻の大きな痛みです。

1
cpbills