Memberi password Grub menjadi penting terutama untuk entry yang jika digunakan orang lain dikhawatirkan menjadi celah bagi keamanan sistem. Pilihan-pilihan semisal Recovery Mode dapat dimanfaatkan untuk menerobos ke dalam sistem tanpa halangan yang cukup berarti. Begitu pula jika di dalam komputer diinstal sistem operasi lain dan Anda tidak menginginkan orang yang tidak diijinkan menjalankannya, maka mempassword grub bisa menjadi solusi mengamankan komputer Anda.
Dalam tutorial ini kami akan sampaikan cara mengamankan grub Ubuntu 12.04 LTS dan Ubuntu 12.10 dengan password untuk pilihan Recovery Mode, sub menu entry dan pengamanan untuk pilihan menjalankan sistem operasi lain. Ini dimaksutkan supaya Anda tidak perlu memasukkan password grub saat ingin menjalankan ubuntu dalam mode normal karena pilihan ini secara default telah meminta user untuk memasukkan password pada login manager LightDM maupun GDM.
Perlu diingat, Ubuntu 12.04 LTS telah menggunakan Grub2 versi 1.99, itu berbeda dengan Grub legacy. Sedangkan pada Ubuntu 12.10 yang kami gunakan telah menggunakan Grub2 versi 2.00 dan ini juga sedikit berbeda dengan versi 1.99.
Dengan cara memodifikasi file grub.conf sebenarnya bisa dilakukan, namun kami tidak merekomendasikan memberi password grub dengan cara tersebut karena itu tidak dapat berlaku permanen. Ketika grub diupdate atau jika ada paket lain diinstall dan memerlukan proses update grub maka pengaturan pada grub.conf akan ditimpa dengan yang baru dan proteksi password tidak berlaku lagi.
Supaya pengamanan grub dapat berlaku permanen meski grub diupdate berulang kali, silahkan ikuti cara memberi password grub yang akan kami sampaikan berikut ini.
Buatlah dokumen kecil berisi username dan password yang akan digunakan mengamankan grub untuk memudahkan Anda dalam proses pembuatan konfigurasi. Sebagai contoh, dalam tutorial ini kami menggunakan username "bojalinuxer" dengan password "superoot", silahkan sesuaikan dengan kebutuhan Anda.
Langkah pertama adalah mengenkripsi password, jalankan terminal (CTRL+ALT+T) lalu ketik perintah berikut:
grub-mkpasswd-pbkdf2
Ketik password yang akan Anda gunakan lalu ulangi kembali untuk mengkonfirmasi sehingga mendapatkan kode semacam ini:
Your PBKDF2 is grub.pbkdf2.sha512.10000.453459609B605C24A95FFFFCB532F623BA277C260821EE344733B8D5092CA9E5AE84C62B7D972291E3495295146BE7F5B409C9A2267F3B8568631D9D93DBC3DA.0AF9A82584E9150E8C9012FFE0D2465C60AE2887044DDBFD4D76B2EEB91715150A4C03C708F4D431E7DF7B69E35F299FED81D313EB29860ABD595B5FBA5DC549
Copy paste kode yang didapatkan tersebut ke dalam catatan kecil mulai dari "grub.pbkdf2.sha512.10000.45345..." hingga akhir.
Langkah kedua, ketik perintah berikut untuk mengedit header grub:
sudo gedit /etc/grub.d/00_header
Copy paste baris berikut ke bagian akhir file 00_header, sesuaikan dengan username dan kode password yang Anda dapatkan dari perintah grub-mkpasswd-pbkdf2:
cat << EOF
set superusers="username_anda"
password_pbkdf2 username_anda kode_password_anda
EOF
Lihat contoh milik kami:
cat << EOF
set superusers="bojalinuxer"
password_pbkdf2 bojalinuxer grub.pbkdf2.sha512.10000.453459609B605C24A95FFFFCB532F623BA277C260821EE344733B8D5092CA9E5AE84C62B7D972291E3495295146BE7F5B409C9A2267F3B8568631D9D93DBC3DA.0AF9A82584E9150E8C9012FFE0D2465C60AE2887044DDBFD4D76B2EEB91715150A4C03C708F4D431E7DF7B69E35F299FED81D313EB29860ABD595B5FBA5DC549
EOF
Simpan perubahan lalau tutup gedit.
Langkah ketiga, ketik perintah berikut pada terminal untuk mengedit file 10_linux
sudo gedit /etc/grub.d/10_linux
Cari dan ubah baris-baris berikut:
linux_entry ()
{
os="$1"
version="$2"
recovery="$3"
args="$4"
if ${recovery} ; then
title="$(gettext_quoted "%s, with Linux %s (recovery mode)")"
else
title="$(gettext_quoted "%s, with Linux %s")"
fi
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
Menjadi:
linux_entry ()
{
os="$1"
version="$2"
recovery="$3"
args="$4"
if ${recovery} ; then
title="$(gettext_quoted "%s, with Linux %s (recovery mode)")"
printf "menuentry --users username_anda '${title}' ${CLASS} {\n" "${os}" "${version}"
else
title="$(gettext_quoted "%s, with Linux %s")"
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
fi
Masih pada file ini, cari dan ubah baris-baris berikut:
if [ "$list" ] && ! $in_submenu; then
echo "submenu \"Previous Linux versions\" {"
in_submenu=:
fi
Menjadi:
if [ "$list" ] && ! $in_submenu; then
echo "submenu --users username_anda \"Previous Linux versions\" {"
in_submenu=:
fi
Simpan perubahan lalu tutup gedit.
Untuk pengguna Ubntu 12.10 pengubahan pada file 10_linux cukup dilakukan pada baris berikut:
fi
# TRANSLATORS: %s is replaced with an OS name
echo "submenu '$(gettext_printf "Advanced options for %s" "${OS}" | grub_quote)' \$menuentry_id_option 'gnulinux-advanced-$boot_device_id' {"
fi
Menjadi:
fi
# TRANSLATORS: %s is replaced with an OS name
echo "submenu --users username_anda '$(gettext_printf "Advanced options for %s" "${OS}" | grub_quote)' \$menuentry_id_option 'gnulinux-advanced-$boot_device_id' {"
fi
Langkah keempat, ketik perintah berikut pada terminal untuk mengedit file 30_os-prober:
sudo gedit /etc/grub.d/30_os-prober
Cari dan sisipkan kode --users username_anda pada setiap baris berikut yang Anda temukan:
menuentry '$(echo
Sehingga menjadi:
menuentry --users username_anda '$(echo
Simpan perubahan lalu tutup gedit.
Catatan: Pengeditan file 00_header dan 30_os-prober sama antara Ubuntu 12.04 LTS maupun Ubuntu 12.10.
Langkah kelima, ketik perintah berikut untuk mengupdate grub:
sudo update-grub2
Pastikan proses update grub diakhri dengan pesan "done", jika tidak, berarti terdapat kesalahan pada proses pengeditan file-file konfigurasi grub di atas sehingga Anda perlu memeriksanya kembali dan mengulangi proses update grub hingga berhasil.
Setelah grub berhasil diupdate, reboot komputer. Pada menu grub, pilih menu Recover mode atau menu dan sub menu lain yang diamankan dengan password untuk menguji keberhasilan proses...
Masukkan username_anda lalu tekan enter maka anda akan diminta memasukkan password yang telah dibuat, pada contoh ini kami masukkan username "bojalinuxer" dengan password "superoot"
selamat mencoba...
Dipublikasikan di: