SH Bash  ·  30 вопросов  ·  ~85 мин  ·  ⏱ Таймер 25:00  ·  Сложный  · 

Безопасность shell-скриптов

Сложный тест по теме «Безопасность shell-скриптов». Вопросы требуют читать Bash-код, отслеживать расширения, потоки и коды завершения, находить дефекты и выбирать правку с учётом эксплуатации. В серии 30 вопросов, из них 18 содержат полноценные фрагменты кода. Базовая среда — GNU Bash 5.2; внешние GNU-утилиты оговариваются в тексте задания.

Отвечено: 0 из 30
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На 30 вопросов отведено 85 минут. В каждом вопросе верен только один вариант. После завершения вы увидите общий результат, оценки по 6 тематическим шкалам и подробные объяснения.
Вопрос 1 из 30
В тесте «Безопасность shell-скриптов» показан фрагмент из блока «Внедрение команд». Какой разбор соответствует именно показанной последовательности команд?
BashВнедрение команд · вариант A
name='file; touch /tmp/pwned'
eval "rm -- $name"
Вопрос 2 из 30
В тесте «Безопасность shell-скриптов» показан фрагмент из блока «Временные файлы». Какое описание не приписывает фрагменту лишних гарантий?
BashВременные файлы · вариант A
tmp=/tmp/report.$$
: > "$tmp"
chmod 600 "$tmp"
Вопрос 3 из 30
В тесте «Безопасность shell-скриптов» показан фрагмент из блока «Секреты». Не предполагая намерение автора, что можно утверждать об этой конструкции?
BashСекреты · вариант A
set -x
curl -H "Authorization: Bearer $TOKEN" "$url"
Вопрос 4 из 30
В тесте «Безопасность shell-скриптов» показан фрагмент из блока «Минимальные права». Какое утверждение точно относится к показанному фрагменту?
BashМинимальные права · вариант A
sudo /opt/app/import "$file"
Вопрос 5 из 30
В тесте «Безопасность shell-скриптов» показан фрагмент из блока «Проверка и диагностика». Какой вывод об этом варианте можно сделать без догадок о внешнем контексте?
BashПроверка и диагностика · вариант A
file='--preserve-root'
rm "$file"
Вопрос 6 из 30
В тесте «Безопасность shell-скриптов» показан фрагмент из блока «Безопасность и переносимость». Какой разбор соответствует именно показанной последовательности команд?
BashБезопасность и переносимость · вариант A
source "$config"
Вопрос 7 из 30
На ревью сценария по теме «Внедрение команд» встретился этот код. Какое утверждение о поведении кода остаётся точным на граничном входе?
BashВнедрение команд · вариант B
cmd="convert '$input' '$output'"
$cmd
Вопрос 8 из 30
На ревью сценария по теме «Временные файлы» встретился этот код. Что важно заметить в этом фрагменте до его включения в автоматизацию?
BashВременные файлы · вариант B
umask 077
tmp=$(mktemp "${TMPDIR:-/tmp}/report.XXXXXX") || exit 1
Вопрос 9 из 30
На ревью сценария по теме «Секреты» встретился этот код. Что действительно гарантирует или, наоборот, не гарантирует эта конструкция?
BashСекреты · вариант B
TOKEN=$(cat /run/secrets/token)
export TOKEN
Вопрос 10 из 30
На ревью сценария по теме «Минимальные права» встретился этот код. Фрагмент запускают как часть служебного сценария. Как его следует оценить?
BashМинимальные права · вариант B
PATH=/usr/sbin:/usr/bin:/sbin:/bin
umask 077
[[ $file == /srv/incoming/* ]] || exit 64
Вопрос 11 из 30
На ревью сценария по теме «Проверка и диагностика» встретился этот код. Какой вывод наиболее точно привязан к показанной реализации?
BashПроверка и диагностика · вариант B
rm -- "$file"
Вопрос 12 из 30
На ревью сценария по теме «Безопасность и переносимость» встретился этот код. Какое утверждение о поведении кода остаётся точным на граничном входе?
BashБезопасность и переносимость · вариант B
while IFS='=' read -r key value; do
  case $key in MODE|PORT) config[$key]=$value;; *) exit 64;; esac
done < "$config"
Вопрос 13 из 30
Перед запуском фрагмента из раздела «Внедрение команд» нужен точный прогноз. Какой ответ учитывает и полезный эффект, и остающееся ограничение кода?
BashВнедрение команд · вариант C
cmd=(convert "$input" "$output")
"${cmd[@]}"
Вопрос 14 из 30
Перед запуском фрагмента из раздела «Временные файлы» нужен точный прогноз. Код предлагают как альтернативу. Какова его точная техническая оценка?
BashВременные файлы · вариант C
trap 'rm -f -- "$tmp"' EXIT
Вопрос 15 из 30
Перед запуском фрагмента из раздела «Секреты» нужен точный прогноз. Что является главным свойством этого варианта?
BashСекреты · вариант C
{ set +x; token=$(< /run/secrets/token); set -x; } 2>/dev/null
Вопрос 16 из 30
Перед запуском фрагмента из раздела «Минимальные права» нужен точный прогноз. Как следует оценить конструкцию, не считая её автоматически исправлением?
BashМинимальные права · вариант C
install -o app -g app -m 600 -- "$src" "$dst"
Вопрос 17 из 30
Перед запуском фрагмента из раздела «Проверка и диагностика» нужен точный прогноз. Какое суждение правильно описывает показанную реализацию?
BashПроверка и диагностика · вариант C
env -i PATH=/tmp:/usr/bin /opt/app/script
Вопрос 18 из 30
Перед запуском фрагмента из раздела «Безопасность и переносимость» нужен точный прогноз. Какой ответ учитывает и полезный эффект, и остающееся ограничение кода?
BashБезопасность и переносимость · вариант C
declare -p config > state.sh
Вопрос 19 из 30
Этот вопрос относится к разделу «Внедрение команд» теста «Безопасность shell-скриптов». Где заканчивается защита, которую даёт рассматриваемая конструкция?
Вопрос 20 из 30
Этот вопрос относится к разделу «Временные файлы» теста «Безопасность shell-скриптов». Что способно нарушить ожидаемый результат, хотя основной фрагмент написан корректно?
Вопрос 21 из 30
Этот вопрос относится к разделу «Секреты» теста «Безопасность shell-скриптов». Какой эксплуатационный компромисс здесь нельзя скрывать за успешным кодом возврата?
Вопрос 22 из 30
Этот вопрос относится к разделу «Минимальные права» теста «Безопасность shell-скриптов». Что обязательно нужно проверить в соседнем сценарии, чтобы не получить ложную надёжность?
Вопрос 23 из 30
Этот вопрос относится к разделу «Проверка и диагностика» теста «Безопасность shell-скриптов». На какой границе эта техника перестаёт быть достаточной сама по себе?
Вопрос 24 из 30
Этот вопрос относится к разделу «Безопасность и переносимость» теста «Безопасность shell-скриптов». Где заканчивается защита, которую даёт рассматриваемая конструкция?
Вопрос 25 из 30
В документации к сценарию уточняют контракт темы «Внедрение команд». Какое правило позволяет правильно разобрать эту тему до запуска кода?
Вопрос 26 из 30
В документации к сценарию уточняют контракт темы «Временные файлы». Какое свойство механизма нельзя подменять удачным примером запуска?
Вопрос 27 из 30
В документации к сценарию уточняют контракт темы «Секреты». Какая формулировка связывает частные примеры одним проверяемым правилом?
Вопрос 28 из 30
В документации к сценарию уточняют контракт темы «Минимальные права». Что в этой теме является свойством языка, а не случайностью конкретного запуска?
Вопрос 29 из 30
В документации к сценарию уточняют контракт темы «Проверка и диагностика». Какое утверждение точнее всего описывает контракт рассматриваемого механизма?
Вопрос 30 из 30
В документации к сценарию уточняют контракт темы «Безопасность и переносимость». Какое правило позволяет правильно разобрать эту тему до запуска кода?

Ответьте на все 30 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу