特定の権限を持つファイルを検索する方法


8

特定の権限を持つファイルを検索するにはどうすればよいですか。たとえば、10000個のファイルがあり、READ ONLYフラグが付いているファイルを見つけたいと考えています。別のケースでは、特定の所有者がいる別のケースを検索したいと思います。または、読み取り専用で実行可能であるファイルを確認するために別のもので。

回答:


9

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:-aforおよびand -oまたはor を使用して、アクセス許可の組み合わせを探すこともできます。たとえば、これらの権限を正確に見つけるには、次のように入力します。

find <location> -type f -perm 744 -o -perm 666

ディレクトリはで検索できます-type d

man findその他の利用可能な順列については、を参照してください。


-444との違いについて言及するための+1444
Fr0zenFyr 2017

私にとっては、読み取り専用の-perm -444ファイルではreadなく、アクセス許可を持つファイルを検索します(つまり、他のアクセス許可のみを read持ち、他のアクセス許可はありません)。
ジャニスElmeris
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.