Вопрос или проблема
Недавно я установил setroubleshootd для отладки сообщений selinux. Что я понял, так это то, что раньше это был демон, а теперь это служба DBUS.
Мне было интересно, существует ли способ вручную активировать его? (Я хочу избежать перезагрузки.) Есть ли возможность отключить его по умолчанию? Я спрашиваю об этом из-за некоторых проблем с производительностью, которые могут возникнуть из-за его постоянной активности.
Попытка запустить вручную дала мне эту ошибку:
/usr/libexec/platform-python -Es /usr/sbin/setroubleshootd -f
org.freedesktop.DBus.Error.AccessDenied: Соединение “:1.18150” не имеет права владеть службой “org.fedoraproject.Setroubleshootd” из-за политик безопасности в конфигурационном файле.
Заранее спасибо,
С уважением
Ответ или решение
Чтобы решить проблему, связанную с активированием сервиса setroubleshootd в контексте SELinux, необходимо учитывать несколько аспектов, связанных с его управлением и взаимодействием с политиками безопасности.
1. Понимание setroubleshootd
setroubleshootd — это сервис, который помогает в интерпретации и предоставлении более понятной информации о событиях SELinux. Ранее он был демоном, а теперь работает как сервис D-Bus. Это изменило способ, которым мы взаимодействуем с ним.
2. Запуск setroubleshootd вручную
Чтобы вручную стартовать setroubleshootd
, вам нужно выполнить следующие шаги:
-
Убедитесь, что D-Bus запущен. Можно проверить с помощью команды:
systemctl status dbus
-
Попробуйте запустить его с правами администратора:
sudo /usr/sbin/setroubleshootd &
Однако если вы столкнулись с ошибкой D-Bus, указывающей на то, что доступ запрещен, это может быть связано с тем, что текущий пользователь не имеет необходимых прав для запуска сервиса.
3. Ошибка доступа D-Bus
Ошибка:
org.freedesktop.DBus.Error.AccessDenied: Connection ":1.18150" is not allowed to own the service "org.fedoraproject.Setroubleshootd" due to security policies in the configuration file
указывает на то, что конфигурация D-Bus запрещает вашему пользователю право на управление данным сервисом. Для устранения этой проблемы можно:
- Проверить конфигурационные файлы D-Bus, которые находятся по пути
/etc/dbus-1/system.conf
или/etc/dbus-1/system.d/*.conf
, чтобы убедиться, что ваш пользователь имеет надлежащие права. - Также можно использовать команды
systemctl
для управления статусом сервиса. В зависимости от дистрибутива команда для запуска или остановки будет выглядеть следующим образом:sudo systemctl start setroubleshootd sudo systemctl stop setroubleshootd
4. Деактивация сервиса по умолчанию
Если вас беспокоят потенциальные проблемы с производительностью, вы можете отключить автоматический запуск setroubleshootd. Для этого выполните команду:
sudo systemctl disable setroubleshootd
Это предотвратит его автоматический запуск при загрузке системы. При этом можно будет запускать его вручную, когда это действительно необходимо.
5. Заключение
Таким образом, для решения проблемы вам нужно либо изменить настройки D-Bus, чтобы ваш пользователь мог запускать setroubleshootd, либо использовать его через systemctl
, а также можно отключить его автозагрузку, если он вызывает опасения в отношении производительности. Всегда внимательно подходите к вопросам настройки системного программного обеспечения, особенно в средах с высокой безопасностью.