chmod -R 777 ./
を実行しようとしました しかし、結局chmod -R 777 /
と入力することになりました 777
を設定します 私のマシン全体で。何がうまくいかない可能性がありますか?どうすれば修正できますか?
承認された回答:
問題?はい、たくさん。修正できますか?もちろん。再インストールするよりも速いですか?おそらくそうではありません。
再インストールすることをお勧めします。既存のシステムのバックアップを保持し、パッケージリストと/etc
内のファイルの内容を復元します および/var
。 /usr/local
の場合 、おそらく手動で権限を復元できます。 /home
の場合 および/srv
、バックアップから権限を復元する必要があります。
これが複数のローカルユーザーを抱えるシステムである場合、一部のファイルを誰でも読み取り可能にすることで、機密を保持する必要があるいくつかのことが明らかになったことに注意してください。
- パスワードリストが危険にさらされています。ローカルユーザーはハッシュ化されたパスワードリストにアクセスでき、ブルートフォースを試みる可能性があります。これをユーザーに通知します。
- すべてのプライベートユーザーデータ(sshキー、保存されたパスワード、電子メール、その他のユーザーが機密と見なす可能性のあるもの)は、すべてのローカルユーザーに公開されています。これをユーザーに通知します。
本当に修復を試みたい場合(実際の回復ルートよりも学習演習の方が多い)、最初にいくつかのファイルのアクセス許可を復元します。ほとんどのファイルは現在開いすぎていますが、必要なsetuidビットが欠落しているファイルもいくつかあることに注意してください。何よりも先に実行する必要のある手順は次のとおりです。これは完全なリストではなく、システムをかろうじて機能させるための試みにすぎないことに注意してください。
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
を実行できます。 - Arch Linuxを使用している場合は、
pacman -S $(pacman -Qq --dbpath /newarch/var/lib/pacman) --root /newarch --dbpath /newarch/var/lib/pacman
、Live CDを使用していて、Archインストールが/newarch
にマウントされていると仮定します。 。
/etc
の下のファイルの場合 および/var
、それは機能しません。それらの多くはそのまま残されます。機能しているインストールでアクセス許可を複製する必要があります。 /srv
の下のファイルの場合 および/home
、とにかくバックアップから復元する必要があります。ご覧のとおり、再インストールすることをお勧めします。