ファイルの実行権限の復元

ファイルの実行権限の復元

サブフォルダ(間違った端末)にあると誤ってchmod -x *考えました。/homeこれで、他のアプリケーションでさまざまなエラーが発生します。正確にどのファイルが変更されたかを検出して復元する方法はありますか?

答え1

ホームディレクトリでこれを行う場合は、次のように実行してそのディレクトリにのみ権限を復元できます。

chmod u+x */

これにより、現在のディレクトリに隠されていないすべてのディレクトリに対する実行(検索)権限が付与されます。

答え2

どのファイルが変更されたかを確認するには:

  • chmod実行時間を決定(または推測/推定)します。特定のファイルが最後に表示された時期を確認できます。変更chmod'編集、名前の変更、リンク、編集、touchまたは変更済み)
    LS-LDC文書
    39分前だったとしましょう。パージ係数で3つを加え、
  • する
    探す起動ディレクトリ-cmin -42 -印刷
    過去42分間に変更されたすべてのファイルを見つけます。

数時間実行した後にこれを実行すると、chmod -x他のファイルが異なる理由で(異なるメカニズムを介して)変更された可能性があるため、誤った肯定が発生する可能性があります。

どのファイルが以前に実行可能であったかを確認する信頼できる方法はありません(バックアップの確認を除く)。ファイルが実行されているようです。変更chmodパターンを使用しても、すでにパターンがあります。過去42分間に変更されたすべてのファイルを見つけて、そのファイルに対する実行権限を付与するには、次のようにします。

探す起動ディレクトリ-cmin -42 -exec chmod u+x {} +

これは潜在的に危険です。ディレクトリに対してのみこれを行うには、次の手順を実行します。

探す起動ディレクトリ-type d -cmin -42 -exec chmod u+x {} +

関連情報