All the latest news and reviews are now available via the homepage at

Sunday, February 10, 2008

Modifying Web Server File Permssions in Filezilla

There are an enormous number of open source PHP applications on the web for installing on your own webserver, whether it be your own server or on a shared host server.

In many cases these PHP applications come with their own easy to use installers, requiring the webmaster to simply upload the extracted code to their server and then run the included web-based installer. If well designed, the web-based installer will setup the entire configuration with the only user interaction being the answering of a few questions and the clicking of 'next'.

Now there is one component that these web-based installers can not configure. They can not configure the permissions on the files and directories associated with the installation. In many cases if the application is well documented the webmaster will be directed to change the permissions on particular directories and/or files. Included steps on how to do this will vary from installation to installation.

One Method
(with FileZilla!)

If you are installing on a Unix-like (Linux) server you can directly send commands to the server via a command line interface (CLI), however many users will prefer the convenience of a GUI Windows-based configuration. This is where FileZilla comes in.

This article assumes a basic familiarity with using FileZilla.


You will know about a file permission error when one of the following occurs

- The Installer advises you that a particular file/directory is not writable

- You try and run the application and you receive cryptic error messages stating that a file or directory could not be written to

If the application is well documented you should be advised which folders and files need writable access. You may have been given a series of permissions in the form of three numbers such as "777".


Within FileZilla browse to the directory or file you need to change. Right-Click it and select "File Attributes..."

You will then be presented with the following window which will allow you to change the file/directory attributes:

The important thing to understand here is that there are two methods to configure permissions in this window. The first is by using the check boxes, with the second being to enter a numeric value in the box at the bottom. Any changes you make to one will be immediately reflected in the other.

If the permissions you require are documented as a numeric value you can enter them in the text box to meet your requirements.

If there is a complete lack of documentation on the numeric value to enter, try 775 and failing that try 777. These numeric values will generally make a file or directory writable.

Please note that making a change to a directory will not cause all files underneath it to inherrit the same permissions. You will need to manually change any files underneath, either one-by-one or selecting multiple files at once when using the File Attributes command on them.

Explanation of File Permissions

Owner - The uploader of the file
Group - Usually other registered hosting users on the server
Public - Public Internet Users

In the three number representation of permissions, the first number is for the owner, the second for the group, and the third for Public Internet Users.

E.g Owner/Group/Public - 777

Below are all permission attributes available:

0 None
1 Execute
2 Write
3 Write, Execute
4 Read
5 Read, Execute
6 Read, Write
7 Read, Write, Execute


775 - Gives Read, Write, and Execute permissions to both the Owner and Group. Gives Read and Execute permissions only to the public.

777 - Gives Read, Write, and Execute permissions to all users.

765 - Gives Read, Write, and Execute permissions to the owner, and Read, Write permissions to the Group, and Read, Execute permissions to Public Internet Users.

Sometimes it is necessary to give a file/directory 777 attributes to get an application to function correctly.

If you are still struggling with any permission issues or have further questions, feel free to drop me an email or comment on this post.

No comments: