Правильный метод отключения polkit.service в CentOS 7

Почему?

Мои службы запускаются через соответствующие файлы модулей или сценарии инициализации. Мне не нужно, чтобы обычные пользователи делали что-то особенное на моих серверах, кроме su . Я специально ищу способ полностью выключить polkit без его самостоятельного запуска при перезапуске других служб.

Я предвижу проблему с объяснением этого аудиторам в нашей среде PCI. Мы должны описать цель каждой услуги. У нас нет законного варианта использования polkit в среде PCI.

Дополнительное примечание: я не устанавливал polkit. Эти серверы имеют очень минимальную установку около 670 МБ на / . Это было обновление systemd, которое, по-видимому, установило polkit, и спецификация, очевидно, имеет зависимости от всех управляемых служб systemd. После установки мне нужно перестроить машину, чтобы удалить ее, как если бы вы пытались удалить nss после ее установки. Меня беспокоит то, что если я принудительно деинсталлирую, то могут остаться файлы, которые приведут к сбою systemd, предполагающего, что он там есть.

Что я пробовал:

Create / etc / polkit-1 / rules. d / 99-deny-all.rules с

polkit.addRule(function(action, subject) {
    return polkit.Result.YES;
});

Затем

systemctl daemon-reload && systemctl daemon-reexec

Это ничего не делает,

[Обновление] Как упоминал Александр, перезапуск polkit применит настройки к самому polkit, и это хорошо, но я ищу способ запретить запуску polkit, который не нарушит работу других служб.

[обновление 2] Это может фактически помешать правильному перезапуску некоторых служб.


Маскировка или отключение службы:

Это приводит к зависанию других служб при запуске и завершении работы в ожидании polkit.


Edit /usr/share/dbus-1/sstem-services/org.freedesktop.PolicyKit1.service с:

[snip]
Exec=/bin/false
[snip]

Затем

systemctl daemon-reload && systemctl daemon-reexec

Это ничего не делает, / usr / lib / polkit-1 / polkitd --no-debug продолжает запускаться, когда другие службы под systemd перезапускаются.


Я читал справочные страницы пару раз. Возможно, мне не хватает чего-то очень простого. Я бы предпочел метод, который сохраняется после обновления пакета systemd.

Конечная цель, которую я ищу, - чтобы polkit.service не запускался при перезапуске других демонов, таких как unbound, bind, dhcp и т. Д.

4
задан 19 July 2017 в 16:20
3 ответа

Обновление

Редхат изменил зависимости RPM вокруг Polkit. Теперь его можно удалить с серверов, даже если что-то затянуло его во время предыдущих обновлений или установок.

Теперь я могу удалить Polkit с серверов, которые были построены на CentOS 7.6.

Он все еще необходим на рабочих станциях, и, похоже, подходит для использования на настольных компьютерах.

.
1
ответ дан 3 December 2019 в 04:08

После добавления правил в /etc/polkit-1/rules.d/99-deny-all.rules вам следует перезапустить службу polkit с помощью systemctl restart polkit . После этого systemctl будет выполнять любые запросы от непривилегированного пользователя.

1
ответ дан 3 December 2019 в 04:08

Как владельцы систем, мы часто не заботимся о намерениях создателя дистрибутива. Многие не согласятся, но я считаю, что ограничения на запуск / остановку / установку / удаление компонентов системы и т. Д. Нарушают мою собственность поставщиком, и я поступаю с моими системами так, как я считаю нужным.

Если вы оказались в В ситуации, когда вы видите удаление polkit как наиболее подходящий вариант, а разработчики дистрибутива не предоставили вам "поддерживаемый" метод для этого, вы можете выполнить поиск по polkitd и переименуйте файл, затем выполните команду остановки службы.

В моем конкретном случае polkit имеет тенденцию закреплять одно ядро ​​ЦП, когда мне это не нужно, и я удалил его, используя описанный выше метод . Добро пожаловать и сила пользователям!

-1
ответ дан 3 December 2019 в 04:08

Теги

Похожие вопросы