It's a property of how Linux permissions work when applied to a directory.
See this SE post for more info: https://unix.stackexchange.com/a/21252
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
It's a property of how Linux permissions work when applied to a directory.
See this SE post for more info: https://unix.stackexchange.com/a/21252
~~Probably a bit of a TL:DR of the other answer, but the short answer is:~~ the execute bit has a different meaning for directories - it allows you to keep going down the filesystem tree (open a file or another directory in the directory). The read bit only allows you to see the names of the files in the directory (and maybe some other metadata), but you cannot open them without x bit.
Fun fact, it makes sense to have a directory with --x or -wx permissions - you can access the files inside if you already know their names.
Edit: not a short answer, apparently
The execute bit on directories allows for traversal of the directory (i.e. allows you to cd
in), while the read bit allows for listing the directory contents (e.g. ls
).
Thank you all !
Indeed setting execute
perm on example, sub1, sub2, static
The program/user have now access to the directory.
In order words all the parents directory need at least execute
in order to have access in the targeted directory...
Now I gave 751 for static. Meaning than others (here nginx) cannot list the files within. But never the less it works
the static files are appearing when requested (HTTP) but forbidding nginx to list the directory is changing something ? (performance/security)
Thanks