Страницы

Поиск по вопросам

суббота, 4 января 2020 г.

UNIX права: что значит исполнение?

#unix


Есть чтение (4), запись (2) и исполнение (1).
Что значит исполнение? 
Объясните простыми словами и примером.
    


Ответы

Ответ 1



для файла это означает, что его можно выполнить, обратившись к нему: либо по имени, поместив его в один из каталогов, перечисленных в переменной окружения PATH (или дополнив значение этой переменной путём к текущему местоположению этого файла) либо указав полный путь к файлу понятно, что выполнить файл можно, только если он: либо является скриптом и в первой строке у него указан корректный «shebang» либо является программой (скомпилированной под набор инструкций вашего процессора) и операционной системе «известно», как его загрузить в память и в какую точку передать управление для каталога это означает, что можно прочитать не только имена файлов/каталогов, находящихся внутри данного каталога, но и их атрибуты (принадлежность, права доступа, время создания/модификации). пример: создаём тестовый каталог, в нём создаём файл и ещё один каталог: $ mkdir test $ touch test/file $ mkdir test/dir сейчас мы видим атрибуты содержимого каталога test: $ ls -l test total 4 drwxr-xr-x 2 user user 4096 Apr 1 23:39 dir -rw-r--r-- 1 user user 0 Apr 1 23:38 file а если уберём бит исполнимости с каталога test: $ chmod -x test то увидим только имена содержащихся в нём файлов/каталогов: $ ls -l test ls: cannot access test/dir: Permission denied ls: cannot access test/file: Permission denied total 0 d????????? ? ? ? ? ? dir -????????? ? ? ? ? ? file и не сможем «заглянуть глубже», например, посмотреть содержимое каталога test/dir: $ ls -l test/dir ls: cannot access test/dir: Permission denied

Комментариев нет:

Отправить комментарий