해당 옵션 없이 단일 폴더를 마운트하는 것이 가능합니까 noexec
? 올바르게 실행 하려면 서버의 사용자 홈 폴더에 있는 웹 응용 프로그램을 설치해야 하는 상황이 있습니다. noexec
그러나 모든 사용자에 대한 제한을 제거하는 것이 아니라 해당 사용자에 대해서만 제한을 제거하고 싶습니다.
fstab은 다음과 같습니다.
# /dev/sda3 /home ext3 defaults 0 2
UUID=cae3a489-22c1-43d8-aaf1-27306b32ebb0 /home ext3 defaults,noexec 0 2
따라서 noexec
여기에서 제거하면 모든 사용자가 실행 파일을 실행할 수 있으며 사용자만 실행 파일을 실행할 수 있도록 하는 솔루션이 필요합니다 user
.
답변1
당신이 원한다는 뜻이군요제거하다noexec
전체 파티션에서 디렉토리를 삭제하지 않고 /home의 디렉토리를 제한하시겠습니까 ? 그렇다면 설치 디렉터리를 바인딩하고 기본 옵션으로 다시 설치하면 효과가 있을 수 있습니다. 하지만 직접 테스트해 보세요. 다음은 EXT4를 사용하여 작동하는 것처럼 보이는 더러운 해킹입니다. 그러나 webapp 디렉토리를 자체 상단에 바인드 마운트할 수 있다면 더 깨끗하고 안전하며 더 나을 수 있습니다. fstab에서 마운트가 완료된 후 셸 스크립트에서 실행해야 합니다.
mount --bind /home/user/webapp /home/user/webapp
mount /home/user/webapp -oremount,defaults
답변2
웹 애플리케이션은 다음에서 실행되어서는 안 됩니다 . 올바르게 실행하려면 /home
어떻게 해야 합니까 ? noexec
거기에서 아무것도 실행할 필요가 없다면 그렇게 하려고 시도해서는 안 되며, 이 경우 플래그는 전혀 차이가 없습니다.
예를 들어 SELinux 태그를 사용하여 원하는 제한을 적용할 수 있지만 쉽지 않습니다. 또는 파일 ACL 및 권한( 참조)을 사용하여 해당 파일을 실행할 수 있는 사람을 제어할 수 acl(7)
있습니다 setfacl(1)
. "다른 사람"이 그 안에 있는 파일에 전혀 액세스할 필요가 없다면 디렉터리의 권한을 사용하여 액세스할 수 있습니다.