Link to home
Start Free TrialLog in
Avatar of rqs
rqs

asked on

Bash: /script_name Permission denied

The scripts I am referring to are written in Perl and are part of my CGI-based applications.

The execute bit for these files are already set (chmod 755).

I have no problems running them on  another server.

If I do a    perl my_script.cgi ,   no errors from the script are generated.

If I run directly I get permission denied error:

    myshell$ ./my_script.cgi
    bash: ./my_script.cgi: Permission denied

I already checked that the scripts point to the location of perl.

What else could be the problem?


Avatar of yuzh
yuzh

type in:

ls -al my_script.cgi
to check the script permission.

when you run:
./my_script.cgi

the script should be under the current dir, otherwise, you need to do:
/path-to/my_script.cgi
Avatar of rqs

ASKER

the file permission is already -rwxr-xr-x for the said file.
and the current directory i'm in when I run ./my_script.cgi is the location of the file.
What else should I try?
It is strange!

Can you please test to see if you can run this little script:

#!/bin/bash
echo "Hello"
exit

If you can run the above script, please post the 1st line of my_script.cgi
Avatar of rqs

ASKER

Hey, tried the script. still get the same error: Permission denied. =(
Its strange for me and I couldn't think of any
other reason for this error.
Have you made any change to your system?

type in:
echo $SHELL
echo $PATH

and post the output.

Can you try to run the same script as another user?
type

which bash
and see if bash is present and also that its present at /bin/bash
Avatar of rqs

ASKER

which bash points to /bin/bash
bash is indeed present in /bin/bash...
Fun.
Could you quote the exact script (the nonworking one you've typed in) from above _verbatim_ here... like

---------------------
script
---------------------

so that we see there's no strangeness with the first lines "hash-bang" thing (like spurious whitespace or somesuch). Also, what shell/version/distro is this user using?

Could you also try doing
/bin/sh ./myscript.cgi
and (if you have it)
/bin/ash ./myscript.cgi

-- Glenn
I ran a couple tests and the only way I get the error you describe above is when the script doesn't have the executable bit set.  (Or maybe the read bit).  ALthough I must admit having run into this problem myself once, and being stumped for some time as well.  Pity I can't recall what the problem was (might have been the x-bit tho'.)
ASKER CERTIFIED SOLUTION
Avatar of cheail
cheail

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of rqs

ASKER

Mounted and unmounted the filesystem and changed setting on fstab.
That did it. my scripts now run.
Thanks Michael =)