Resposta curta: sim, você pode; mas você não deveria .
Resposta longa: você pode remover a maioria dos prompts de sudo
e pkexec
senha, mas deve tentar uma abordagem menos intrusiva / força bruta .
Acho que você pode conseguir o que está procurando sem a necessidade de um sistema totalmente livre de senhas (mas você pode usar essas instruções para aplicá-las ao seu usuário) , de qualquer forma você terá ter muito cuidado com o que o seu app faz, porque você pode quebrar e bagunçar o seu sistema, e talvez o seu hacker Dog também :) .
Você pode criar um grupo e adicionar uma regra ao arquivo sudoers
, que concede aos usuários desse grupo a execução de comandos sudo
sem senha.
-
Primeiro, crie um novo grupo, digamos
sudonopw
comsudo addgroup sudonopw
. -
Em seguida, adicione o usuário que deve executar seu aplicativo com
sudo usermod -aG sudonopw targetUserName
. -
Em seguida, edite o arquivo sudoers executando
visudo
do terminal e adicione o seguinte logo antes da linha#includedir /etc/sudoers.d
(mantenha essa linha como está, não é um comentário) :# Allow members of group sudonopw to execute any command without password %sudonopw ALL=(ALL) NOPASSWD: ALL
Além disso, se seu aplicativo for iniciado a partir de GUI e exibir um prompt de senha gráfico ( polkit
) , você poderá criar um arquivo polkit removendo a necessidade de uma pasword promt (não me canso de avisar sobre implicações de segurança e estabilidade) para o mesmo ou outro grupo.
Para fazer isso, crie o arquivo 99-nopassword.pkla
in /etc/polkit-1/localauthority/50-local.d/
com:
sudo nano /etc/polkit-1/localauthority/50-local.d/99-nopassword.pkla
Adicione o seguinte conteúdo:
[No password prompt]
Identity=unix-group:sudonopw
Action=*
ResultActive=yes
Salvar e reinicializar.
Espero que ajude.