"bad interpreter: Permission denied" How can I prevent this error?

5

1

I want to run program directly such as ./program without define the interpreter in shell first. so, how can i want to prevent this error?

bad interpreter: Permission denied

My operating system is redhat - CentOS release 5.6 (Final)

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]#

Yuda Prawira

Posted 2011-05-21T18:40:50.863

Reputation: 153

Odd. Off-topic, but ... "have" /bin/sh and it is +x'ed? – None – 2011-05-21T18:46:24.663

Answers

9

You're trying to execute programs from a partition mounted with the noexec option (likely /tmp). Either move them to a directory that is mounted with exec rights or use

mount -o remount,exec /tmp

(as root) to allow programs to be executed on /tmp. You can make this behavior persistent by removing the noexec option from /etc/fstab or your init scripts.

phihag

Posted 2011-05-21T18:40:50.863

Reputation: 2 557

still not work root@server [/tmp/Python-2.7.1]# mount -o remount,exec /tmp root@server [/tmp/Python-2.7.1]# ./configure -bash: ./configure: /bin/sh: bad interpreter: Permission denied root@server [/tmp/Python-2.7.1]# – Yuda Prawira – 2011-05-21T19:32:23.460

@Gunslinger_ / could be mounted noexec, too. Can you give us the outputs of mount and ls -l /bin/sh? – phihag – 2011-05-21T19:50:47.087

2

Long-shot, but make sure that /tmp isn't mounted with the noexec mount option. That can give errors like that.

Mat

Posted 2011-05-21T18:40:50.863

Reputation: 6 193