Исполнение скриптов без флага исполнения

Аватара пользователя

Автор темы
Dja
Сообщения: 6875
Зарегистрирован: 27 авг 2016, 20:03
Решено: 30
Откуда: Voskresensk
Благодарил (а): 1310 раз
Поблагодарили: 724 раза
Контактная информация:

Исполнение скриптов без флага исполнения

#1

18 мар 2021, 08:28

demonlibra писал(а):
18 мар 2021, 06:22
Dja писал(а):
17 мар 2021, 22:58
demonlibra писал(а):
05 мар 2021, 19:12
Поправьте меня, если я не прав, но разве эти два варианта не эквиваленты?

Код: Выделить всё

chmod +x "имя_сценария"
sudo ./"имя_сценария" "откуда" "куда"

Код: Выделить всё

sudo bash "имя_сценария" "откуда" "куда"
Емнип нет. Ведь как он будет выполнять неисполнение?
Вариант ./file.sh подходит в случае, если в первой строке скрипта указан интерпретатор.
Вариант sudo bash file.sh запускает скрипт через даш игнорируя первую строку.
Но и в первом и во втором случаях скрипты должны быть с флагом +х
создал сценарий test.sh
НЕ назначил флаг +x
и запустил командой bash test.sh
работает

В чём подвох?

Код: Выделить всё

~$ ls -l test.sh
-rw-rw-r-- 1 demonlibra demonlibra 8 мар 18 08:19 test.sh
~$ cat test.sh
echo 123
~$ bash test.sh
123
Вот и собственно да... В чем подвох? :wacko2:

Аватара пользователя

Chocobo
Сообщения: 10015
Зарегистрирован: 27 авг 2016, 22:57
Решено: 215
Откуда: НН
Благодарил (а): 815 раз
Поблагодарили: 3008 раз
Контактная информация:

Исполнение скриптов без флага исполнения

#2

18 мар 2021, 08:35

Dja, все просто.
вызывая явно bash - ты можешь скормить ему любой файл. исполняемой командой является bash, а скрипт это аргумент к ней.
без указания bash обращаясь к файлу - уже как раз пытаешься исполнить сам файл, и без флага исполнения он тебя пошлет.


Просто с башем не самый удачный пример. интерпретатору можно скармливать сценарии и это нормально)
Возьми любой бинарный файл. У него не будет такого варианта запустить без прав сквозь какую-то команду
Изображение
   
Изображение

Аватара пользователя

Автор темы
Dja
Сообщения: 6875
Зарегистрирован: 27 авг 2016, 20:03
Решено: 30
Откуда: Voskresensk
Благодарил (а): 1310 раз
Поблагодарили: 724 раза
Контактная информация:

Исполнение скриптов без флага исполнения

#3

18 мар 2021, 08:43

Chocobo писал(а):
18 мар 2021, 08:35
аргумент
Весомый! :thumbs: :read:

Закрыто

Вернуться в «Болталка: Оффтоп, разбор полетов»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 10 гостей