10 Konfigurasi Sudoers yang Berguna untuk Mengatur 'Sudo' di Linux

10 Konfigurasi Sudoers yang Berguna untuk Mengatur 'Sudo' di Linux

Di Linux dan sistem operasi seperti Unix lainnya, hanya akar Pengguna dapat menjalankan semua perintah dan melakukan operasi kritis tertentu pada sistem seperti menginstal dan memperbarui, menghapus paket, membuat pengguna dan grup, memodifikasi file konfigurasi sistem yang penting dan sebagainya.

Namun, administrator sistem yang mengasumsikan peran pengguna root dapat mengizinkan pengguna sistem normal lainnya dengan bantuan perintah sudo dan beberapa konfigurasi untuk menjalankan beberapa perintah serta melakukan sejumlah operasi sistem vital termasuk yang disebutkan di atas di atas.

Atau, administrator sistem dapat berbagi kata sandi pengguna root (yang bukan metode yang disarankan) sehingga pengguna sistem normal memiliki akses ke akun pengguna root melalui su memerintah.

sudo memungkinkan pengguna yang diizinkan untuk menjalankan perintah sebagai root (atau pengguna lain), sebagaimana ditentukan oleh kebijakan keamanan:

  1. Itu berbunyi dan parsi /etc/sudoers, mencari pengguna yang memohon dan izinnya,
  2. Kemudian meminta pengguna yang memohon kata sandi (biasanya kata sandi pengguna, tetapi juga bisa menjadi kata sandi pengguna target. Atau dapat dilewati dengan tag nopasswd),
  3. Setelah itu, sudo menciptakan proses anak yang disebutnya setuid () untuk beralih ke pengguna target
  4. Selanjutnya, itu mengeksekusi shell atau perintah yang diberikan sebagai argumen dalam proses anak di atas.

Di bawah ini adalah sepuluh /etc/sudoers Konfigurasi file untuk memodifikasi perilaku sudo perintah menggunakan Default entri.

$ sudo kucing /etc /sudoers 
/etc/sudoers file
# # File ini harus diedit dengan perintah 'visudo' sebagai root. # # Harap pertimbangkan untuk menambahkan konten lokal di /etc /sudoers.d/ bukannya # secara langsung memodifikasi file ini. # # Lihat halaman Man Man untuk detail tentang cara menulis file sudoers. # Default env_reset default mail_badpass defaults secure_path = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" default logfile = "/var/log/sudo.log "defaults lecture =" selalu "default badpass_message =" kata sandi salah, coba lagi "default passwd_tries = 5 default penghinaan default log_input, log_output 

Jenis Entri Default

Parameter default, parameter_list #fect semua pengguna pada host apa pun [email dilindungi] _list parameter, parameter_list #fects semua pengguna pada default host tertentu: Parameter user_list, parameter_list #fects Pengguna tertentu default tertentu:!Parameter cmnd_list, parameter_list #fects perintah tertentu default> parameter runas_list, parameter_list #fects perintah sedang dijalankan sebagai pengguna tertentu 

Untuk ruang lingkup panduan ini, kami akan melakukan nol ke jenis pertama Default dalam bentuk di bawah ini. Parameter mungkin bendera, nilai integer, string, atau daftar.

Anda harus mencatat bahwa bendera secara implisit boolean dan dapat dimatikan menggunakan '!' operator, dan daftar memiliki dua operator penugasan tambahan, += (Tambahkan ke daftar) dan -= (Hapus dari daftar).

Parameter default atau parameter default = parameter nilai atau default -= nilai parameter default += nilai atau default !parameter 

1. Atur jalur yang aman

Ini adalah jalur yang digunakan untuk setiap perintah yang dijalankan dengan sudo, ia memiliki dua impor:

  1. Digunakan saat administrator sistem tidak mempercayai pengguna sudo untuk memiliki variabel lingkungan jalur yang aman
  2. Untuk memisahkan "jalur root" dan "jalur pengguna", hanya pengguna yang ditentukan oleh exempl_group tidak terpengaruh oleh pengaturan ini.

Untuk mengaturnya, tambahkan baris:

Default Secure_path = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin" 

2. Aktifkan sudo pada sesi login pengguna TTY

Untuk memungkinkan sudo dipanggil dari yang nyata Tty tetapi tidak melalui metode seperti cron atau CGI-BIN skrip, tambahkan baris:

Default yang membutuhkan 

3. Jalankan perintah sudo menggunakan pty

Beberapa kali, penyerang dapat menjalankan program berbahaya (seperti virus atau malware) menggunakan sudo, yang akan kembali membayar proses latar belakang yang tetap ada di perangkat terminal pengguna bahkan ketika program utama telah selesai dieksekusi.

