Есть несколько предложений с подсказками о том, как этого можно достичь. Мне кажется, что рестарт
команде Elasticsearch не нужны привилегии root, по крайней мере, в моем случае использования.
По сути, в случае остановки службы ES я не хочу, чтобы пользователь программы отвечал за ее перезапуск, и программа, обнаружив, что служба по какой-то причине неактивна/не работает, должна просто попытаться перезапустить ее.
Кажется, есть способ настроить эти разрешения с помощью Судо Визудо
, но мне не совсем понятно, что делать: я хочу разрешить ВСЕМ пользователям делать одну команду systemctl
:
systemctl перезапустить эластичный поиск
Файл /etc/sudoers.tmp, который появляется после Судо Визудо
во-первых, говорит: «Пожалуйста, рассмотрите возможность добавления локального контента в /etc/sudoers.d/ вместо того, чтобы напрямую изменять этот файл». Все 3 файла в настоящее время в этом каталоге кажутся двоичными.
Во-вторых, он разделен на различные разделы, которые я нахожу довольно озадачивающими: «Спецификация псевдонима хоста/пользователя/команды» и т. д. Я просмотрел справочную страницу для SUDOERS, но в основном это просто заставляет меня слишком хорошо осознавать, насколько я невежественен. .
Там что-то еще: когда команда, которая требует судо
(даже если команда на самом деле не начинается со слова «sudo») запускается с использованием subprocess.run
, в Linux появляется диалоговое окно с надписью «пожалуйста, введите пароль». Если окажется, что на самом деле система НЕ была настроена на разрешение systemctl перезапустить эластичный поиск
быть запущенным кем-либо, я хочу обнаружить это и вывести подходящее сообщение, а не открывать это диалоговое окно с запросом пароля привилегий root. Есть ли способ обнаружить это? ...или, может быть, перехватить систему, прежде чем она запросит пароль root-прав?