Difference between executable directory vs executable files
Solution 1:
No, the executable permission for directories means that you can enter the directory, making it your present working directory using cd
, and see which files it contains.
It's useful to think of a directory just as a file which is a list of file names.
Read bit - If set, you can read this list. If you have a directory named books:
You can
ls
books and you'll get a list of the files it contains (-l
won't work however).You can use command-line completion i.e.
touch books/bo
+Tab to getbooks/bookfile
.You cannot make books your working directory,
cd
won't work.
Write bit - You can modify this list names on it. You can only do this if the execute bit is also set.
Execute bit - You need this permission if you want to:
- Have any access to files within the directory.
- Modify details of the list itself. You can add, rename or delete names on the list, but this also requires write permission on the directory.
Setting the execute bit on a directory does not in any way affect the files themselves, but it does affect your access to them. For instance if you have write and execute access for a directory, you can move, rename and delete files, even if you can't write into the files themselves.