回答:
find
ディレクトリツリー全体を再帰的に検索できるコマンドを使用するのがおそらく最も簡単です。たとえば、読み取り専用のファイルを検索したい場合は、次のように入力します。
find <specify location> -type f -perm -444
特定のユーザーに属するファイルの場合は、
find <location> -type f -user mike
実行可能ファイル(すべての場合)に使用できます
find <location> -type f -perm -777
実行可能ですべて読み取り専用の場合は、上記の例では777の代わりに555を使用します。また、置換することにより、グループに属しているファイルを検索することができます-user mike
のために-group mike
。
検索語を否定して正反対を検索するには、次のような感嘆符を使用できます。
find <location> -type f ! -perm -444
注:パーミッションの前にダッシュを指定すると(例:)-perm -444
、読み取り専用フラグを持つすべてのファイルが見つかりますが、444のファイルだけではありません。正確に444だけを検索するには、ダッシュを削除します(例:)-perm 444
。
注2:-a
forおよびand -o
またはor を使用して、アクセス許可の組み合わせを探すこともできます。たとえば、これらの権限を正確に見つけるには、次のように入力します。
find <location> -type f -perm 744 -o -perm 666
ディレクトリはで検索できます-type d
。
man find
その他の利用可能な順列については、を参照してください。
-perm -444
ファイルではread
なく、アクセス許可を持つファイルを検索します(つまり、他のアクセス許可のみを read
持ち、他のアクセス許可はありません)。
-444
との違いについて言及するための+1444