Jangan lewatkan Promo Tahun Baru!
search
In this article

Cara menggunakan sudo dan file sudoers Linux untuk hak akses root

File sudoers adalah file konfigurasi penting di sistem operasi Linux dan Unix-like yang berfungsi untuk mengatur hak akses user. File ini menentukan siapa saja yang boleh menjalankan perintah sebagai superuser (root) guna mengamankan pengelolaan hak administratif.

Administrator sistem bisa mengonfigurasi file sudoers untuk mengizinkan user atau grup tertentu menjalankan perintah dengan hak akses yang lebih tinggi. Namun, perubahan yang tidak tepat pada file ini bisa mengakibatkan celah keamanan atau bahkan kegagalan sistem.

Di artikel ini, kami akan membantu Anda mempelajari cara mengedit file sudoers serta mengelola hak akses user dengan aman agar sistem Anda tetap terlindungi dan berjalan stabil.

Persiapan awal

Sebelum mulai mengedit file sudoers, pastikan Anda sudah memiliki tool dan akses yang diperlukan. Berikut beberapa prasyarat penting yang perlu disiapkan:

  • Linux. Perintah sudo dan file sudoers digunakan untuk mengelola hak akses pada sistem berbasis Linux, seperti server pribadi virtual (VPS). Kalau Anda belum memilikinya, pertimbangkan untuk menggunakan paket VPS dari Hostinger. Dengan begitu, Anda bisa mencoba dan menguji konfigurasi sistem secara remote menggunakan hak akses administratif.
  • Akses SSH. Apabila menangani VPS, Anda memerlukan akses Secure Shell (SSH) agar bisa tersambung ke server dan mengelola sistem secara aman melalui terminal.
  • Operasi command-line. Pengelolaan file sudoers dilakukan melalui command-line interface (CLI). Oleh karena itu, pastikan Anda memahami perintah dasar Linux serta navigasi direktori agar terhindar dari kesalahan konfigurasi yang bisa berdampak pada sistem.
  • Perintah visudo. Menggunakan visudo adalah cara paling aman untuk mengedit file sudoers. Biasanya, visudo sudah terinstal secara default di sebagian besar distribusi Linux. Kalau visudo belum tersedia di sistem Anda, instal menggunakan perintah:
sudo apt install sudo   # Debian atau Ubuntu
sudo dnf install sudo   # CentOS, Fedora, atau Rocky Linux

Apa yang dimaksud dengan file sudoers?

Untuk mengubah hak akses user dengan aman di sistem Linux, Anda perlu memahami cara kerja file sudoers terlebih dahulu.

File ini terletak di direktori /etc/sudoers dan digunakan oleh sistem untuk mengatur user serta grup mana saja yang memiliki hak akses sudo. Melalui file ini, sistem menentukan siapa yang boleh menjalankan perintah sebagai user tertentu, lengkap dengan batasan dan kebijakan keamanan yang berlaku.

File sudoers memiliki struktur dan syntax khusus yang harus diikuti secara tepat. Umumnya, aturan di dalamnya ditulis dengan format berikut:

[user] [host] = ([runas_user]) [perintah]
  • [user]. User atau grup yang menjadi target aturan.
  • [host]. Host tempat perintah boleh dijalankan, biasanya diatur ke ALL.
  • ([runas_user]). User yang dipilih untuk menjalankan perintah, umumnya diatur ke ALL.
  • [perintah]. Perintah spesifik yang diizinkan untuk dijalankan oleh user tersebut.

Sebagai contoh, aturan john ALL=(ALL:ALL) ALL mengizinkan user john untuk menjalankan perintah apa pun, sebagai user mana pun, di host mana pun.

Cara mengedit file sudoers

Bagian ini akan menjelaskan cara mengedit file sudoers menggunakan visudo. Untuk memulai, buka terminal di sistem Anda atau gunakan aplikasi SSH client seperti PuTTY. Kalau menggunakan Hostinger, Anda juga bisa mengakses server langsung melalui fitur Terminal Browser kami.

Cukup login ke akun Hostinger Anda, lalu buka menu VPSKelola. Setelah itu, klik Terminal Browser di pojok kanan atas, dan Anda akan langsung tersambung ke server VPS Anda secara otomatis.

Selesai! Sekarang Anda bisa mulai menjalankan perintah langsung di VPS Anda.

Menggunakan visudo

Seperti yang tadi dijelaskan, visudo adalah metode paling aman dan paling direkomendasikan untuk mengedit file sudoers di Linux. Tool ini akan mengunci file selama proses pengeditan, mencegah user lain melakukan perubahan secara bersamaan yang bisa menyebabkan konflik.

Selain itu, visudo menyediakan lapisan keamanan tambahan dengan memeriksa kemungkinan kesalahan syntax sebelum perubahan disimpan. Hal ini sangat penting untuk meminimalkan risiko kehilangan akses sudo atau bahkan terkunci dari sistem sepenuhnya.

Ikuti langkah-langkah berikut untuk membuka dan mengedit file sudoers menggunakan visudo:

  1. Beralihlah ke user root dan jalankan visudo dengan perintah berikut:
sudo -i

visudo

Kalau tidak ingin beralih ke root, jalankan perintah dengan izin sudo:

sudo visudo

Perintah di atas akan membuka file sudoers dengan editor terminal default, baik nano maupun vim.

  1. Gunakan tombol panah untuk menelusuri file dan membuat perubahan yang diperlukan.

Tips berguna

Secara default, visudo biasanya membuka file sudoers menggunakan editor teks vim. Namun, di Ubuntu, visudo sudah dikonfigurasikan untuk menggunakan nano.

Menambahkan user ke file sudoers

Untuk memberikan hak akses sudo kepada user, Anda perlu menambahkannya ke dalam file sudoers. Dengan begitu, user tersebut bisa menjalankan perintah dengan hak istimewa yang lebih tinggi, yang penting untuk melakukan tugas-tugas administratif di Linux.

Berikut langkah-langkahnya:

  1. Buka file sudoers menggunakan perintah sudo visudo seperti sebelumnya.
  2. Tambahkan baris berikut untuk memberikan akses sudo penuh kepada user bernama john:
john ALL=(ALL:ALL) ALL
  1. Anda juga bisa menambahkan beberapa user ke file sudoers dengan izin yang berbeda sesuai perannya, satu user per satu baris. Berikut contohnya:
john ALL=(ALL:ALL) ALL

steve ALL=(ALL) NOPASSWD: /usr/bin/apt

mary ALL=(ALL:ALL) /usr/sbin/reboot
  • Baris pertama memberikan akses sudo penuh kepada john, seperti yang tadi dijelaskan.
  • Baris kedua mengizinkan steve menjalankan perintah apt tanpa harus memasukkan password.
  • Baris ketiga mengizinkan mary melakukan reboot sistem, tapi tidak memberikan akses sudo untuk perintah lainnya.

Mengelola izin grup

Mengelola izin setiap user secara individu di file sudoers bisa cukup merepotkan dan rawan kesalahan, terutama kalau Anda menangani banyak user. Agar lebih efisien, kelola hak akses menggunakan grup sudo.

Grup sistem Linux ini memberikan hak akses administratif secara otomatis kepada seluruh anggotanya. Secara default, user yang tergabung dalam grup sudo bisa menjalankan perintah apa pun dengan hak akses superuser, tanpa perlu menambahkan aturan khusus di file sudoers untuk setiap user.

Untuk menambahkan user ke grup sudo, gunakan perintah usermod dengan opsi -aG. Berikut contohnya untuk menambahkan user bernama john ke grup sudo:

sudo usermod -aG sudo john

Setelah itu, agar perubahan keanggotaan grup langsung berlaku, user perlu keluar dari sesi saat ini lalu masuk kembali sebagai user yang baru ditambahkan:

logout

ssh john@your_vps_ip

Apabila dirasa kurang praktis, Anda juga bisa beralih ke akun user dengan sesi yang sudah diperbarui menggunakan perintah su, lalu masukkan password user tersebut dengan benar.

su - john

Memahami opsi konfigurasi umum

File sudoers menyediakan berbagai opsi konfigurasi untuk mengelola hak akses user dan grup secara lebih fleksibel. Dengan memahami opsi-opsi ini, Anda bisa menentukan aturan yang lebih jelas dan ringkas, sekaligus meminimalkan risiko error maupun konflik konfigurasi.

Defaults

Opsi Defaults digunakan untuk menetapkan variabel environment serta perilaku bawaan saat sudo dijalankan. Pengaturan ini bisa berlaku secara global untuk semua user, atau disesuaikan untuk user maupun grup tertentu.

