Karena sekolah yang Anda hadiri telah menerbitkan skrip, tempat terbaik untuk menyuarakan keprihatinan Anda adalah dengan instruktur Anda.
Yang mengatakan kami dapat membantu Anda menguraikan kode pada baris demi baris. Mungkin tidak praktis bagi siapa pun di sini untuk menganalisis semua kode.
Anda sebenarnya memiliki 40 skrip bash dengan total 5.360 baris. Saya telah menggabungkan mereka bersama-sama dan mencari perintah bash / shell yang dapat disalahgunakan. Mereka semua tampaknya digunakan secara normal :
$ 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
$
- Tidak ada
rm -rf /
perintah untuk menghapus seluruh partisi hard disk.
- Tidak ada persyaratan yang
sudo
digunakan untuk menjalankan skrip.
- Script sebenarnya memastikan hanya
C
fungsi yang diotorisasi yang digunakan dalam file yang diperiksa.
- Penelusuran cepat kode bash / shell menunjukkan bahwa kode tersebut ditulis secara profesional dan mudah diikuti.
- Menggunakan shellcheck pada file include gabungan hanya mengungkapkan tiga kesalahan sintaksis.
- Nama penulis diidentifikasi dan penulis utama bahkan memiliki fotonya di
github
halamannya.
- Meski tidak ada jaminan dalam hidup,
42FileChecker
tampaknya aman digunakan.
Ini bukan skrip bash yang bisa dibaca manusia yang perlu Anda khawatirkan begitu banyak. Ini adalah objek biner yang dikompilasi yang tidak dapat Anda baca yang perlu diperhatikan. Misalnya program yang disebut "shiny-bouncy-sphere" mungkin melukis sesuatu seperti itu di layar Anda tetapi di latar belakang itu bisa menghapus semua file Anda.
Jawaban asli
Yang terbaik adalah bertanya kepada penulis naskah apa yang dilakukannya. Memang Anda hampir dapat memposting pertanyaan Anda kata demi kata seperti yang muncul di atas.
Tanyakan juga kepada penulis:
- File apa yang diperbarui?
- Apa yang terjadi jika crash karena kegagalan daya atau bug program?
- Bisakah mini-backup dilakukan terlebih dahulu?
Dan pertanyaan bagus lainnya yang dapat Anda pikirkan.
Sunting 1 - Kekhawatiran tentang penulis jahat.
Anda hanya harus menggunakan perangkat lunak dengan banyak ulasan publik yang bagus. Secara bergantian penulis yang Anda percayai di sini di Ask Ubuntu seperti Serge, Jacob, Colin King, dll. Situs terhormat lainnya seperti Ask Ubuntu dan anggota yang disegani juga harus dianggap "tidak berbahaya".
Keuntungan dari "penulis yang dihormati" di sini di Ask Ubuntu adalah mereka mempertaruhkan harga diri mereka pada "poin reputasi". Jika mereka secara sengaja menulis kode yang "mencuri" atau "merusak" data, mereka akan segera kehilangan reputasi. Memang penulis dapat menderita "murka mod" dan ditangguhkan dan / atau 10.000 poin reputasi diambil.
Sunting 2 - Jangan ikuti semua instruksi
Saya melihat lebih dalam ke instruksi skrip bash Anda:
git clone https://github.com/jgigault/42FileChecker ~/42FileChecker &&
cd ~/42FileChecker &&
bash ./42FileChecker.sh
Metode "aman" hanya menjalankan baris pertama:
git clone https://github.com/jgigault/42FileChecker ~/42FileChecker
Ini mengunduh skrip tetapi tidak menjalankannya. Selanjutnya gunakan nautilus
(manajer file) untuk memeriksa direktori dan file yang diinstal. Sangat cepat Anda menemukan ada kumpulan skrip bash yang ditulis oleh sekelompok siswa di Perancis.
Tujuan skrip adalah untuk mengkompilasi dan menguji program C untuk fungsi yang tidak tepat dan kebocoran memori.
man
halaman pada perintah yang terkandung di dalamnya.