질문과 같습니다. noexec가 설치된 FS에서 특정 실행 파일을 화이트리스트에 추가할 수 있습니까?
예를 들어 내 모습은 다음과 같습니다.
/dev/vg/lv on /tmp type ext4 (rw,noexec,nosuid)
답변1
아니요. 설치 옵션이 모든 것보다 우선합니다. 그것이 그들의 목적입니다. 해당 파일 시스템에서 직접 아무것도 실행되지 않도록 하는 것입니다.
이 문제를 해결하려면 noexec
실행 프로그램을 호출하여 대부분의 프로그램을 간접적으로 실행할 수 있습니다.
- 프로그램이 스크립트인 경우(다음으로 끝남)셰르본), 인터프리터를 호출하고 스크립트를 첫 번째 인수로 전달합니다.
- 프로그램이 동적으로 링크된 실행 파일인 경우 동적 로더(예:
/lib/ld-linux.so.2
또는/lib64/ld-linux-x86-64.so.2
)를 호출하고 이진 파일을 첫 번째 인수로 전달합니다.
파일 시스템이 마운트된 경우 noexec
다음 명령을 사용하여 모든 파일이 실행 가능한 디렉터리를 볼 수 있습니다.파일 시스템 바인딩. 그러나 Bindfs는 각 파일에 대한 권한 설정을 허용하지 않습니다.
물론 파일을 다른 곳에 복사하여 실행 가능하게 만들 수도 있습니다.
파일 시스템이 마운트된 경우 nosuid
파일을 setuid로 만들 수 없습니다. 그러면 보안이 손상될 수 있습니다. setuid 파일을 생성하려면 소유 사용자 계정에 대한 액세스 권한이 필요합니다. 복사본과 setuid를 만들거나 nosuid
옵션 없이 다시 설치하는 것이 유일한 해결책입니다.