Saya memiliki aplikasi GUI yang perlu memanggil daemon (ditulis dengan Python) dengan hak superuser. Saya ingin melakukan ini tanpa meminta kata sandi kepada pengguna.
Karena daemon adalah skrip, saya tidak dapat mengatur bit SUID secara langsung. Saya bisa menulis bungkus C untuk ini, tapi saya lebih suka tidak menemukan kembali roda, terutama ketika kesalahan pada bagian saya dapat menyebabkan keamanan sistem menjadi sangat terganggu.
Apa yang biasanya saya lakukan dalam situasi ini adalah menambahkan baris /etc/sudoers
yang memungkinkan pengguna untuk mengeksekusi daemon sebagai root tanpa kata sandi, menggunakan arahan 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 sedang dicegat oleh pkexec
.
Apakah ada cara yang bersih di sekitar ini? Saya benar-benar lebih suka tidak harus berurusan dengan kerepotan skrip setuid.
sudo somecommand
, kotak dialog yang muncul adalah pkexec
dialog kata sandi, terlepas dari apakah ada kebijakan sudoers yang memungkinkan eksekusi program.