ACL - 읽기 액세스 권한만 부여하고 실행 액세스 권한은 *아님* 부여합니다.

ACL - 읽기 액세스 권한만 부여하고 실행 액세스 권한은 *아님* 부여합니다.

/test라는 디렉토리가 있고 두 개의 파일이 있습니다.

info.txt
script.sh

사용자 john에게 읽기 전용 액세스 권한을 부여하고 다음을 수행했습니다.

setfacl -m u:john: r test/

위 명령을 사용하면 John은 실행 권한이 부족하여 폴더에 액세스할 수 없으므로 다음과 같이 다시 시도했습니다.

setfacl -m u:john: rx test/

이제 작동합니다. 사용자 john은 폴더에 액세스하고 파일을 읽을 수 있습니다.

하지만, 그는 script.sh를 실행할 수 있습니다. 후자의 권한은 부여할 생각이 없었습니다. 어떻게 진행해야 하나요?

답변1

할 수는 있지만 chmod o-x test/script.sh이것은 무의미합니다. 사용자는 파일을 홈 디렉터리에 복사하고 실행 가능하게 만든 다음 거기에서 실행할 수 있습니다. setuid가 아닌 이상 어쨌든 사용자 권한으로 실행됩니다. 그리고 쉘 스크립트는 setuid가 될 수 없지만 setuid 파일을 복사하면 복사본에서 setuid 비트가 제거됩니다.

관련 정보