Python의 subprocess.run()이 권한 600으로 파일을 실행할 수 있는 이유는 무엇입니까? [폐쇄]

Python의 subprocess.run()이 권한 600으로 파일을 실행할 수 있는 이유는 무엇입니까? [폐쇄]

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를 사용합니다.

관련 정보