쉘 또는 Perl 스크립트는 그룹에 읽기 권한이 있는지 확인합니다.

쉘 또는 Perl 스크립트는 그룹에 읽기 권한이 있는지 확인합니다.
ls -l
drwx------   8 ws   web    1024 Apr 29  2013 abc
drwxr-xr-x   8 ws   web    1024 Oct 19  2011 def

abc그룹 읽기/실행 권한이 없는 디렉터리를 찾아 web읽기/실행 권한을 부여 하려면 일부 스크립트가 필요합니다 .

답변1

다음을 위해 사용할 수 있습니다 find:

find / -type d -group web -exec chmod g+rx {} +

이는 이미 해당 그룹이 설정된 그룹도 rw로 설정하므로 약간 비효율적입니다. find특정 권한 비트를 확인 하고 일치하지 않을 수도 있습니다 -perm /mode.

답변2

제가 얼마전에 비슷한 목적으로 쓴 글이 있습니다. 이해하셨다고 가정하면 chown/chmod목적에 맞게 조정할 수 있습니다. 이 경우 일부 사용자 계정은 userX 계정 아래에 중첩됩니다. 문제는 이러한 사용자가 업로드한 파일이 여전히 속하므로 otheruser:otheruseruserX가 해당 파일에 영향을 미칠 수 없다는 것입니다. 스크립트는 userX가 중첩 계정에서 업로드한 모든 항목을 완전히 제어할 수 있도록 1분마다 실행됩니다.

디렉토리 구조 예: /home/userX/otheruser

그 중 /home/userX는 userX의 홈 디렉터리이고 /home/userX/otheruser는 다른 사용자의 홈 디렉터리입니다.

#!/bin/bash

ls -l /home/userX | grep "^d" | awk '{print$9}' | while read i; 
    do 
        chown -R $i:userX /home/userX/$i/*; 
        chmod -R 775  /home/userX/$i/*; 
    done

관련 정보