2

У меня есть исполняемый файл, который должен запускаться каждый раз, когда пользователь входит в систему. Он должен работать в контексте этого пользователя, но с правами root, как если бы пользователь запускал его с помощью sudo .

Я просмотрел документацию Apple, а также веб-сайт launchd.info, чтобы найти способ сделать это, но не смог ничего найти.

Если я создаю Launch Agent (в ~/Library/LaunchAgents или /Library/LaunchAgents) или Launch Daemon с установленным свойством UserName , он запускается как пользователь (по желанию), но я не могу сделать ничего, что требует повышенных прав.

Если я создаю Launch Daemon (в /Library/LaunchDaemons), он запускается как root (с желаемыми привилегиями), но без какого-либо пользовательского контекста. Если я использую su <username> -c "<command>" или sudo -u <username> <command> из демона запуска, я могу запустить команду от имени пользователя, но она запускается без привилегий sudo.

Есть ли способ запустить агент запуска с разрешениями sudo?

0