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を使用しています。