a.out
"hello world"를 인쇄하고 권한 600을 갖는 간단한 C 프로그램입니다.
-rw------- 1 jim jim 16K Jan 9 12:23 a.out
./a.out
그래서 당연히 실행하려고 하면 bash: ./a.out: Permission denied
.
그러나 Python 스크립트에서 동일한 파일을 실행하려고 하면 a.out
권한을 요청하지 않고 파일이 실행됩니다. 내 Python 스크립트는 다음과 같습니다.
#!/usr/bin/env python3
from subprocess import run
run("a.out")
#run("a.out", shell=True) #this works just as well
왜 그럴까요? 이것이 보안 위험입니까? 어떻게 완화할 수 있나요?
PS 저는 Ubuntu Desktop 22.04 LTS를 사용합니다.