디렉토리의 내용을 나열하면서 사용자에게 읽기 액세스 권한이 있는 디렉토리와 파일만 표시하려면 어떻게 해야 합니까?
문제를 해결했지만 소유한 파일만 나열됩니다.
find /dir/to/search -user johnsmith1 -ls
나는 가능한 대안이 "sudo su johnsmith1"이고 그 다음 ls 또는 find일 것이라고 생각하고 있지만 그것이 가능한지는 확실하지 않습니다.
답변1
사용자의 디렉터리 및 파일 나열( ubuntu
예제에서는)읽기 권한이 있음도착하다:
find -exec sudo -u ubuntu test -r '{}' \; -print
사용자의 디렉터리 및 파일 나열쓰기 권한이 있음도착하다:
find -exec sudo -u ubuntu test -w '{}' \; -print
사용자의 디렉터리 및 파일 나열실행 권한이 있음도착하다:
find -exec sudo -u ubuntu test -x '{}' \; -print
사용자의 디렉터리 및 파일 나열읽기, 쓰기, 실행 권한이 있습니다.도착하다:
find -exec sudo -u ubuntu test -rwx '{}' \; -print
답변2
방법을 찾았어요!
find -maxdepth 1 \( -type d -or -type f \) \( \( -user johnsmith1 -perm /u=r \) -o \( -group johnsmith1 -perm /g=r \) -o -perm /o=r \) -ls
답변3
ls의 출력을 grep으로 파이프하면 됩니다. 따라서 읽기 권한이 있는 디렉터리나 파일만 보려면 이 명령을 사용할 수 있습니다.
ls -l | grep [d,-]r--
읽기, 쓰기, 실행 권한이 있는 디렉터리나 파일을 보려면 이 명령을 사용할 수 있습니다.
ls -l | grep [d,-]rwx
어떤 디렉터리나 파일을 읽었는지, 기타 권한을 확인하려면 이 명령을 사용하세요.
ls -l | grep [d,-]r*