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

관련 정보