sudoのない再帰chmod

sudoのない再帰chmod

誤って次のコマンドを実行しました。 (chmod -R 741 /*ポイントを忘れてしまいました。はい)。だから私が知っている次のことは、私の端末がエラーでいっぱいで、/mnt/ディレクトリで停止していることです。この時点で私は私がどれほどひどい間違いを犯したのか気づきました。ターミナルが凍結しました。いくつかのナビゲーションの後に755ホームディレクトリに戻り、今すべてがうまくいくようです。しかし、システムのどの部分を台無しにすることができますか?私は書いたことがないので、sudo大いに壊れていないと思いますか?私のエラーの影響を受けない他のユーザーがいる場合は、ホームディレクトリのデフォルト権限の少なくとも一部を復元できますか?

答え1

他の人が指摘したように、ルートアクセスがなければ、システム自体のどの部分も損傷することはできません。自分が所有するファイルとディレクトリに対する権限を変更します。

(ほとんど)合理的な値のセットとして返す方法は次のとおりです。

chmod u=rwx,go= ~                                              # Ensure we can access our home directory
cd                                                             # Let's go...
find . -type d -exec chmod u=rwx,go=rx {} +                    # All directories
find . ! -type d -exec chmod u=rw,go=r {} +                    # Everything else
find .bash_history .config .gnupg .ssh -exec chmod go= {} +    # Lock out sensitive data

これにより、すべてのディレクトリ権限が設定され、そのディレクトリを読み書きすることができ、他の人もそのディレクトリを読み込んで検索できます。他の人が自分のディレクトリにアクセスできないようにするには、にgo=rx変更します。go=

次に、ユーザーがファイルを読み書きできるように、すべてのファイル権限を設定して他の誰もが読み取ることができます。ファイルの内容を非公開にするには、にgo=r変更します。go=

最後に、自分を除くすべての人の機密ディレクトリへのすべてのアクセスが削除されます。

実行可能ファイル(プログラム、スクリプト)がある場合は、実行ビットを再追加する必要があります。

chmod a+x ~/some/important/program

以前と同様に、これはすべての人(「すべての人」)に手順を実行する権利を与えます。自分だけにその権限を付与するには、a+x次のように変更してください。u+x

答え2

このコマンドを実行すると、sudoシステムに重要なファイルやディレクトリを使用しないため、影響を受けません。

ただし、すべてのファイルとディレクトリの権限を変更した可能性がありますが、その内容によっては$HOMEこれが大きな問題になる可能性があります。

自分と「他人」が実行できるようにすべてのファイルを設定した可能性があります。小さなファイルセットの場合は、通常のファイルに対する権限を644(ディレクトリの場合)またはデフォルトの権限に手動で変更することは755非常に簡単です。

これを行うためにルートになる必要はありません。

関連情報