Permission for files:
chmod 664 myFile // rw-rw-r--
And for folders:
chmod 774 myFolder // rwxrwxr--
If I only use the "read and write" permission, the folders won't show their contents.
What's the reason for this?
Super User is a question and answer site for computer enthusiasts and power users. It only takes a minute to sign up.Sign up to join this community
Since you can't 'execute' a directory, the execute bit has been put to better use. The execute bit on a directory allows you to access items that are inside the directory, even if you cannot list the directories contents.
$ mkdir -p dir/ $ echo 'Hello World!' > dir/file $ chmod 000 dir/ $ ls -al dir/ ls: cannot open directory dir: Permission denied $ cat dir/file cat: dir/file: Permission denied $ chmod +x dir/ $ ls -al dir/ ls: cannot open directory dir: Permission denied $ cat dir/file Hello World!
The letters rwxXst select file mode bits for the affected users: read (r), write (w), execute (or search for directories) (x), execute/search only if the file is a directory or already has execute permission for some user (X), set user or group ID on execution (s), restricted deletion flag or sticky bit (t).
Directories (they're not typically called folders in *nix) have a different meaning for the permission bits than normal files.
For directories, write allows creating new files and deleting files inside it.
Read allows you to list the files inside of it.
Execute allows you to enter it and access files (or other directories) inside.
x bit on a folder refers to indexing/directory search/listing; none of those are possible if you keep that bit low.
Here's an example of its use: If you want to have a user with limited read permissions on every directory but his home, say
/home/dummy, then you need to make
/home have the
x bit set, otherwise he can't even get to his home directory.