Perintah sudo memungkinkan Anda untuk menjalankan program sebagai pengguna lain, secara default pengguna root. Jika Anda menghabiskan banyak waktu di baris perintah, sudo adalah salah satu perintah yang akan sering Anda gunakan.

Menggunakan akun sudo alih-alih sebagai root lebih aman, karena Anda dapat memberikan hak administratif terbatas kepada pengguna individu tanpa mereka tahu kata sandi root.

Dalam tutorial ini, kami akan menjelaskan cara menggunakan perintah sudo.

Install Sudo (sudo : command not found)

Paket sudo kebanyakan sudah diinstal pada sebagian besar distribusi Linux.

Untuk memeriksa apakah paket sudo diinstal pada sistem Anda, buka konsol atau terminal linux, kemudian ketik sudo, dan tekan Enter. Jika sudo sudah terinstall di sistem, maka konsol akan menampilkan output berupa pesan bantuan singkat, jika tidak, Anda akan melihat output seperti sudo command not found

Jika sudo belum diinstal, Anda dapat dengan mudah menginstalnya menggunakan manajer paket distro Anda.

Install Sudo di Ubuntu dan Debian

apt install sudo

Install Sudo di CentOS dan Fedora

yum install sudo

Menambahkan User ke Sudoers

Pada sebagian besar distribusi Linux, memberikan hak akses sudo seperti pengguna ke group sudo. Anggota grup sudo ini akan dapat menjalankan perintah apa pun sebagai root. Nama group mungkin berbeda dari distribusi ke distribusi.

Pada distribusi berbasis RedHat seperti CentOS dan Fedora, nama grup sudo adalah wheel. Untuk menambahkan user ke grup jalankan perintah berikut

usermod -aG wheel namauser

Di Debian, Ubuntu dan turunannya, anggota grup sudo maka akan diberikan hak akses sudo:

usermod -aG sudo namauser

Akun user root di Ubuntu dinonaktifkan secara default, karena alasan keamanan, dan user didorong untuk melakukan tugas administrasi sistem menggunakan sudo. User awal yang dibuat oleh Ubuntu installer, secara otomatis sudah menjadi anggota grup sudo. Jika Anda menjalankan Ubuntu, kemungkinannya adalah user yang Anda masuki sekarang telah diberikan hak istimewa sudo.

Jika Anda ingin mengizinkan user tertentu untuk hanya menjalankan program tertentu sebagai sudo, alih-alih menambahkan user ke grup sudo, tambahkan user tersebut ke file sudoers.

Misalnya untuk mengizinkan user linuxid hanya menjalankan perintah mkdir sebagai sudo, ketik:

sudo visudo

dan tambahkan baris berikut :

linuxid  ALL=/bin/mkdir

Pada kebanyakan sistem, perintah visudo akan membuka file /etc/sudoers dengan teks editor vim. Jika Anda belum memiliki pengalaman dengan vim, periksa artikel kami tentang cara menyimpan file dan keluar dari editor vim.

Anda juga dapat mengizinkan pengguna untuk menjalankan perintah sudo tanpa mengautentikasi diri:

linuxid  ALL=(ALL) NOPASSWD: ALL

Cara Menggunakan Sudo

Sintaks untuk perintah sudo adalah sebagai berikut:

sudo OPTION.. COMMAND

Perintah sudo memiliki banyak opsi yang mengontrol perilakunya, tetapi biasanya sudo digunakan dalam bentuknya yang paling dasar, tanpa opsi apa pun.

Untuk menggunakan sudo, cukup awali perintah dengan sudo:

sudo command

Di mana command adalah perintah yang ingin Anda lakukan dengan hak sudo.

Sudo akan membaca file /etc/sudoers dan memeriksa apakah user yang meminta hak sudo ada di file sudoers. Pertama kali Anda menggunakan sudo dalam suatu sesi, Anda akan diminta memasukkan kata sandi pengguna dan perintah itu akan dieksekusi sebagai root.

Sebagai contoh, untuk mendaftar semua file di direktori /root , Anda dapat menggunakan perintah berikut :

sudo ls /root
[sudo] password for linuxid:
.  ..  .bashrc	.cache	.config  .local  .profile

Password Timeout

Secara default, sudo akan meminta Anda memasukkan kata sandi lagi setelah lima menit jika tidak ada aktifitas. Anda dapat mengubah batas waktu default dengan mengedit file sudoers. Buka file dengan visudo:

sudo visudo

Tetapkan batas waktu default dengan menambahkan baris di bawah ini, di mana 10 adalah batas waktu yang ditentukan dalam menit:

Defaults  timestamp_timeout=10

Jika Anda ingin mengubah timestamp hanya untuk pengguna tertentu, tambahkan baris berikut, di mana user_name adalah nama pengguna yang dimaksud.

Defaults:user_name timestamp_timeout=10

Jalankan Perintah sebagai User Selain Root

Ada persepsi yang salah bahwa sudo hanya digunakan untuk memberikan izin root ke user biasa. Sebenarnya, Anda dapat menggunakan sudo untuk menjalankan perintah seperti user mana pun.

Opsi -u memungkinkan Anda untuk menjalankan perintah sebagai user yang ditentukan.

Perintah whoami akan mencetak nama user yang menjalankan perintah sudo sebagai user
“diana” :

sudo -u diana whoami

Perintah whoami akan mencetak nama user yang akan menjalankan perintah sudo tersebut:

diana

Cara Redirect dengan Sudo

Jika Anda mencoba mengalihkan output dari perintah ke file yang akun Anda tidak memiliki izin menulis, maka Anda akan mendapatkan kesalahan “Permission denied“.

sudo echo "test" > /root/file.txt
bash: /root/file.txt: Permission denied

Pesan error muncul karena pengalihan “>” dilakukan oleh pengguna yang bukan berasal dari grup sudo atau tidak menggunakan perintah sudo. Salah satu solusinya adalah dengan membuka shell baru sebagai root dengan menggunakan sudo sh -c:

sudo sh -c 'echo "test" > /root/file.txt'

Pilihan lain adalah untuk mem-pipe output sebagai user biasa ke perintah tee seperti yang ditunjukkan di bawah ini:

echo "test" | sudo tee /root/file.txt

Kesimpulan

Anda telah belajar cara menggunakan perintah sudo dan cara membuat pengguna baru dengan hak istimewa sudo.