GNU/Linux >> Belajar Linux >  >> Ubuntu

Bagaimana Mengkonfigurasi Pkexec Agar Tidak Meminta Kata Sandi?

Saya memiliki aplikasi GUI yang perlu memanggil daemon (ditulis dengan Python) dengan hak pengguna super. Saya ingin melakukan ini tanpa meminta kata sandi dari pengguna.

Karena daemon adalah skrip, saya tidak dapat mengatur bit SUID secara langsung. Saya dapat menulis pembungkus C untuk ini, tetapi saya lebih suka tidak menemukan kembali roda, terutama ketika kesalahan di pihak saya dapat menyebabkan keamanan sistem sangat terganggu.

Apa yang biasanya saya lakukan dalam situasi ini adalah menambahkan baris di /etc/sudoers yang memungkinkan pengguna untuk mengeksekusi daemon sebagai root tanpa kata sandi, menggunakan direktif NOPASSWD. Ini berfungsi dengan baik dari baris perintah. Namun, ketika saya melakukan ini dari GUI, sebuah pkexec dialog muncul menanyakan kata sandi pengguna. Tampaknya di Ubuntu, panggilan ke sudo dari GUI entah bagaimana dicegat oleh pkexec .

Apakah ada cara yang bersih untuk mengatasi ini? Saya lebih suka tidak harus berurusan dengan kerumitan skrip setuid.

Jawaban Terbaik

Tidak tepat untuk mengatakan bahwa:“Sepertinya di Ubuntu, panggilan ke sudo dari GUI entah bagaimana dicegat oleh pkexec . pkexec tidak memiliki banyak kesamaan dengan sudo . Berbeda dengan sudo , pkexec tidak memberikan izin root ke seluruh proses, melainkan memungkinkan tingkat kontrol kebijakan sistem terpusat yang lebih baik.

Sekarang, jika Anda ingin menjalankan aplikasi GUI tanpa diminta kata sandi oleh pkexec , ini tidak sulit untuk dilakukan. Mari kita ambil contoh GParted . Ketika Anda membukanya, Anda akan melihat jendela dialog berikut meminta Anda dengan kata sandi:

Klik Detail dan jendela dialog akan terlihat sekarang seperti:

Dari sini yang harus Anda lakukan adalah membuka /usr/share/polkit-1/actions/com.ubuntu.pkexec.gparted.policy file menggunakan misalnya perintah berikut:

gksu gedit /usr/share/polkit-1/actions/com.ubuntu.pkexec.gparted.policy

dan ubah baris berikut:

      <allow_any>auth_admin</allow_any>
      <allow_inactive>auth_admin</allow_inactive>
      <allow_active>auth_admin</allow_active>

dengan sebagai berikut:

      <allow_any>yes</allow_any>
      <allow_inactive>yes</allow_inactive>
      <allow_active>yes</allow_active>

Simpan file dan tutup. Selanjutnya, ketika Anda akan membuka GParted Anda tidak akan dimintai kata sandi lagi.

Terkait:Apakah mungkin dengan Gedit atau baris perintah untuk memodifikasi setiap baris keempat dari file teks?
Ubuntu
  1. Ubuntu – Bagaimana Cara Mengkonfigurasi Alamat Ip Eksternal Untuk Tamu Lxc?

  2. Bagaimana Mengkonfigurasi Desktop Untuk Alamat Ip Statis?

  3. Bisakah Konsol Ditangguhkan Dan Meminta Kata Sandi Saat Bangun?

  1. Cara mengkonfigurasi privasi direktori di cPanel

  2. Sudo Tidak Meminta Kata Sandi Lagi?

  3. Bagaimana Saya Harus Mengonfigurasi Dukungan Trim Untuk Volume Logis Lvm?

  1. Bagaimana Cara Mengetik Kata Sandi Untuk Banyak Windows?

  2. Cara Membuat Apache 2 Berhenti Meminta Kata Sandi Untuk Sertifikat SSL?

  3. Bagaimana Cara Menghindari Permintaan Kata Sandi Untuk Sudo Untuk Skrip Crontab?