Apakah mungkin memasukkan kata sandi untuk sudo hanya sekali, dan mengkonfigurasinya agar tidak memerlukan kata sandi pada terminal lain?

33

Saya memasukkan sudoperintah pertama saya . Saya memasukkan kata sandi saya. Untuk sementara, saya tidak perlu memasukkan kata sandi untuk perintah sudo berikutnya.

Sekarang pertanyaannya. Saya seseorang yang membuka banyak terminal. Akan sangat nyaman jika saya tidak harus memasukkan kata sandi ketika saya menggunakan sudoterminal yang saya buka setelah sudo pertama saya, untuk waktu yang singkat ketika saya tidak harus memasukkan kata sandi untuk sudo di terminal dari mana saya telah menggunakan sudo untuk pertama kali. (Maaf untuk kalimat yang panjang!)

Apa itu mungkin? Jika tidak, mengapa? Jika ya, bagaimana?

daltonfury42
sumber
4
Sudahkah Anda mempertimbangkan bahwa dengan melakukan itu Anda membuka lubang keamanan yang mana mekanisme itu ada untuk menutup? Alasan Anda harus memasukkan kata sandi dengan sudo adalah untuk menjaga agar tidak ada penyerang yang mendapatkan akses ke sesi login atas nama Anda. Jika Anda menonaktifkannya dan seseorang berhasil membajak salah satu sesi terminal Anda (apakah semuanya ada di konsol yang sama?) Atau dengan cara lain memperoleh akses ke sesi login dengan nama Anda tanpa mengetahui kata sandi Anda, mereka akan dapat menjalankan apa pun perintah sebagai root. Bukan skenario yang sangat mungkin, tetapi sesuatu yang harus Anda pertimbangkan.
Pepijn Schmitz

Jawaban:

52

Tentu saja. Jalankan sudo visudodan tambahkan baris ini ke sudoersfile Anda :

Defaults        !tty_tickets

Sebagaimana dijelaskan dalam man sudoers:

 tty_tickets       If set, users must authenticate on a per-tty basis.
                   With this flag enabled, sudo will use a separate record
                   in the time stamp file for each tty.  If disabled, a
                   single record is used for all login sessions.  This
                   flag is on by default.

Dengan mengatur tty_ticketske mati (itulah !artinya), Anda mengaktifkan satu otentikasi untuk dibagikan oleh beberapa sesi.

terdon
sumber
1
Satu-satunya hal yang saya lakukan secara berbeda di sini ketika menyarankan pengguna adalah menggunakan file sudoers.d sebagai gantinya. Dengan begitu jika mereka entah bagaimana gagal sangat mudah untuk dipulihkan, cukup hapus file itu. Ex. sudo visudo -f /etc/sudoers.d/01_file
doug
Apa yang terjadi ketika batas waktu sudo berakhir? atau menjalankan sesuatu seperti sudo -k?
Maythux
@ Maythux Anda harus memasukkannya lagi. Ini hanya membuat identifikasi tunggal berfungsi untuk semua sesi shell. Tidak ada lagi.
terdon
@ user3073656 ah, keren, itu lebih masuk akal :). Ya, tolong, saya akan menghapus milik saya.
terdon
Saya harus mencatat bahwa jika saya menggunakan metode ini, kata sandi hanya akan kedaluwarsa pada batas waktu 15 menit, walaupun saya reboot yang menimbulkan masalah keamanan. Jadi mungkin menambahkan sudo -kke /etc/rc6.d?
daltonfury42