Perilaku perintah sudo dikendalikan oleh file / etc / sudoers pada sistem Anda. Perintah ini harus diedit dengan perintah visudo, yang melakukan pemeriksaan sintaks untuk memastikan Anda tidak secara tidak sengaja merusak file.
Tentukan Pengguna Dengan Izin Sudo
Akun pengguna yang Anda buat saat menginstal Ubuntu ditandai sebagai akun Administrator, yang berarti dapat menggunakan sudo. Akun pengguna tambahan apa pun yang Anda buat setelah pemasangan dapat berupa akun pengguna Administrator atau Standar - Akun pengguna standar tidak memiliki izin sudo.
Anda dapat mengontrol jenis akun pengguna secara grafis dari alat Akun Pengguna Ubuntu. Untuk membukanya, klik nama pengguna Anda di panel dan pilih Akun Pengguna atau cari Akun Pengguna di dasbor.
Jadikan Sudo Lupakan Kata Sandi Anda
Secara default, sudo akan mengingat kata sandi Anda selama 15 menit setelah Anda mengetiknya. Inilah sebabnya mengapa Anda hanya perlu mengetikkan kata sandi satu kali saat mengeksekusi banyak perintah dengan sudo secara berurutan. Jika Anda akan membiarkan orang lain menggunakan komputer Anda dan Anda ingin sudo untuk meminta kata sandi ketika berjalan berikutnya, jalankan perintah berikut dan sudo akan melupakan kata sandi Anda:
sudo –k
Selalu Minta Kata Sandi
Jika Anda lebih suka ditanya setiap kali Anda menggunakan sudo - misalnya, jika orang lain secara teratur memiliki akses ke komputer Anda - Anda dapat menonaktifkan perilaku mengingat kata sandi sepenuhnya.
Pengaturan ini, seperti pengaturan sudo lainnya, terdapat dalam file / etc / sudoers. Jalankan perintah visudo di terminal untuk membuka file untuk diedit:
sudo visudo
Terlepas dari namanya, perintah ini default ke editor nano yang baru-ramah pengguna bukan editor vi tradisional di Ubuntu.
Tambahkan baris berikut di bawah garis Default lainnya dalam file:
Defaults timestamp_timeout=0
Ubah Waktu Tunggu Sandi
Untuk menetapkan batas waktu kata sandi yang berbeda - salah satu yang lebih lama seperti 30 menit atau yang lebih pendek seperti 5 menit - ikuti langkah-langkah di atas tetapi gunakan nilai yang berbeda untuk timestamp_timeout. Nomor sesuai dengan jumlah menit sudo akan mengingat kata sandi Anda untuk. Agar sudo mengingat kata sandi Anda selama 5 menit, tambahkan baris berikut:
Default timestamp_timeout=5
Jangan Minta Kata Sandi
Anda juga dapat meminta sudo untuk tidak pernah meminta kata sandi - selama Anda masuk, setiap perintah yang Anda awali dengan sudo akan berjalan dengan izin root. Untuk melakukan ini, tambahkan baris berikut ke file sudoers Anda, di mana nama pengguna adalah nama pengguna Anda:
username ALL=(ALL) NOPASSWD: ALL
%sudo ALL=(ALL:ALL) NOPASSWD:ALL
Jalankan Perintah Tertentu Tanpa Kata Sandi
Anda juga dapat menentukan perintah khusus yang tidak akan pernah membutuhkan kata sandi ketika dijalankan dengan sudo. Alih-alih menggunakan "ALL" setelah NOPASSWD di atas, tentukan lokasi dari perintah. Misalnya, baris berikut akan memungkinkan akun pengguna Anda menjalankan perintah apt-get and shutdown tanpa kata sandi.
username ALL=(ALL) NOPASSWD: /usr/bin/apt-get,/sbin/shutdown
Ini bisa sangat berguna ketika menjalankan perintah tertentu dengan sudo dalam skrip.
Izinkan Pengguna untuk Hanya Menjalankan Perintah Tertentu
Meskipun Anda dapat memasukkan perintah tertentu ke daftar hitam dan mencegah pengguna menjalankannya dengan sudo, ini tidak terlalu efektif. Misalnya, Anda dapat menentukan bahwa akun pengguna tidak dapat menjalankan perintah shutdown dengan sudo. Tetapi akun pengguna itu dapat menjalankan perintah cp dengan sudo, membuat salinan perintah shutdown, dan mematikan sistem menggunakan salinan.
Cara yang lebih efektif adalah memasukkan perintah tertentu ke daftar putih. Misalnya, Anda dapat memberikan izin akun pengguna Standar untuk menggunakan perintah apt-get and shutdown, tetapi tidak lebih. Untuk melakukannya, tambahkan baris berikut, jika pengguna standar adalah nama pengguna pengguna:
standarduser ALL=/usr/bin/apt-get,/sbin/shutdown
sudo -U standarduser –l
Akses Sudo Logging
Anda dapat membuat log semua akses sudo dengan menambahkan baris berikut. / var / log / sudo hanyalah sebuah contoh; Anda dapat menggunakan lokasi file log apa pun yang Anda suka.
Defaults logfile=/var/log/sudo
sudo cat /var/log/sudo