Коллега ушёл в отпуск и оставил записку: «Отчёт собирает report.sh в /srv/permissions-lab. Запусти ./report.sh». Запусти — и попробуй ещё одним способом.
«Начать» подготовит каталог со скриптом и переведёт тебя туда.
Запусти скрипт из записки
Ты в /srv/permissions-lab. Запусти скрипт по пути, потом через bash и посмотри его строку в ls -l.
Сначала предположи
Что напечатает ./report.sh?
Теперь начни упражнение, выполни команду и сверь прогноз с выводом.
Почему bash report.sh выполнила скрипт, а ./report.sh получила отказ?
-
bashработает от тебя, как любая команда без sudo:bash -c idнапечатаетuid=1000(student). -
bash ничего не исправляет: тот же текст она выполнила без ошибок.
./report.shполучила отказ до того, как скрипт начал работу. -
./— путь к файлу в текущем каталоге, учётную запись он не меняет. Владелец report.sh — ты: это видно вls -l.
Запуск по пути требует x, которого у report.sh нет, а bash report.sh читает файл как текст — ей хватает r.