Não tenho certeza sobre isso, mas provavelmente será necessário desativar a opção "tty_tickets" em /etc/sudoers
. Normalmente, o "período de tolerância" de sudo
que não pede uma senha novamente é vinculado ao tty. Consulte o manual .
Aviso --- isso pode ser uma ameaça à segurança.
Basicamente, você deve adicionar à opção
Defaults !tty_tickets
em seus arquivos /etc/sudoers
(você sabe como fazê-lo, caso contrário, melhor não fazê-lo). Muitas informações são encontradas no wiki do arch linux . Observe que, depois disso, durante o período de tolerância, todos os aplicativos do usuário podem obter privilégios sem solicitar uma senha ...
A outra estratégia é solicitar que todo o script seja executado em sudo
. Se você estiver preocupado em executar todos os tempos com privilégios de root, poderá soltá-los e usá-los somente quando necessário usando os.seteuid()
.
Links interessantes aqui e aqui .
Outra estratégia é tornar o programa setuid (você tem que usar algum truque para fazer isso , veja os links na resposta - é para bash, o mesmo para python), e então use por exemplo grupos se você quiser restringir o acesso ao usuário (ou descartar privilégios e reative-o depois de solicitar uma senha).