web-dev-qa-db-ja.com

ホームディレクトリで「chmod 777 *」を実行する

ホームディレクトリでchmod 777 *-Rパラメータなし)を誤って実行しました。

問題になりますか?それからそれを解決する方法は?

4
Amila Eranga

evilchmod 777 *ではなくchmod -R 777 *だけを実行した場合は、システムにそれほど悪影響を与えていません。

ただし、特に、すべてのトップレベルのファイルとディレクトリを元のアクセス許可に復元する必要があります。幸いなことに、これは比較的簡単な操作です。以下のコマンドを実行するだけです:

chmod a=r,u+w,a+X *

これにより、すべてのフォルダーのアクセス許可をファイル(デフォルト)の644とフォルダー(デフォルト)の755にリセットするための素晴らしい魔法が実行されます。このコマンドの動作の詳細については、 このStack Overflowの回答 を参照してください。

そこから、権限をデフォルトにリセットする必要があります。さらに、他のアクセス許可を以前の状態に戻す必要がある場合がありますが、これにより(少なくとも)損傷を取り消すことができます。

特に、次の2つのコマンドも実行する必要があります。

chmod 700 .ssh
chmod 600 .Xauthority

これにより、権限の不一致によるX11またはSSHに関連する認証エラーが防止されます。これらは重要ではありませんが、後悔するよりは安全である方が良いです。


正直なところ、ホームディレクトリでchmodを実行することは、世界で最悪のことではありませんabsolute。 SSHやXauthorityなどの問題を引き起こす可能性がありますが、ホームディレクトリ内のすべてのファイルを所有しているため、(理想的には)あなただけがそれらにアクセスできる必要があるため、「壊滅的」からはほど遠いです。

これを考えると、ここで怠beになり、自分自身でもルートでもないユーザーに対してホームフォルダー全体へのアクセスを拒否することは完全に安全です(しかし必ずしも最良のアイデアではない)。これを行うには、次のコマンドを実行します。

chmod 700 ~

事実上、これはyour userのみがホームフォルダーにアクセスすることを許可します。他のユーザー(root-はとにかくすべてにアクセスできる)を除き、ホームフォルダーにアクセスする方法はまったくありません。したがって、内部のすべてが世界的に読み取り可能/書き込み可能/実行可能。

ただし、これを1日に1回だけ呼び出すと、XauthorityやSSHなどの一部のシステムが(再び)文句を言う場合があるので、注意してください。同様に、別のユーザーアカウントでホームフォルダーにアクセスする必要がある合法的なサービスも使用できなくなります。 やや高度な権限-fuおよびACLを介してこの問題を解決できますが、それは非常に暗くて風の強いうさぎ穴を下っているだけです。

13
Kaz Wolfe