Sebagai contoh, opsi env_reset akan menghapus variabel environment tertentu untuk mencegah akses yang tidak sah:

Defaults        env_reset

Cmnd_Alias

Cmnd_Alias digunakan untuk membuat alias yang mewakili sekumpulan perintah atau path tertentu. Dengan alias ini, Anda bisa mengelompokkan perintah agar aturan sudoers lebih rapi dan mudah dikelola.

Misalnya, NETWORK_CMDS bisa berisi kumpulan perintah jaringan, sedangkan ADMIN_CMDS digunakan untuk perintah-perintah administratif:

Cmnd_Alias NETWORK_CMDS = /sbin/ifconfig, /sbin/ip, /usr/sbin/traceroute

Cmnd_Alias ADMIN_CMDS = /usr/sbin/useradd, /usr/sbin/userdel, /usr/sbin/visudo

Host_Alias

Opsi Host_Alias berisi daftar host atau sistem tempat suatu perintah boleh dijalankan. Opsi ini sangat berguna ketika Anda mengelola hak akses di lingkungan dengan banyak server atau host yang berbeda. Berikut contoh penggunaannya:

Host_Alias FILE_SERVERS = server1, server2, server3

User_Alias

User_Alias memungkinkan Anda mengelompokkan beberapa user ke dalam satu alias untuk memberikan hak akses yang sama ke banyak user sekaligus tanpa perlu menuliskannya satu per satu. Dalam contoh ini, user john, mary, dan admin dikelompokkan ke dalam alias ADMINS:

User_Alias ADMINS = john, mary, admin

Runas_Alias

Opsi ini menentukan user atau grup yang bisa “ditiru” saat menjalankan perintah. Misalnya, user bisa menjalankan perintah sebagai root atau operator, sesuai aturan yang ditentukan:

Runas_Alias OP = root, operator

Berikut beberapa contoh penerapan praktis yang bisa Anda jadikan acuan:

  • Memberikan perintah tertentu kepada sekelompok user. Alias ADMINS, yang mencakup john dan mary, bisa menjalankan perintah di STORAGE_CMDS pada semua host:
User_Alias ADMINS = john, mary

Cmnd_Alias STORAGE_CMDS = /bin/mount, /bin/umount

ADMINS ALL=(ALL) STORAGE_CMDS
  • Mengatur perizinan dengan batas waktu. User yang menjalankan perintah sebagai alias NETWORKING diwajibkan melakukan autentikasi ulang setiap 2 menit:
Cmnd_Alias NETWORKING = /sbin/ifconfig, /sbin/ip

Defaults!NETWORKING timestamp_timeout=2
  • Menghindari aturan yang saling bertentangan. Saat membuat beberapa entri, pastikan tidak ada nilai yang bermasalah. Contoh berikut akan bermasalah karena satu aturan mewajibkan password untuk semua perintah, sementara perintah apt justru dikecualikan.
john ALL=(ALL) NOPASSWD: /usr/bin/apt

john ALL=(ALL) PASSWD: ALL

Menyimpan perubahan

Setelah mengedit file sudoers menggunakan visudo, simpan perubahan dengan benar agar konfigurasi diterapkan tanpa error. Kalau menggunakan nano, tekan Ctrl + XYEnter. Untuk pengguna vim, tekan Esc untuk masuk ke mode perintah, lalu ketik :wq dan tekan Enter.

Apabila visudo mendeteksi kesalahan sintaks, sistem akan menampilkan pesan peringatan dan meminta Anda memperbaikinya sebelum keluar. Pastikan semua error sudah diperbaiki sebelum melanjutkan.

Menguji perubahan

Setelah perubahan disimpan, lakukan pengujian manual untuk memastikan konfigurasi sudo yang baru sudah berfungsi sesuai yang diharapkan. Pastikan Anda beralih terlebih dahulu ke user yang hak aksesnya ingin diverifikasi:

su - [username]
  • Periksa apakah user sudah memiliki hak akses yang dimaksud. Untuk memastikan user memiliki hak sudo yang dimaksud, jalankan perintah verifikasi. Kalau user memiliki akses sudo, hasil yang ditampilkan adalah root:
