Поскольку школа, которую вы посещаете, опубликовала сценарии, лучшее место, чтобы высказать ваши опасения - это ваши инструкторы.
Тем не менее, мы можем помочь вам расшифровать код построчно. Для кого-то здесь, вероятно, нецелесообразно анализировать весь код.
На самом деле у вас есть 40 bash-скриптов с общей суммой в 5 360 строк. Я объединил их вместе и искал команды bash / shell, которыми можно злоупотреблять. Все они, кажется, используются нормально :
$ cat /tmp/sshellcheck.mrg | grep " rm "
rm -rf "$RETURNPATH"/tmp/*
rm -f "$RETURNPATH"/.mynorminette
rm -f $LOGFILENAME
rm -f $LOGFILENAME
rm -f .mymoulitest
rm -f "${RETURNPATH}/tmp/${FILEN}"
$ cat /tmp/sshellcheck.mrg | grep -i kill
function check_kill_by_name
kill $PROCESSID0
declare -a CHK_MINISHELL_AUTHORIZED_FUNCS='(malloc free access open close read write opendir readdir closedir getcwd chdir stat lstat fstat fork execve wait waitpid wait3 wait4 signal kill exit main)'
check_kill_by_name "${PROGNAME}"
kill -0 "${CURRENT_CHILD_PROCESS_PID}" 2>/dev/null && kill "${CURRENT_CHILD_PROCESS_PID}" 2>/dev/null
display_error "killed pid: ${CURRENT_CHILD_PROCESS_PID}"
check_kill_by_name "$PROGNAME $PROGARGS"
check_kill_by_name "$PROGNAME $PROGARGS"
kill ${PID} 2>/dev/null
$ cat /tmp/sshellcheck.mrg | grep -i root
"check_configure_select ROOT" "Root folder: /"\
'ROOT')
echo "'${ALLOWED_FILES}' must be placed at root folder but was found here:" >>"${LOGFILENAME}"
printf "%s" "'${ALLOWED_FILES}' must be placed at root folder"
$ cat /tmp/sshellcheck.mrg | grep -i sudo
$
- Нет
rm -rf /
команды, чтобы стереть весь раздел жесткого диска.
- Нет никаких требований, которые
sudo
будут использоваться для запуска скрипта.
- На самом деле скрипт
C
проверяет, используются ли в проверенных файлах только авторизованные функции.
- Быстрый просмотр кода bash / shell показывает, что он написан профессионально и прост в использовании.
- Использование shellcheck для объединенных включаемых файлов выявляет только три синтаксических ошибки.
- Имена авторов определены, и у основного автора даже есть его изображение на его
github
странице.
- Хотя нет никаких гарантий в жизни,
42FileChecker
кажется безопасным для использования.
Вам не нужно беспокоиться о bash-скриптах, понятных человеку. Это скомпилированные двоичные объекты, которые вы не можете прочитать, которые вызывают беспокойство. Например, программа под названием «блестящая оживленная сфера» может нарисовать что-то подобное на вашем экране, но в фоновом режиме она может стереть все ваши файлы.
Оригинальный ответ
Лучше всего спросить автора сценария, что он делает. На самом деле вы можете почти полностью опубликовать свой вопрос, как показано выше.
Также спросите автора:
- Какие файлы обновляются?
- Что происходит, если происходит сбой из-за сбоя питания или программной ошибки?
- Можно ли сначала выполнить мини-резервное копирование?
И любые другие хорошие вопросы, которые вы можете придумать.
Редактировать 1 - Беспокойство по поводу злонамеренного автора.
Вы должны использовать только программное обеспечение с большим количеством хороших публичных обзоров. В качестве авторов, которым вы доверяете здесь, в Ask Ubuntu, таких как Серж, Джейкоб, Колин Кинг и т. Д. Другие уважаемые сайты, такие как Ask Ubuntu и их уважаемые участники, также должны рассматриваться как «не вредоносные».
Преимущество «уважаемых авторов» здесь, в Ask Ubuntu, заключается в том, что они ставят свою самооценку на «очки репутации». Если бы они намеренно написали код, который «украл» или «испортил» данные, они бы быстро потеряли свою репутацию. Действительно, авторы могут страдать от "гнева модов" и быть отстраненными и / или отняв 10000 очков репутации.
Изменить 2 - Не следуйте всем инструкциям
Я более подробно изучил инструкции вашего bash-скрипта:
git clone https://github.com/jgigault/42FileChecker ~/42FileChecker &&
cd ~/42FileChecker &&
bash ./42FileChecker.sh
«Безопасный» метод заключается в запуске только первой строки:
git clone https://github.com/jgigault/42FileChecker ~/42FileChecker
Это загружает сценарии, но не запускает их. Затем используйте nautilus
(файловый менеджер) для проверки установленных каталогов и файлов. Очень быстро вы обнаружите, что есть коллекция сценариев bash, написанных группой студентов во Франции.
Целью скриптов является компиляция и тестирование программ на Си на предмет неправильных функций и утечек памяти.
man
страницы команд, содержащихся в нем.