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.
Asked
Active
Viewed 565 times
0
-
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 02 '10 at 19:37
-
1can you run this command `file sample`? it doesn't look like binary. – rytis Apr 02 '10 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. – Ignacio Vazquez-Abrams Apr 02 '10 at 20:21
-
2Generally, you shouldn't set the permissions of a file to 777. Normally 775 is as far as you should go. – Dennis Williamson Apr 02 '10 at 21:09
4 Answers
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.

Zypher
- 37,405
- 5
- 53
- 95
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.

Cry Havok
- 1,845
- 13
- 10
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...

Dan Andreatta
- 5,454
- 2
- 24
- 14