findを使用して実行ビットが設定されているすべてのファイルを検索するには?

findを使用して実行ビットが設定されているすべてのファイルを検索するには?

findを使用してファイルの権限を回復する権限回復スクリプトを作成したいと思います。

私にとって主に必要なのは、ファイルの他の権限に関係なく、実行ビットが設定されているすべてのファイルを一覧表示するfindコマンドです(これはトリックです)。

答え1

GNU調査の結果によると:

find /dir -type f -executable

他のバージョンについては、周辺のマニュアルページを参照してください-perm

答え2

信じるかどうか探すマンページ。 CentOSとUbuntuシステムにもこれの例があります。

- パーマ/モード

ファイルの権限ビットパターンを設定します。この形式はシンボルパターンを受け入れます。u',シンボルモードを使用する場合は、g'または'o'を指定する必要があります。いくつかの例については、例のセクションを参照してください。パターンに許可ビットが設定されていない場合、このテストはすべてのファイルと一致します(アイデアは-perm -000の動作と一致することです)。

だから

find  . -perm /u+x

所有者に対して実行権限が設定されているファイルを探します。

find . -perm /u+x,o+x

所有者などの実行権限が設定されているファイルを探します。

答え3

findコマンドを使用せずに、zshで次のコマンドを使用して同様の操作を実行できます。Glob Qualifiers:

ls /path/to/some/parent/folder/**/*(*)

上記のコマンドは、lsすべてのサブフォルダのすべての/path/to/some/parent/folder実行可能ファイルを返します。

関連情報