Рейтинг:0

Выполнение разрешений для всех пользователей не работает должным образом

флаг mp

У меня есть два скрипта bash внутри /USR/местные/бен и вот разрешения:

-rwxrwx--x 1 root root 33 30 декабря 12:18 hello.sh
-rw-r--r-- 1 корень корень 34 дек 30 12:28 test.sh

Оба скрипта имеют одинаковое содержание:

#!/бин/баш

echo "Привет, $USER!"

В настоящее время я пользователь, у которого нет корень привилегии.

Я бы ожидал следующее:

  • Я не могу читать привет.ш, но я могу выполнить его через Баш привет.ш
  • я могу читать test.sh. но я не могу выполнить его через bash test.sh

Чтение обоих файлов работает, как и ожидалось, но выполнение обоих файлов работает вопреки моим ожиданиям:

  • я не могу выполнить привет.ш (хотя у меня установлены права на выполнение для всех пользователей)
  • я могу выполнить test.sh (хотя у меня есть только права на чтение для всех пользователей).

Я что-то здесь упускаю. Какую основную концепцию я упускаю?

Рейтинг:0
флаг mp

Я наткнулся на этот пост: https://unix.stackexchange.com/questions/34202/can-a-script-be-executable-but-not-readable

В конечном итоге оказывается, что бить (интерпретатор) - это то, что на самом деле выполняется. Интерпретатору нужны права на чтение файла/скрипта, чтобы выполнить файл/скрипт.

Итак, ответ: пока у вас есть разрешение на выполнение на вашем интерпретаторе (в данном случае бить) и разрешения на чтение файла/скрипта, который вы намереваться чтобы выполнить, то вы должны быть хорошими.

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

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.