File permissions tell the operating system which users and groups can read and write to files. Elefant needs extended permissions in order to write to certain folders in your site. Here's an overview of what Elefant needs permission to write to and why:
Contains all of the Elefant apps that you have installed. Elefant needs to be able to write to this folder to install new apps.
Configurations live here, as well as the SQLite database file (conf/site.db
). Changes to navigation or updating the default layout setting will be written to this folder.
This folder stores compiled templates and other cacheable or temporary data used to render your site.
The CSS files for your site's design, which can be edited via the Tools > Designer app.
The place Elefant stores uploaded files through the Tools > Files app.
The translations and settings for multilingual sites.
The HTML files for your site's design, which can be edited via the Tools > Designer app.
File permissions on Unix operating systems (e.g., Linux, Mac OS X) are calculated using the following numbered scheme:
Execute means the file can be run like a program.
For each file, there are three permission levels:
Adding the permissions up gives you the level of access that each level has. Here are some examples:
Mode | Permissions | Explanation |
---|---|---|
0000 | ---------- |
No permissions |
0400 | -r-------- |
Owner can read, group and world have no access |
0444 | -r--r--r-- |
All have read only |
0644 | -rw-r--r-- |
Owner can read/write, group and world can read |
0666 | -rw-rw-rw- |
All can read/write |
0755 | -rwxrw-rw- |
Owner can read/write/execute, group and world can read/write |
0770 | -rwxrwx--- |
Owner and group can read/write/execute, world has no access |
0777 | -rwxrwxrwx |
All can read/write/execute |
Note: The initial 0 denote that the permissions are an octal number, not decimal.
As listed above, some features of Elefant need to be able to write to your website. This usually means increasing the permissions for those folders and the files inside them.
Why this is the case is that the web server software runs as a different user on the system (usually named nobody
or apache
or something similar) in order to restrict what it can access. So your files are owned by you, but need to be accessed - and sometimes written to - by another user.
This is common to any server-side software that needs to write to the server, for example to save a file that has been upload through the admin area.
Some servers are setup so that the web server user belongs to the same group, so you don't have to give full permissions, but often that's not the case.
Because we don't know ahead of time, we simply request that you set your permissions to a level we know will work for everybody, but encourage you to check with your host first to find the right permission level for your site.
For more info on server permissions, see:
Next: Securing your site