私は実行しようとしましたが、chmod -R 777 ./
最終的に私のコンピュータ全体を入力して設定しましたchmod -R 777 /
。777
どのような問題が発生する可能性がありますか?どうすれば解決できますか?
答え1
質問?例をたくさん。修正できますか?確かに。再インストールより高速ですか?おそらくそうではありません。
私の提案は再インストールすることです。既存のシステムのバックアップを維持し、パッケージのリストと/etc
ファイルの内容を内外に復元します/var
。の場合、/usr/local
権限を手動で復元できます。/home
との場合は、/srv
バックアップから権限を復元する必要があります。
複数のローカルユーザーを持つシステムの場合、誰もが特定のファイルを読み取ることができるようにすることで、秘密にする必要があることが明らかになることに注意してください。
- あなたのパスワードのリストは今壊れています。ローカルユーザーはハッシュされたパスワードのリストにアクセスでき、無差別攻撃を試みることができます。ユーザーにこの状況を知らせてください。
- すべての個人ユーザーデータ(Sshキー、保存されたパスワード、Eメール、ユーザーが機密と見なすことができるもの)は、すべてのローカルユーザーに公開されています。ユーザーにこの状況を知らせてください。
リカバリを試みるには(実際のリカバリパスよりも学習の練習が重要です)、まず一部のファイルに対する権限を復元します。現在、ほとんどのファイルが開いていますが、一部には必須ファイルがありません。設定値少し。他の作業を実行する前に実行する必要がある手順は次のとおりです。これは完全なリストではなく、システムの実行をほとんど不可能にする試みです。
chmod -R go-w /
chmod 440 /etc/sudoers
chmod 640 /etc/shadow /etc/gshadow
chmod 600 /etc/ssh/*_key /etc/ssh*key # whichever matches
chmod 710 /etc/ssl/private /etc/cups/ssl
chmod 1777 /tmp /var/tmp /var/lock
chmod 4755 /bin/su /usr/bin/passwd /usr/bin/sudo /usr/bin/sudoedit
chmod 2755 /var/mail /var/spool/mail
その後、すべての権限をすべての場所から復元する必要があります。以下のファイルの場合、/usr
ディストリビューションに応じて、次のいずれかのコマンドを使用してパッケージを再インストールできます。
- Debian、Ubuntu、または他のAPTベースのディストリビューションを使用している場合は、次のことを実行できます。
apt-get --reinstall install
pacman -S $(pacman -Qq --dbpath /newarch/var/lib/pacman) --root /newarch --dbpath /newarch/var/lib/pacman
Arch Linuxを使用している場合は、Live CDを使用していてArchインストールがインストールされていると仮定すると、これを行うことができます/newarch
。
/etc
下と下にあるファイルの場合、/var
ほとんどがそのまま残るため、機能しません。ジョブのインストールに対する権限をコピーする必要があります。/srv
下および下のファイルはとにかく/home
バックアップから復元する必要があります。ご覧のとおり、再インストールすることをお勧めします。
答え2
最初はこれに気づかないかもしれませんが、多くのことが間違っている可能性があります。最大の問題は、システム全体のセキュリティモデル全体が破損していることです。まるで体に肌がなく、すべての臓器が空気にさらされているようです。それが働く方法ではないので、感染するしかありません。数分間しか動作しないように見えても、掃除が必要です。
最良の方法は、実際に最初から始めることです。このアプローチは、リスクを大幅に削減し、短い時間でより明確な結果を提供します。適切なバックアップがあれば、これは圧倒的な経験ではありません。
クリーンアップする場合の主な方法は、ディストリビューションのパッケージマネージャに設定ファイルの上書きを含め、システム内のすべてのエントリを再インストールするように指示することです。次に、確認システムを使用してそのファイルを調べ、異常な権限を持つファイルとしてマークされたファイルがないことを確認します。次に、ユーザーのホームディレクトリなどを管理し、すべてを合理的な権限にリセットし、特別な権限が必要ないくつかの事項(SSHキーファイルなど)を処理します。最後に、777とマークされているすべての項目に対してシステム検索全体を実行し、リストを調べて(他の手順を徹底的に実行した場合はサイズが小さくなります)、1つずつ完了して次のことを確認します。
答え3
回避策:CentOSでテストしました。
この人が私の仕事を救ってくれました! (なんとか近づきます)
http://www.adminlinux.org/2009/07/how-to-restore-default-system.html
1)ファイルとディレクトリのuidとgidをリセットします。
for u in $(rpm -qa); do rpm --setugids $u; done
2) ファイルとディレクトリに対する権限
for p in $(rpm -qa); do rpm --setperms $p; done
次に、次のファイルの権限を手動で変更します。
# ll /etc/ssh/
# chmod 600 /etc/ssh/ssh_host_rsa_key
# chmod 600 /etc/ssh/ssh_host_dsa_key
# service sshd restart
答え4
特定のファイルに対する権限が「許可しすぎる」場合、一部のセキュリティに敏感なプログラムは実行されません。 @cevingが言ったように、sshd
これは最も一般的です。
間違える可能性がある最も重要なのは今です。すべてのユーザー開いて、読んで、書くことができますすべてのファイルあなたのシステムから。これが悪い2つの理由は次のとおりです。 A) 悪意のあるユーザーが悪用や誤った設定でシステムのコントロールを取得した場合、システムのすべてを修正できるようになりました。 B)欲しいものは何でも削除できます。ルートではないので、ルートとして実行されないほとんどの保護を無効にすることです。
事前にバックアップ権限がないと困ります。新しくインストールされたシステムから権限リストを「インポート」してから、その権限をシステム内のすべての項目に「適用」するスクリプトを作成できます。しかし、私はそのようなスクリプトを持っていません。