etcディレクトリからchmodを復元する方法は?

etcディレクトリからchmodを復元する方法は?

誤って etc ディレクトリで次のコマンドを実行しました。

sudo chmod -R 700 /etc

私は私が何か非常に間違っていたことを知っています。私の端末は次のように印刷します。

I have no name!@ubuntu: /$

私のetcディレクトリを以前の状態に復元するにはどうすればよいですか?

権限を変更しようとしましたが、今は失敗します。また、誰かが私がこのコマンドを実行したときに実際に何が間違っているのかを説明できれば、とても役に立ちます。これはファイル権限のみです。それでは、システム全体が完全に損傷しているように見えるのはなぜですか?今ログインパスワードが機能しないのはなぜですか? etcディレクトリにユーザー関連のファイルがあることがわかります。しかし、権限を変更すると、どのようにすべてが危険になりますか?これに関するいくつかの技術的な詳細は非常に役立ちます。

答え1

sudo1つの問題が発生しました。コマンドを使用することです。この-Rスイッチは、chmod自分が何をしているのかわからない場合は、そのディレクトリに対する権限を再帰的に設定するように指示します。 (これが私に起こると、そのコマンドを実行するのではなく、コマンドを実行するバグがあるGUIがあり、私のシステムは接続を開始します)。

これはファイル権限のみです。それでは、システム全体が完全に損傷しているように見えるのはなぜですか?

GNU/Linuxは信頼性と信頼性のために構築されているため、ファイル権限に非常に敏感です。安全心。 GNU / Linuxで実行されているほとんどのプログラムにも同様に適用されます(つまり、apache2root権限を削除し、www-data同様のユーザーを使用し、あなたの700権限は独自のファイルを読み書きすることを許可しません)。

今ログインパスワードが機能しないのはなぜですか?

すでに述べたように、ログインパスワードはファイルに保存され、ルート(/etc/passwd変更されていないと仮定)のみを読み取ることができますが、ログインプロンプト(またはGUIログイン)は許可されていないアカウントを使用するため、読み取れません。ファイル。

しかし、権限を変更すると、どのようにすべてが危険になりますか?

上記のように、Linuxはファイル権限に非常に敏感です。一部のプログラムは設定ファイルに対する権限もチェックし、予想と一致しない場合はまったく実行されません。

私のetcディレクトリを以前の状態に復元するにはどうすればよいですか?

RPMベースのディストリビューションを使用している場合は、コマンドを使用してこれを実行できます。パッケージを1つずつ復元するのは痛いかもしれません。rpm --setpermsDebianのようなシステムではapt-get --reinstall install友達です。他の解決策があるかもしれませんが、正常に動作するシステムが必要です。

答え2

あなたがしたことは、ファイル/ディレクトリの所有者だけが読み取り/書き込み/実行を許可し、他の人は拒否するように/etcディレクトリ全体に権限を設定したことです。ファイル権限について混乱している場合は、詳細をお読みください。Wikipedia:既存のUNIX権限

システムが破損した理由は、多くのプロセスが設定を読み取れなくなり、/ etcにアクセスできなくなったためです。 /etcディレクトリ全体を以前の状態に復元するのは簡単ではありません。これを行う方法はディストリビューションによって異なりますが、デフォルトでは/etcにあるファイルを含むすべてのパッケージを再インストールすることを意味します。

システムのクイックバンドルでシステムを正しく変更するには(上記のように/ etcにコンテンツを含むすべてのパッケージを再インストールする)、次の手順を実行できます。

    # sudo find /etc -type d -exec chmod 775 '{}' \;
    # sudo find /etc -type f -exec chmod 664 '{}' \;

これらの2行を使用すると、すべての/ etcディレクトリに自由権限を設定して、所有者とグループが読み取り/書き込みを許可し、他の人が読むことを許可します。 2つのchmodがある理由は、ディレクトリに実行ビットのみを設定するためです。それにもかかわらず、/ etcの実行可能ファイルを含む一部のプロセスはエラーが発生したり失敗したりする可能性がありますが、上記の再インストールを実行できるはずです。

少なくとも元の権限を復元するまで、システムは安全でない状態になります。

答え3

700多数のファイルへのグループとフルユーザーアクセスが削除されました(たとえば、ファイルにrwx------権限があります)。たとえば、すべてのユーザーが/etc/passwd/etc/passwd/etc/

作業しているサーバーに基づいて権限を再構築できますが(まだルートに切り替えることができると仮定)、エラーが発生しやすいです。

バックアップがある場合は、/etc/バックアップから復元することをお勧めします。復元権限を復元するか、バックアップソリューションがサポートしている場合は権限のみを復元してください。

関連情報