fushsialatitude fushsialatitude - 5 months ago 15
Linux Question

Ubuntu says "bash: ./program Permission denied"

I am running Ubuntu on computer 1 and computer 2. I compiled a C++ program on computer 1, and I can execute it from the terminal using

./program_name
. It runs fine.

However, when I try to do this on computer 2, it says:
bash: ./program_name: permission denied


Some websites say:
Add "exec" after your "user" flag in /etc/fstab.

But I don't know what "user" flag means.

Thank you very much for your help in advance (I'm a beginner to Linux by the way).

Answer

chmod u+x program_name. Then execute it.

If that does not work, copy the program from the USB device to a native volume on the system. Then chmod u+x program_name on the local copy and execute that.

Unix and Unix-like systems generally will not execute a program unless it is marked with permission to execute. The way you copied the file from one system to another (or mounted an external volume) may have turned off execute permission (as a safety feature). The command chmod u+x name adds permission for the user that owns the file to execute it.

That command only changes the permissions associated with the file; it does not change the security controls associated with the entire volume. If it is security controls on the volume that are interfering with execution, then you can remount the volume with options to allow execution. However, copying the file to a local volume may be a quicker and easier solution.