확장 ACL 세트가있는 모든 파일, +
즉로 표시된 권한 플래그 끝에 약간 있는 파일을 어떻게 찾을 수 있습니까 ls -l
?
에 해당하는 플래그를 찾을 수 없습니다 find
. 내 순진 방법은 될 수 find
와 결합 ls -l
하고 grep
. 그러나 나는 이것이 좋은 생각하지 않습니다.
누군가 아이디어가 있습니까?
답변
getfacl
ACL을 재귀 적으로 덤프 할 수 있으며 ACL --skip-base
없이 파일을 무시 하는 옵션이 있습니다.
getfacl -R -s -p /directory | sed -n 's/^# file: //p'
답변
나는이 인터넷 검색의 반대를 발견했다. ACL이 설정되지 않은 파일을 찾습니다. 이것은 내가 끝내는 것입니다 (다른 Google 직원이 발견하는 경우)
ls --color=auto -lR | grep -v "\+ " | grep -v "^[.,a-z,1-9]" | grep -v "^$"
분명히 ls -R
찾기보다 빠릅니다 (카길 리온 파일이 있고 각 찾기 명령에 2 시간이 걸립니다).
답변
펄 버전 :
getfacl -R -p -s / | perl -wn -e ' if (/^# file/) { s|^# file: /||; print; }'
답변
-R
: 모든 파일 및 디렉토리의 ACL을 재귀 적으로 나열하십시오.
-s
: 기본 ACL 항목 (소유자, 그룹 등) 만있는 파일을 건너 뜁니다.
getfacl -Rs .
getfacl --recursive --skip-base .