web-dev-qa-db-ja.com

「不正なインタプリタ:許可が拒否されました」このエラーを防ぐにはどうすればよいですか?

最初にシェルでインタプリタを定義せずに、./programなどのプログラムを直接実行したいと思います。だから、どうすればこのエラーを防ぐことができますか?

悪い通訳:許可が拒否されました

私のオペレーティングシステムはredhatです-CentOSリリース5.6(最終版​​)

root@server [/tmp/mechanize-0.1.7b]# ./functional_tests.py 
-bash: ./functional_tests.py: /usr/bin/env: bad interpreter: Permission denied
root@server [/tmp/mechanize-0.1.7b]#
root@server [/tmp/Python-2.7.1]# ./configure 
-bash: ./configure: /bin/sh: bad interpreter: Permission denied
root@server [/tmp/Python-2.7.1]#
5
Yuda Prawira

noexecオプション(おそらく/tmp)でマウントされたパーティションからプログラムを実行しようとしています。それらをexec権限でマウントされているディレクトリに移動するか、

mount -o remount,exec /tmp

(rootとして)プログラムを/tmpで実行できるようにします。 /etc/fstabまたはinitスクリプトからnoexecオプションを削除することで、この動作を永続的にすることができます。

9
phihag

ロングショットですが、/tmpnoexecマウントオプションでマウントされません。それはそのようなエラーを与える可能性があります。

2
Mat