sudo whoami
  • Menguji perintah khusus user. Untuk memastikan alias user atau hak akses tertentu sudah dikonfigurasi dengan benar, lakukan uji kecocokan spesifik. Perintah ini akan menampilkan daftar hak sudo yang dimiliki oleh user tersebut:
sudo -l
  • Periksa izin grup. Setelah menambahkan user ke grup sudo atau grup admin lainnya, pastikan hak aksesnya aktif dengan mencoba menjalankan perintah yang membutuhkan izin administratif. Konfirmasikan bahwa perintah tersebut berhasil dijalankan:
sudo ls /root
  • Verifikasi definisi alias. Pertama, buka file sudoers untuk memastikan alias sudah didefinisikan dengan benar. Setelah itu, jalankan perintah yang termasuk di dalam alias tersebut. Misalnya, kalau Anda menambahkan /sbin/ifconfig ke dalam alias NETWORKING, jalankan perintah tersebut untuk memastikan aturan bekerja sesuai konfigurasi:
sudo /sbin/ifconfig

Kesimpulan

Mengedit file sudoers adalah cara yang efektif untuk mengelola hak akses user di sistem Linux. Namun, proses ini perlu dilakukan dengan hati-hati karena kesalahan kecil saja bisa mengakibatkan munculnya celah keamanan atau bahkan hilangnya akses administratif sistem.

Melalui artikel ini, Anda sudah mempelajari cara mengedit file sudoers dengan aman menggunakan visudo, menambahkan user dengan hak akses tertentu, mengelola izin berbasis grup, serta memahami opsi konfigurasi umum seperti Defaults dan berbagai jenis alias.

Jangan lupa, biasakan untuk mengecek ulang setiap perubahan yang Anda buat. Lakukan pengujian menggunakan perintah seperti sudo whoami, sudo -l, dan sudo ls /root untuk memastikan semuanya sudah berjalan tanpa masalah, dan sistem tetap stabil serta aman bagi seluruh user.

Tanya jawab (FAQ) sudo dan file sudoers Linux

Apa fungsi file sudoers?

File sudoers berfungsi untuk mengatur izin user dalam menjalankan perintah sebagai root atau user lain. File ini menentukan siapa saja yang boleh menggunakan sudo beserta kondisinya untuk mengelola akses administratif secara lebih aman.

Di mana lokasi file SUDOERS?

File sudoers berada di direktori /etc/sudoers pada sebagian besar sistem Linux. File ini bersifat global dan tidak boleh dipindahkan atau diubah namanya. Untuk pengaturan yang lebih mendetail, tambahkan file konfigurasi khusus di direktori /etc/sudoers.d, yang akan dibaca sebagai ekstensi file utama oleh sudo.

Bagaimana cara membuka dan mengedit file sudoers?

Gunakan perintah visudo untuk membuka dan mengedit file sudoers dengan aman. Perintah ini menyediakan sistem pengeditan yang lebih terlindungi karena mencegah pengeditan bersamaan oleh beberapa user dan memeriksa kesalahan syntax secara otomatis sebelum perubahan disimpan.

Bisakah mengedit file SUDOERS dengan editor teks?

Mengedit file sudoers langsung menggunakan editor teks biasa tidak disarankan karena berisiko menyebabkan kesalahan konfigurasi yang bisa mengunci akses sistem. Gunakan visudo, karena tool ini akan mengunci file selama pengeditan dan memvalidasi syntax sebelum menyimpan perubahan.

Semua konten tutorial di website ini telah melalui peninjauan menyeluruh sesuai standar dan komitmen editorial Hostinger.

Author
Penulis

Faradilla Ayunindya

Faradilla, yang lebih akrab disapa Ninda, sudah berpengalaman selama 10 tahun sebagai linguist dan 5 tahun sebagai Content Marketing Specialist di Hostinger. Ia suka mengikuti tren teknologi, digital marketing, dan belajar bahasa. Melalui tutorial Hostinger ini, Ninda ingin berbagi informasi dan membantu pembaca mengatasi masalah yang dialami. Kenali Ninda lebih dekat di LinkedIn.

Apa Kata Pelanggan Kami

Tinggalkan Komentar

Silakan isi kolom di bawah ini.Silakan tandai checkbox persetujuan.Silakan isi kolom yang tersedia dan beri centang pada checkbox privasi

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Thank you! Your comment has been successfully submitted. It will be approved within the next 24 hours.