비슷한 일을하는 방법
find . -acl u:jim:rx
find . -acl u:*:r
find . -noacl u:jim:r
등.
find 명령이 이를 지원하지 않는다는 것을 알고 있지만 아이디어는 얻을 수 있습니다. 일부 특정 시나리오에서도 작동하는 스크립트가 있습니까?
참고 1:저는 특히 Debian에 관심이 있지만 모든 *nix OS에서 작동합니다.
노트 2: 이 질문은 실제 사례에 초점을 맞추고 있지만 실제로는 더 일반적입니다. ACL 관련 파일을 찾는 데 좋은 도구는 무엇입니까?
답변1
재귀 옵션이 포함된 getfacl
도구를 사용하면 기본 ACL만 포함된 파일을 -R
건너 -s
뛰고 출력을 grep
.
예를 들어 /dev
디렉터리 내에서 다음 명령을 실행하면 다음과 같은 결과가 나타납니다.
$ getfacl -Rs . | awk -v RS= -v ORS='\n\n' '/\nuser:jimmij:rw-\n/'
# file: sg1
# owner: root
# group: cdrom
user::rw-
user:jimmij:rw-
group::rw-
mask::rw-
other::---
# file: sr0
# owner: root
# group: cdrom
user::rw-
user:jimmij:rw-
group::rw-
mask::rw-
other::---
(...)
파일 이름만 인쇄하려면:
getfacl -Rs . | awk -v RS= '/\nuser:jimmij:rw-\n/ {sub(/\n.*/, ""); sub(/^[^:]*: /, ""); print}'