Eu tenho um executável que precisa ser executado toda vez que um usuário efetua login. Ele precisa ser executado no contexto desse usuário, mas com permissões de root, como se o usuário o tivesse executado com sudo
.
Examinei a documentação da Apple, bem como o site launchd.info é uma maneira de fazer isso, mas não conseguiu encontrar nada.
Se eu criar um agente de inicialização (em ~/Library/LaunchAgents
ou /Library/LaunchAgents
) ou um daemon de inicialização com o conjunto de propriedades UserName
, ele será executado como usuário (como desejado), mas não posso fazer nada que exija privilégios.
Se eu criar um Daemon de inicialização (em /Library/LaunchDaemons
), ele será executado como raiz (com os privilégios desejados), mas sem nenhum contexto do usuário. Se eu usar su <username> -c "<command>"
ou sudo -u <username> <command>
do Launch Daemon, posso executar um comando como usuário, mas ele é executado sem privilégios sudo.
Existe uma maneira de executar um agente de lançamento com permissões sudo?
Tags sudo permissions launchd daemon macos