Untuk menghindari skenario seperti itu, Anda dapat mengonfigurasi sudo untuk menjalankan perintah lain hanya dari a psuedo-py menggunakan use_pty parameter, apakah logging I/O dihidupkan atau tidak sebagai berikut:

Default Use_pty 

4. Buat file log sudo

Secara default, sudo mencatat melalui syslog (3). Namun, untuk menentukan file log khusus, gunakan parameter logfile seperti SO:

Default logfile = "/var/log/sudo.catatan" 

Untuk mencatat nama host dan tahun empat digit dalam file log khusus, gunakan log_host Dan log_year Parameter masing -masing sebagai berikut:

Default LOG_HOST, LOG_YEAR, LOGFILE = "/VAR/LOG/SUDO.catatan" 

Di bawah ini adalah contoh file log sudo khusus:

Buat file log sudo khusus

5. Log Sudo Command Input/Output

Itu log_input Dan log_output Parameter Mengaktifkan sudo untuk menjalankan perintah di pseudo-tty dan mencatat semua input pengguna dan semua output yang dikirim ke layar secara reseptif.

Direktori log I/O default adalah /var/log/sudo -o, Dan jika ada nomor urutan sesi, itu disimpan di direktori ini. Anda dapat menentukan direktori khusus melalui iolog_dir parameter.

Default LOG_INPUT, LOG_OUTPUT 

Ada beberapa urutan pelarian yang didukung seperti %seq yang mengembang ke nomor urutan basis-36 yang meningkat secara monoton, seperti 000001, di mana setiap dua digit digunakan untuk membentuk direktori baru, e.G. 00/00/01 Seperti pada contoh di bawah ini:

$ CD/VAR/LOG/SUDO-OO/$ LS $ CD 00/00/01 $ LS $ CAT LOG 
Log input sudo log

Anda dapat melihat sisa file di direktori itu menggunakan perintah CAT.

6. Memberi kuliah pengguna sudo

Untuk memberi kuliah kepada pengguna sudo tentang penggunaan kata sandi pada sistem, gunakan kuliah parameter seperti di bawah ini.

Itu memiliki 3 kemungkinan nilai:

  1. Selalu - Selalu memberi kuliah pengguna.
  2. Sekali - hanya memberi kuliah pengguna saat pertama kali mereka menjalankan perintah sudo (ini digunakan ketika tidak ada nilai yang ditentukan)
  3. tidak pernah - tidak pernah memberi kuliah pengguna.
 Defaults Lecture = "Selalu" 

Selain itu, Anda dapat mengatur file kuliah khusus dengan kuliah_file Parameter, ketik pesan yang sesuai di file:

Default lecture_file = "/path/to/file" 
Memberi kuliah pengguna sudo

7. Tampilkan pesan khusus saat Anda memasukkan kata sandi sudo yang salah

Saat pengguna memasukkan kata sandi yang salah, pesan tertentu ditampilkan pada baris perintah. Pesan defaultnya adalah “maaf coba lagi”, Anda dapat memodifikasi pesan menggunakan badpass_message parameter sebagai berikut:

Default badpass_message = "kata sandi salah, coba lagi" 

8. Tingkatkan batasan kata sandi sudo

Parameter passwd_tries digunakan untuk menentukan berapa kali pengguna dapat mencoba memasukkan kata sandi.

Nilai defaultnya adalah 3:

Default passwd_tries = 5 
Tingkatkan upaya kata sandi sudo

Untuk mengatur batas waktu kata sandi (default adalah 5 menit) menggunakan passwd_timeout parameter, tambahkan baris di bawah ini:

Default passwd_timeout = 2 

9. Biarkan sudo menghina Anda saat Anda memasukkan kata sandi yang salah

Jika pengguna mengetik kata sandi yang salah, sudo akan menampilkan penghinaan di terminal dengan parameter penghinaan. Ini secara otomatis akan mematikan badpass_message parameter.

Default penghinaan 
Mari Sudo menghina Anda saat memasukkan kata sandi yang salah

Baca selengkapnya: Biarkan sudo menghina Anda saat Anda memasukkan kata sandi yang salah

10. Pelajari lebih lanjut konfigurasi sudo

Selain itu, Anda dapat mempelajari lebih lanjut sudo Konfigurasi Perintah dengan Membaca: Perbedaan antara Su dan Sudo dan Cara Mengkonfigurasi Sudo di Linux.

Itu dia! Anda dapat berbagi konfigurasi perintah sudo yang berguna atau trik dan tips dengan pengguna Linux di luar sana melalui bagian komentar di bawah ini.