Da die Schule, die Sie besuchen, die Skripte veröffentlicht hat, können Sie Ihre Bedenken am besten bei Ihren Lehrern äußern.
Wir können Ihnen jedoch helfen, den Code zeilenweise zu entschlüsseln. Es ist wahrscheinlich für jeden hier unpraktisch, den gesamten Code zu analysieren .
Sie haben tatsächlich 40 Bash-Skripte mit insgesamt 5.360 Zeilen. Ich habe sie kombiniert und nach Bash / Shell-Befehlen gesucht, die missbraucht werden könnten. Sie scheinen alle normal verwendet zu werden :
$ 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
$
- Es gibt keinen
rm -rf /
Befehl zum Löschen der gesamten Festplattenpartition.
sudo
Zum Ausführen des Skripts ist keine Verwendung erforderlich .
- Das Skript stellt tatsächlich sicher, dass nur autorisierte
C
Funktionen in den überprüften Dateien verwendet werden.
- Ein kurzer Blick in den Bash / Shell-Code zeigt, dass er professionell geschrieben und leicht zu befolgen ist.
- Die Verwendung von Shellcheck für zusammengeführte Include-Dateien zeigt nur drei Syntaxfehler an.
- Autorennamen werden identifiziert und der Hauptautor hat sogar sein Bild auf seiner
github
Seite.
- Obwohl es im Leben keine Garantien gibt,
42FileChecker
scheint es sicher zu sein.
Es sind keine von Menschen lesbaren Bash-Skripte, über die Sie sich so viele Gedanken machen müssen. Es sind kompilierte, nicht lesbare Binärobjekte, die Anlass zur Sorge geben. Zum Beispiel könnte ein Programm namens "shiny-bouncy-sphere" so etwas auf Ihren Bildschirm malen, aber im Hintergrund könnten alle Ihre Dateien gelöscht werden.
Ursprüngliche Antwort
Fragen Sie am besten den Autor des Skripts, was es tut. In der Tat können Sie Ihre Frage fast wörtlich posten, wie es oben erscheint.
Fragen Sie auch den Autor:
- Welche Dateien werden aktualisiert?
- Was passiert bei einem Absturz aufgrund eines Stromausfalls oder eines Programmfehlers?
- Kann zuerst ein Mini-Backup durchgeführt werden?
Und alle anderen guten Fragen, die Sie sich vorstellen können.
Bearbeiten 1 - Sorgen um einen böswilligen Autor.
Sie sollten nur Software mit vielen guten Bewertungen verwenden. Andere Autoren, denen Sie hier in Ask Ubuntu vertrauen, wie Serge, Jacob, Colin King usw. Andere angesehene Websites wie Ask Ubuntu und ihre angesehenen Mitglieder sollten ebenfalls als "nicht böswillig" eingestuft werden.
Der Vorteil von "respektierten Autoren" hier in Ask Ubuntu ist, dass sie ihren Selbstwert auf "Reputationspunkte" legen. Wenn sie absichtlich Code schreiben, der Daten "stiehlt" oder "beschädigt", verlieren sie schnell ihren Ruf. Tatsächlich könnten Autoren den "Zorn der Mods" erleiden und suspendiert und / oder 10.000 Reputationspunkte weggenommen werden.
Bearbeiten 2 - Befolgen Sie nicht alle Anweisungen
Ich habe mir Ihre Bash-Skript-Anweisungen genauer angesehen:
git clone https://github.com/jgigault/42FileChecker ~/42FileChecker &&
cd ~/42FileChecker &&
bash ./42FileChecker.sh
Die "sichere" Methode besteht darin, nur die erste Zeile auszuführen:
git clone https://github.com/jgigault/42FileChecker ~/42FileChecker
Dadurch werden die Skripte heruntergeladen, aber nicht ausgeführt. Verwenden Sie anschließend nautilus
(Dateimanager), um die installierten Verzeichnisse und Dateien zu überprüfen. Sehr schnell stellt man fest, dass es eine Sammlung von Bash-Skripten gibt, die von einer Gruppe von Studenten in Frankreich geschrieben wurden.
Der Zweck der Skripte besteht darin, C-Programme auf fehlerhafte Funktionen und Speicherlecks zu kompilieren und zu testen.
man
Seiten der darin enthaltenen Befehle lesen .