Ketika saya pertama kali mulai menggunakan Linux, segalanya menjadi lebih rumit. Distribusi ini sama sekali tidak matang, tetapi mereka juga memerlukan penggunaan akun sistem khusus untuk mencapai hal-hal tertentu. Akun ini adalah akun root, dan dengannya Anda memiliki kontrol tak terbatas atas sistem operasi Anda.
Untuk mendemonstrasikan kekuatan root, satu trik yang selalu dapat Anda gunakan dengan pengguna yang tidak curiga adalah dengan memberi tahu mereka untuk menggunakan perintah su untuk mengubah ke root dan kemudian minta mereka mengeluarkan perintah berikut:
rm -rf /
Perintah rm digunakan untuk menghapus file dan folder. Menggabungkan r (rekursif) dan f (dipaksa), Anda akan menghapus semuanya dari folder root (/), membuat sistem Anda tidak dapat digunakan.
Saat itu, perintah apa pun yang memerlukan hak administratif dijalankan melalui pengguna root. Untuk melakukan ini, Anda harus mengubah ke root (menggunakan perintah su) atau masuk sebagai root. Kedua opsi tersebut pada akhirnya dianggap sebagai masalah keamanan. Mengapa? Jika Anda masuk sebagai root dan meninggalkan sistem Anda, siapa pun dapat melakukan apa pun yang mereka inginkan. Hal yang sama berlaku untuk mengubah ke root dan membuka jendela terminal.
Tentu saja, ini jauh lebih rumit dari itu. Akses ke root berarti bahwa jika seorang peretas mendapatkan akses ke sistem Anda, mereka dapat berubah menjadi root dan membuat kerusakan pada mesin.
Pada akhirnya, keputusan harus membayar beberapa harga. Dari kebutuhan ini, sudo muncul. Sudo adalah singkatan dari “Super User Execute” dan secara efektif memberi pengguna normal (pengguna yang tergabung dalam grup admin) akses ke hak istimewa seperti admin. Ini memecahkan dua masalah:
- Pengguna root dapat dinonaktifkan (sehingga tidak dapat dengan mudah dieksploitasi).
- Hanya pengguna di grup admin (lebih lanjut tentang ini nanti) yang dapat menjalankan tugas administratif.
Ini adalah langkah maju yang penting untuk Linux, yang tidak hanya meningkatkan keamanan sistem, tetapi juga memudahkan pengguna untuk menggunakannya.
Dengan sudo, pengguna tidak perlu lagi mengubah ke root atau masuk ke akun untuk menjalankan perintah administratif (seperti menginstal perangkat lunak). Pengguna dapat menjalankan aktivitas administratif ini melalui sudo dengan efek yang sama seperti menjalankan dari akun pengguna root. Yang terpenting, ini memberikan kontrol yang lebih besar atas siapa yang dapat melakukan apa pada sistem tertentu. Saat mencoba menjalankan perintah yang memerlukan hak administrator, pengguna hanya perlu memasukkan kata sandi pengguna mereka (juga dikenal sebagai kata sandi sudo mereka) dan perintah akan dijalankan tanpa hambatan (selama itu berjalan dengan benar).
Misalnya, alih-alih menggunakan su terlebih dahulu untuk mengubah ke root dan kemudian mengeluarkan perintah pembaruan/peningkatan pada distribusi berbasis Ubuntu, Anda cukup mengeluarkan perintah:
sudo apt-get update sudo apt-get upgrade -y
Menjalankan apt-get melalui sudo, pengguna diberikan hak administrator sementara dan dapat mengeluarkan perintah ini dengan sukses.
Bagaimana dengan pengguna yang tidak ada di grup admin?
Mengenai dasar-dasar penggunaan sudo, setiap pengguna yang ingin Anda beri akses ke otoritas tertentu harus menjadi anggota grup administrator distribusi. Misalnya, pada distribusi berbasis Ubuntu, grupnya adalah sudo, sedangkan pada distribusi berbasis Red Hat, grupnya disebut wheel.
Jika pengguna Anda bukan anggota grup admin ketika mereka mencoba menjalankan perintah dengan sudo, mereka akan melihat sesuatu seperti ini:
olivia is not in the sudoers file. This incident will be reported.
Bagaimana Anda menyelesaikan masalah ini? Anda menambahkan mereka ke grup Administrator. Jadi, untuk distribusi berbasis Ubuntu, perintah untuk menambahkan pengguna ke grup admin adalah:
sudo usermod -aG sudo USER
di mana USER adalah nama pengguna yang terkait.
Pada distribusi berbasis Red Hat seperti Fedora, perintahnya adalah:
sudo usermod -aG wheel USER
di mana USER adalah nama pengguna yang terkait.
Setelah menjalankan perintah, pengguna harus keluar dan masuk kembali, atau memberi tahu sistem tentang perubahan menggunakan perintah:
newgrp
Setelah pengguna ditambahkan ke grup administrator, mereka dapat menggunakan sudo untuk menjalankan perintah yang memerlukan hak administrator.
Sudo membuat Linux tidak hanya lebih aman, tetapi juga lebih ramah pengguna. Mengubah (atau masuk ke) akun pengguna root tidak lagi diperlukan, menghindari banyak implikasi keamanan yang serius, dan memungkinkan Anda untuk mengelola akses pengguna ke tugas administratif. Meskipun ini adalah pengantar yang sangat mendasar untuk sudo (kita akan membahasnya nanti), Anda sekarang harus memiliki pemahaman yang lebih baik tentang apa itu dan bagaimana menggunakannya.