0

I chmod 777'ed an executable and trying to execute it like this: /home/gandalf/./sample but it doesn't work /bin/bash: line 25: ./sample: Permission denied What can be the problem? Thanks.

4
  • Are you actually trying to run this from the console or through a terminal like putty? Your TERM that you mentioned in your comment suggests you are using some kind of web gateway. It is possible your web gateway is causing problems, and the application just will not be able to work in that environment.
    – Zoredache
    Apr 2, 2010 at 19:37
  • 1
    can you run this command file sample? it doesn't look like binary.
    – rytis
    Apr 2, 2010 at 19:55
  • There are many things that can interfere with trying to execute a file. We're going to need a bit more background in order to give an answer. Apr 2, 2010 at 20:21
  • 2
    Generally, you shouldn't set the permissions of a file to 777. Normally 775 is as far as you should go. Apr 2, 2010 at 21:09

4 Answers 4

2

Seems like ./sample is a wrapper script for something else, and is calling another script/program on line 25 that you do not have execute permissions to.

I would try to cat ./sample to see what is on (or around) line 25 that it would be calling.

If you don't understand what is going on, you can post the contents of the script in your question and we'll help you out.

2
  • sample is not a script, it is a binary file..
    – Salina Odelva
    Apr 2, 2010 at 19:21
  • When I type "set" command: TERM=dumb GATEWAY_INTERFACE=CGI/1.1
    – Salina Odelva
    Apr 2, 2010 at 19:23
2

When you type file sample what is the result?

Note that it could be that your file system is mounted noexec to stop you executing files from your home directory.

0

Maybe your binary file is :

system("/script/on/which/you/have/no/permission");

or

exec("/script/on/which/you/have/no/permission");
0

As Marcel said, probably there is a exec call to another executable. Try run it with strace, and you should find that out, i.e.:

$ strace a.out|grep exec
...snip...
execve("/bin/ls", ["ls"], [/* 37 vars */]) = 0
...snip...

You must log in to answer this question.