POSIXは、読み取れないすべてのファイルを見つけます。

POSIXは、読み取れないすべてのファイルを見つけます。

www-data私は「FreeBSD」サーバーだけでなく、他のユーザーが所有するサブディレクトリから読み取れない「ACL方式」をすべて探そうとしています。サーバーがコマンドを使用しないようにブロックします。find . ! -readable

(現在のユーザーが)読み取れないディレクトリ内のすべてのファイルを見つける方法は?

答え1

いつでも次のことができます。

find . -exec sh -c '
  for file do
    [ -r "$file" ] || printf "%s\n" "$file"
  done' sh {} +

ファイルのリストあなた読み取り権限がありません。

シンボリックリンクの場合、シンボリックリンクの宛先を確認します。

明らかに、読み取り権限のないディレクトリ(ディレクトリに対する検索権限がある場合)に対する読み取り権限を持つファイルおよび/またはそうでないファイルを含む可能性があるディレクトリ内のファイルは報告されません。 )に対する読み取り権限があります。

FreeBSDでは、次のこともできます。

find . -print0 | perl -Mfiletest=access -l -0ne 'print unless -r'

または

sudo find . -print0 | perl -Mfiletest=access -l -0ne 'print unless -r'

また、読み取り権限がないディレクトリのファイルも一覧表示されます。

(POSIXは指定も指定もありません)sudo-print0perl

関連情報