Если вы хотите, чтобы какой-то конкретный процесс запускался при запуске от имени пользователя root, я бы посоветовал вам обернуть его в скрипт systemd / init.d. Для systemd что-то вроде этого, вероятно, будет работать:
[Unit] Description=Some command [Service] User=root Type=oneshot ExecStart=/usr/bin/whateverprogram and associated arguments [Install] WantedBy=multi-user.target
Хотя в приведенном выше примере я считаю, что директива User является излишней.
В качестве альтернативы, без реализации какого-либо инструмента управления секретами (см. Хранилище hashicorps, у ansible есть аналогичная функция и т. Д.), Вы в значительной степени застряли с двумя вариантами:
Создайте /etc/sudoers.d/somefile с записью для всех программ, которые будут запускаться с повышенными привилегиями без пароля. То есть.
ALL ALL=/usr/bin/theprogramtorun NOPASSWD
Или вы, если вам совсем не безразлична безопасность системы и ваш пользователь - sudoer, вы можете попробовать написать что-то вроде:
echo "thisisaterribleidea" | sudo -S /usr/bin/command
Чтобы передать пароль в виде открытого текста через командную строку