In order for your CGI program to run, it must be executable by the server. Therefore, you must set the permissions so the server can read or execute your files, which usually means making your CGI programs world executable. The way you set your file permissions is by using the CHMOD commands.
The CHMOD's permission mask is a three-digit number. Each digit of the number defines the permission for a different user of the file. The first digit defines the permission for the owner, the second digit defines the permissions for the group and the third digit defines the permissions for everyone else (referred to by CuteFTP as public). Each digit works the same for each group of users: the owner, group, and public. What you set for one digit has no effect on the other two digits.
Owner = the files users (you)
Group = the files group
Others = others
Permissions Definitions:
r = read access
w = write access
x = execute access
Numerical Definitions:
r = 4
w = 2
x = 1
You will come to recognize, if you do not already, Chmod as a word used for changing Permissions from within Telnet or your FTP client.
Some scripts will tell you to chmod 775 (for example). When using the numeric system, the code for permissions is as follows: 4 + 2 + 1 (rwx) = 7
The first number applies to Owner, the second number applies to Group, and the third number applies to Others. Therefore the first 7 of the chmod 775 tells Unix to change the Owner's permissions to rxw (because r=4 + w=2 + x=1 adds up to 7, this giving the Owner Read, Write, and Execute Permission. The second 7 applies to the group, this giving the Group Read, Write, and Execute Permission, and the last number 5, refers to Others (4 + 1= 5), giving Others only Read and Execute Permission. The permissions for chmod 775 look like this: rwx rwx -rx.
Permissions are always broken up into three groups of letters, however if there is a dash, this dash simply means that Permission wasn't given for that particular function, for example in the chmod 775, Permission to Write was not given to Others.
--- (or 0) = no permission
r-- (or 4) = read-only permission
rw- (or 6) = read/write permission
r-x (or 5) = read/execute permission
rwx (or 7) = read/write/execute permission
Remember: the first 3 letters always apply to Owner, the second 3 apply to Group, and the third 3 apply to Others.
[400] r-------- [files, this will not let you accidentaly erase a file]
[444] r--r--r-- [files, this will allow the owner, users, and public to view only]
[600] rw------- [files, no one else can read or see files]
[644] rw-r--r-- [starting to get it?]
[664] rw-rw-r-- [files]
[666] rw-rw-rw- [files, this could very well cause chaos in satanic proportions...]
[700] rwx------ [programs / directories]
[750] rwxrx--- [programs / directories]
[755] rwxr-xr-x [programs / directories]
[777] rwxrwxrwx [using this will not be your lucky number...] \
Here are some files with access set on my web server. Notice the attributes are set in numbers.

Here is the same directory through an FTP, notice this time they are showing you with letters to represent the attributes.

Well, thats it for now, this is my 1st guide and I hope you found it insightfull and helpfull as well.