Відповіді:
Оскільки ви не можете "виконати" каталог, біт виконання був використаний для кращого використання. Біт виконання в каталозі дозволяє отримати доступ до елементів, що знаходяться всередині каталогу, навіть якщо ви не можете перелічити вміст каталогів.
$ 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!
На сторінці сторінки chmod
:
Літери rwxXst вибирають біти файлового режиму для постраждалих користувачів: читати (r), писати (w), виконувати (або шукати каталоги) (x) , виконувати / шукати лише в тому випадку, якщо файл є каталогом або вже має дозвіл на виконання для деяких user (X), встановити ідентифікатор користувача або групи для виконання (s), прапор обмеженого видалення або липкий біт (t).
Каталоги (вони зазвичай не називаються папками в * nix) мають для дозвольних бітів значення, ніж звичайні файли.
Для каталогів функція write дозволяє створювати нові файли всередині неї.
Прочитане дозволяє перелічити файли всередині нього.
Execute дозволяє вводити його та отримувати доступ до файлів (або інших каталогів) всередині.
Виконання дозволів у каталозі дозволяє перетинати його для використання ресурсів, що містяться в ньому.
Біт "Execute" насправді означає "пошук" при застосуванні до каталогів (з man chmod
). Це здається розумним, оскільки Execute не має значення для каталогу.
x
Біт на папці посилається на пошук індексації / каталог / список; жоден із них не можливий, якщо ви тримаєте це трохи.
Ось приклад його використання: Якщо ви хочете мати користувача з обмеженими правами на читання у кожному каталозі, окрім його будинку, скажімо /home/dummy
, тоді вам потрібно зробити /
і /home
встановити x
біт, інакше він навіть не може потрапити до свого домашнього каталогу.
cd
), ви вводите його (виконайте).