We need to use file permissions on servers, see? it’s good, hmmkay?

This page on wikipedia treats the subject in marvelous detail, but here’s a quick reference to the levels of permissions:

Quick Reference

Octal Symbolic English
0 no permission
1 –x execute
2 -w- write
3 -wx write and execute
4 r– read
5 r-x read and execute
6 rw- read and write
7 rwx read write and execute

Commands

To query file permissions, ls -l gives you the symbolic notation.

To set file permissions, use the chmod command. ” chmod -R 755 * ” for example, sets all children of the current location to world readable and executable.

Commonly Used Permissions

OK, now, the main point of this post is to document some of the commonly used combinations. Note that in all examples below, we’re setting the last two digits the same. This is because we’re only really designing for two users: us and them. We want us to have high permissions, and only give the minimum of permissions to them.

Octal Symbolic English
000 ———- no permissions
777 -rwxrwxrwx all permissions – careful!
755 -rwxr-xr-x read and execute – necessary for scripts on a webserver
644 -rw-r–r– read only – fine for non-executable static content – images and html files.
666 -rw-rw-rw- read and write, but no execute – good for if a web page needs to modify its own configuration files, but they don’t need to be executed

Commands

World Writable 777

chmod -R 777 *

Everyone can write. Some scripts may require these settings while installing themselves.

See Also

https://help.ubuntu.com/community/FilePermissions

Tags: , , , ,