[find] -perm でファイルのアクセス権限を指定して検索する
作成日: 2026年10月09日
find の -perm オプションを使用すると、アクセス権限(パーミッション)を条件にファイルを検索できます。
下記の例では、権限が 644 のファイルを検索します。
mkdir -p sample
printf 'public\n' > sample/public.txt
printf 'private\n' > sample/private.txt
chmod 644 sample/public.txt
chmod 600 sample/private.txt
find sample -type f -perm 644
実行結果は下記のとおりです。
sample/public.txt
-type f: 通常ファイルだけを検索します。-perm 644: 権限が644と完全に一致するファイルだけを検索します。
644 は8進数で、所有者には読み取りと書き込み(6)、グループとその他のユーザーには読み取り(4)を許可する設定です。
-perm -600 のように数値の前に - を付けると、指定した権限をすべて含むファイルを検索できます。この場合、所有者に読み取りと書き込みの権限があれば、それ以外の権限が付いていても一致します。
-perm はファイルの権限ビットを確認するもので、ACL などを含む実際のアクセス可否を判定するものではありません。
参考
- GNU Findutils - Mode Bits: https://www.gnu.org/software/findutils/manual/html_node/find_html/Mode-Bits.html