Eu tenho um aplicativo GUI que precisa chamar um daemon (escrito em Python) com privilégios de superusuário. Eu gostaria de fazer isso sem solicitar ao usuário uma senha.
Como o daemon é um script, não posso definir o bit SUID diretamente. Eu poderia escrever um invólucro em C para isso, mas prefiro não reinventar a roda, especialmente quando um erro da minha parte poderia levar à segurança do sistema seriamente comprometida.
O que eu normalmente faria nessa situação é adicionar uma linha /etc/sudoersque permita aos usuários executar o daemon como root sem uma senha, usando a diretiva NOPASSWD. Isso funciona bem na linha de comando. No entanto, quando faço isso a partir da GUI, pkexecaparece uma caixa de diálogo solicitando a senha do usuário. Parece que no Ubuntu, as chamadas sudoda GUI estão sendo interceptadas de alguma forma pkexec.
Existe uma maneira limpa de contornar isso? Eu realmente prefiro não ter que lidar com os aborrecimentos de um script setuid.
sudo somecommand, a caixa de diálogo exibida é uma pkexeccaixa de diálogo com senha, independentemente de haver uma política de sudoers que permita a execução do programa.

