An unfortunate mixup occurs with the standard UN*X terminology for file permissions with regard to directories. Whereas "read" and "write" are fairly straightforward (you need read permission to list the directory, and write permission to link and unlink in it, i.e. to create, rename and delete files), "execute" is confusing.

What the execute bit does is allow you to traverse that directory in a path search. Say I want to "cat /usr/foo/bar/baz". Obviously I need read permission on /usr/foo/bar/baz. But I also need execute permission on /usr/, /usr/foo/, and /usr/foo/bar/! This is still much less than read permission, which would allow me to know the directory /usr/foo/nekkid-pikcherz/ also exists.

Log in or register to write something here or to contact authors.