Read, Write and Execute Permission Settings for Apache Servers

In the Unix and Apache world three settings will allow or disallow scripts from working. The right permissions must be set on any script or file that needs server help to be read, written to or executed. The files to which scripts may be writing need correct permissions to allow the script access.

Files may be readable, writable and/or executable. The permission settings are always referred to in this order, read-write-execute, or r-w-x.

Each of the three permission’s settings can be applied to three sets of users, namely owner, group and world. So, if you see a directory listing of a cgi script, for example, you will see three sets of permissions that represent the capabilities of each type of visitor — owner, group and world, in that order — with respect to that file.

For example, say that my file, test.cgi, has the following line in a directory listing:

- rwxr-xr-x 1 jen users 2134 Sep 12 9:42 test.cgi

The first set of rwx refers to the owner permissions, the second set of r-x refers to the group permissions, and the third r-x refers to the world permissions. We say that the permissions for the file test.cgi has permissions of 755.

How did we get to 755 from rwxr-xr-x ? Each permission has a number associated with it like so, r = 4, w = 2, and x = 1. In this example the owner has read-write-execute permission, and 4 + 2 + 1 = 7. The group and world settings do not include write permissions so both of those permissions add up to 5, for a file permission’s setting of 755.

Changing the permissions of a file is easy with your FTP client. Right-click on a file name and select change permissions or CHMOD, which stands for “change mode” or change file permissions. Then it is a simple matter of selecting your desired read-execute, r-x, or 755.