Ho un'applicazione GUI che deve chiamare un demone (scritto in Python) con privilegi di superutente. Vorrei farlo senza richiedere all'utente una password.
Dato che il demone è uno script, non posso impostare direttamente il bit SUID. Potrei scrivere un wrapper C per questo, ma preferirei non reinventare la ruota, soprattutto quando un errore da parte mia potrebbe portare alla grave compromissione della sicurezza del sistema.
Quello che normalmente farei in questa situazione è aggiungere una riga /etc/sudoersche consenta agli utenti di eseguire il demone come root senza password, usando la direttiva NOPASSWD. Funziona bene dalla riga di comando. Tuttavia, quando lo faccio dalla GUI, viene pkexecvisualizzata una finestra di dialogo che richiede la password dell'utente. Sembra che su Ubuntu, le chiamate sudodalla GUI vengano in qualche modo intercettate da pkexec.
C'è un modo pulito per aggirare questo? Preferirei davvero non dover affrontare le seccature di una sceneggiatura setuid.
sudo somecommand, la finestra di dialogo che viene visualizzata è una pkexecfinestra di dialogo della password, indipendentemente dal fatto che esista un criterio sudoers che consente l'esecuzione del programma.

