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.