Apa itu sudo (su ‘do’)?
Sudo adalah utilitas command-line yang digunakan di sistem operasi berbasis Unix seperti Linux dan macOS. Tool ini berfungsi untuk memberikan akses sementara dengan hak istimewa (privileged access) kepada user atau grup user, sehingga mereka bisa menjalankan perintah yang biasanya tidak bisa dijalankan dengan akun biasa. Bahkan, sudo bisa memberikan izin untuk menjalankan perintah dengan akun root — akun paling “super” di sistem Unix-like. Semua perintah yang dijalankan lewat sudo akan tercatat (log) lengkap dengan argumennya, jadi admin bisa memantau aktivitas user yang memakai sudo.
Banyak sumber bilang kalau sudo adalah singkatan dari superuser do. Itu memang benar di masa lalu, tapi sekarang tim pengembang sudo sudah meninggalkan kepanjangan itu. Menurut website resminya, sudo sekarang diartikan sebagai su “do”, yang lebih menekankan bahwa tool ini punya kemampuan mirip perintah su
.
Su sendiri adalah utilitas command-line yang merupakan singkatan dari switch user atau substitute user. Fungsinya mirip dengan sudo, yaitu memungkinkan user menjalankan perintah sebagai user lain. Bedanya, sudo punya beberapa keunggulan dibanding su.

Bagaimana cara kerja perintah sudo?
Saat menjalankan perintah dengan sudo, user akan diminta memasukkan password akun mereka sendiri, bukan password akun root atau akun privileged lainnya. Setelah itu, mereka bisa menjalankan perintah lain tanpa memasukkan password lagi, tapi hanya dalam waktu tertentu.
Secara default, sesi sudo akan berakhir setelah lima menit tidak ada aktivitas, dan setelah itu user harus memasukkan password lagi. Admin bisa mengubah waktu ini sesuai kebutuhan saat mengatur konfigurasi sudo.
Berbeda dengan sudo, perintah su memungkinkan user berpindah ke akun root atau akun privileged lain secara manual dengan memasukkan username dan password akun tersebut. Akun itu akan tetap aktif sampai user keluar (logout) dan kembali ke akun semula. Cara ini memang bekerja, tapi risikonya lebih besar.

Misalnya, seorang admin pakai su untuk login ke akun root, jalankan beberapa perintah sistem, lalu pergi melakukan hal lain, lupa logout dari root. Kalau kemudian admin itu kembali dan tanpa sengaja menjalankan perintah yang salah, kerusakannya bisa fatal — belum lagi risiko keamanan yang meningkat.

Sudo membantu mengurangi risiko tersebut dan memberi kontrol lebih bagi admin. Admin bisa:
- Mengatur file sudoers untuk memberi izin spesifik kepada user atau grup tertentu agar bisa menjalankan sebagian atau semua perintah dengan akun root atau akun privileged lain.
- Mengontrol secara detail perintah apa saja yang boleh dijalankan user di tiap host, berdasarkan nama perintah dan lokasinya di direktori.
- Melihat log aktivitas untuk mengetahui siapa yang menjalankan perintah sudo, apa yang dijalankan, dan kapan dijalankan.
- Mengatur durasi akses di level privileged setelah user memasukkan password.
- Mengatur konfigurasi plugin sudo, path file, debugging, dan antarmuka front-end.
- Mengelola satu file sudoers untuk mengontrol akses banyak user di banyak sistem sekaligus.
Cara menjalankan sudo di level privileged
Untuk menjalankan perintah dengan sudo di level privileged, user cukup menambahkan kata sudo sebelum perintah, dengan catatan admin sudah memberikan hak akses di file sudoers. Contohnya, perintah berikut dipakai untuk mengedit file hosts di sistem:
sudo vi /etc/hosts
Kalau user mencoba menjalankan perintah ini tanpa sudo dan tidak punya izin, sistem akan menolak akses. Tapi dengan sudo, user bisa membuka dan mengedit file tersebut di level privileged.