etcディレクトリのchmodを元に戻すにはどうすればよいですか?


9

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

sudo chmod -R 700 /etc

私は私が何か間違ったことをしたことを知っています。私の端末は今印刷します:

I have no name!@ubuntu: /$

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

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


3
ls -laR別の実行中のシステムからのディレクトリリスト()が必要です。あなたのバージョンは何ですか?ディレクトリを755に、ファイルを644に変更できますが、一部のモードは異なるモードにする必要があります(/ etc / shadowなど)。
ott-- 2013

4
タイプsudoするときは、「私は自分のシステムに対して、セーフティネットなしで究極のパワーを与えています。自分が何をしているか知っていますか?私が意図したものをタイプしたことは確かですか?」リターンを押す前。
msw 2013

1
稼働中のシステムでは、find /etc -type d ! -perm 755 -exec ls -ld {} \;およびfind etc -type f ! -perm -644 -exec ls -l {} \;を使用して、非標準モードのディレクトリとファイルを検索できます。Debianでは、2つのディレクトリと39のファイルだけです
ott--

「しかし、アクセス許可の変更はどのようにすべてを危険にさらしましたか?」-これらのファイルを読み取るために必要ないくつかのものが、これらのファイルを読み取るためのアクセス許可を持っていません。
user253751 2014年

回答:


15

1つ問題がありましたsudo。そのコマンドでのの使用です。-Rスイッチは伝えchmodますが、これは私に起こったら、あなたは(何をしているかわからない場合、私は、:再帰的(異端我々はそれを呼び出す必要があります)、すべての場合には、そのディレクトリに非推奨アクションを権限を設定しますコマンドを発行しませんでしたが、不完全なGUIがそれを作成し、私のシステムは有線になりました)。

ファイルのアクセス許可のみでした。では、なぜシステム全体が完全に破壊されたように見えるのでしょうか。

GNU / Linuxは安定性とセキュリティを念頭に置いて構築されているため、ファイル権限に非常に敏感です。GNU / Linuxで実行されるほとんどのプログラムにも同じことが当てはまります(つまり、apache2root特権を削除してwww-data、または類似のユーザーを削除します。あなたの700許可では、自分のファイルの読み取り/書き込みは許可されません)。

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

すでに述べたように、ログインパスワードはのファイルに保存され、/etc/passwdroot(私はそれを変更しなかったと思います)だけがそれを読み取ることができますが、ログインプロンプト(またはGUIログイン)は非特権アカウントを使用するため、読み取れませんファイル。

しかし、アクセス許可の変更はどのようにすべてを危険にさらしましたか?

上記と同じように、Linuxはファイル権限に非常に敏感です。一部のプログラムでは、構成ファイルのアクセス許可もチェックし、予期しない場合はまったく実行されません。

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

RPMベースのディストリビューションを使用している場合、これはrpm --setpermsコマンドを使用して実行できます。Debianのようなシステムでapt-get --reinstall installは、パッケージを1つずつ苦労して元に戻すことになります。他の解決策も利用できるかもしれませんが、そのための実用的なシステムが必要になります。


5

見てみましょう、あなたがしたことは、/ etcディレクトリ全体に許可を設定することです。読み取り/書き込み/実行は、ファイル/ディレクトリの所有者にのみ許可され、他のすべての人には拒否されます。ファイルの権限に混乱している場合は、ウィキペディアの「従来の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の理由は、dirsでのみ実行ビットを設定するためです。/ etc内の実行可能ファイルを含め、一部のプロセスは不平を言ったり失敗したりしますが、上記で概説した再インストールを実行できるはずです。

元の権限を回復するまで、システムは少なくとも安全でない状態になることに注意してください。


2
さらに、一部のプログラムは機能しません。たとえば、SSHは特定のファイルに対する制限された権限を必要とします。/etc/sudoers別です。
Mel Boyce 2013

1
ただし、一部のファイルは/etc誰でも読み取り可能にしてはなりません。バックアップから復元すると、バックアップが作成されます(または、バックアップの作成を勧められているのはそのためです)。
tripleee 2013

0

700は、グループと世界のユーザーのための多くのファイルへのアクセスを削除しました(たとえば、ファイルには現在rwx------アクセス許可があります)。たとえば、すべてのユーザーがを読めるようにする必要があります/etc/passwd。これで、ルートのみがを読み取ることができるようになりました/etc/passwd/etc/予期しない方法でファイルのアクセス許可を壊すと、多くのことが壊れます。

稼働中のサーバーに基づいてアクセス許可を再構築してみることもできます(まだrootに切り替えることができると想定しています)が、エラーが発生する傾向があります。

/etc/バックアップがある場合は、バックアップから復元することをお勧めします(復元でアクセス許可が元に戻されることを確認するか、バックアップソリューションでサポートされている場合は、アクセス許可のみを復元してください)。

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