이 예제에서 -perm 플래그에 gnu find 구문을 사용합니다.
기본적으로 ACL과 같은 엉뚱한 확장을 포기하면 소유자, 그룹 및 "기타"쓰기 액세스의 3 가지 선택이 있습니다. 루프 작업처럼 들립니다.
이것을 최적화 할 충분한 공간이 있지만 다른 사람에게 맡길 것입니다 ... 또한 파일 시스템 찾기 및 교차와 그와 같은 말도 안되는 모든 세부 사항을 기억할 수는 없습니다. 또한 그룹의 출력이 테스트 Linux 시스템과 동일한 지 확인하십시오.
$ groups snoopy
snoopy : snoopy doghouse linus admin wwI woodstock
$
이것은 사용자가 쓰기 가능한 파일을 찾는 방법에 대한 대략적인 예입니다. 이것은 모든 사용자로 실행될 때, 비 uid0 사용자로 실행할 경우 스크립트를 실행하는 사용자가 읽기 및 실행 권한을 가진 디렉토리에만있는 것을 찾을 수 있습니다.
#!/bin/sh
user=snoopy
directory=/
# first files owned by the user and writable
find "$directory" -follow -user "$user" -perm /u+w 2> /dev/null
# now for files that are group writable with the user in that group
for groups in $(groups snoopy 2> /dev/null | cut -f2 -d:)
do
find "$directory" -follow -group "$user" -perm /g+w 2> /dev/null
done
# now for everything else
find "$directory" -follow -perm /o+w 2> /dev/null