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?
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?
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?
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
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
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.
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 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
which bash
and see if bash is present and also that its present at /bin/bash
ASKER
which bash points to /bin/bash
bash is indeed present in /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
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
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Mounted and unmounted the filesystem and changed setting on fstab.
That did it. my scripts now run.
Thanks Michael =)
That did it. my scripts now run.
Thanks Michael =)
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