sudo dalam Linux - ihsanhaaa/Seputar-Linux GitHub Wiki

Ada banyak perdebatan di lingkungan pengguna Linux terkait perbedaan sudo dengan su. Dan disini saya akan coba membahasnya menurut pemahaman saya.

Artikel ini akan mengcover terkait :

Apa itu sudo ? Apa itu su ? Kapan sebaiknya pakai sudo? Dan kapan sebaiknya pakai su ? Langsung saja kita bahas tentang perbedaan sudo dengan su.

Apa itu sudo ? Apa itu su ?

Perintah su sebenarnya berasal dari kata switch user. Yang artinya “mau ganti user”. Nah ganti user ke user apa?

Kalau kita hanya mengetikkan :

rizal@linuxserver ~ $ su

Itu berarti kita akan berganti ke user root, alias super admin, alias super user, alias administrator.

Intinya kita ganti / berpindah ke user tertinggi dan punya hak akses paling full di Linux.

Disini anda harus memasukkan password dari user root tersebut. Jika berhasil, maka anda akan berubah menjadi user root yang ditandai dengan prompt # :

root@linuxserver ~ #

Tapi perintah su bisa juga untuk kita berganti ke user lainnya. Misalnya mau ganti ke user jono :

rizal@linuxserver ~ $ su jono

Masukkan password user jono, dan jika berhasil maka anda akan berhasil berubah ke user jono.

Jadi kesimpulannya apa itu su ?

“Perintah su adalah perintah untuk berganti user. Jika perintah su dimasukkan tanpa parameter apa – apa, maka kita meminta untuk berganti user ke user root.”

Lalu apa itu sudo ?

Singkatan dari sudo adalah “super user do”, atau secara Indonesia artinya “yang dilakukan oleh super user”.

Maksudnya apa ?

Misalnya kita adalah user rizal, ingin melakukan perintah mematikan komputer seperti berikut :

rizal@linuxserver ~ $ shutdown

Maka artinya perintah tersebut akan dijalankan benar – benar atas nama user rizal.

Di dalam dunia Linux, ada perintah – perintah yang hanya bisa dijalankan oleh super user ( root ), salah satunya shutdown ini.

Sehingga jika anda menjalankan perintah shutdown ini sebagai user rizal yang notabene adalah non super user, maka perintah ini akan gagal dijalankan.

Analoginya seperti anda adalah karyawan biasa di sebuah perusahaan, lalu anda mau memecat rekan kerja anda. Apakah anda bisa ?

Tentunya tidak bisa. Karena anda tidak berhak melakukan perintah tersebut.

Nah lalu bagaimana penggunaan sudo itu ? Contohnya begini :

rizal@linuxserver ~ $ sudo shutdown

Perintah itu kira – kira artinya, “jalankan perintah shutdown yang dilakukan oleh super user”. Jadi perintah shutdownnya, anda minta untuk dijalankan bukan atas nama rizal, tapi atas nama super user.

Disini uniknya anda akan diminta memasukkan password user anda sendiri sebagai user rizal, bukan password user root seperti perintah su.

Kenapa bisa ? Nah disitulah perbedaan antara su dengan sudo.

Jika su adalah anda benar – benar switch ke user root itu sendiri, sedangkan sudo anda hanya seakan – akan meminjam hak akses dari user root tapi atas nama anda sendiri.

Analoginya seperti anda karyawan yang ingin memecat rekan kerjanya sendiri, maka jika anda melakukan perintah su, anda benar – benar meminta bos anda yang memecat rekan kerja anda tersebut.

Bos anda yang benar – benar datang, dan ngomong ingin memecat.

Tapi jika sudo, anda sendiri yang memecat rekan kerja anda tapi di barengi dengan surat penunjukan langsung oleh bos anda bahwa anda berhak memecat rekan kerja anda tersebut.

Sudah dapat poin perbedaan sudo dengan su ?

Kapan pakai sudo dan kapan pakai su ?

Menurut saya, dalam era Linux modern saat inin perintah su sebaiknya hanya digunakan untuk berpindah ke user biasa.

Karena perintah su untuk berpindah ke user root cenderung tidak aman.

Ibaratnya kalau hacker sudah dapat 1 password user root, maka dia sudah dapat akses seluruh sistem. Ini sangat berbahaya.

Sumber: https://blog.cilsy.id/2018/02/perbedaan-sudo-dengan-su-di-linux.html