Почему я могу выполнить файл с разрешением на чтение?

Я могу выполнить файл, который только что получил разрешение на чтение:

nkrish@maddev2:~$ ls -l NewFile.sh 
-r--r--r-- 1 nkrish nkrish 14 2016-01-14 12:01 NewFile.sh

sh NewFile.sh
.. File gets run... 

Не должны файл разрешения r-x для того, чтобы это выполнить?

В настоящее время разрешение пользователя доступно только для чтения (r--).

Почему это?

1 ответ

Вы не выполняете NewFile.shВы выполняете команду sh, скорее всего /bin/sh прохождение NewFile.sh в качестве аргумента.

sh бывает прочитать то, что находится в этом файле и выполнить его. Он не проверяет разрешение на исполнение, если вы знаете, что делаете.

Другие вопросы по тегам