Настройка повышенных прав доступа

Материал из Документация Ключ-АСТРОМ

По умолчанию управляемый кластер Ключ-Астром использует sudo для повышения разрешений для определенных операций обслуживания, и вам не нужно выполнять какие-либо дополнительные действия при запуске установки с целью настройки пользователей, разрешений и служб. Однако, если sudo недоступен в вашей ОС или вам необходимо использовать альтернативную команду для повышения разрешений, вы должны указать их во время установки.

  • В интерактивном режиме, когда вас спросят о повышенных разрешениях, передайте префикс команды, включая программу, например pbrun, sesudo и suexec
  • В тихом режиме этот параметр можно указать через настраиваемую установку

Примечание. Во всех примерах команд на этой странице предполагается следующее:

  • dynatrace (по умолчанию) — это пользователь, который запускает все службы ОС Ключ-Астром.
  • Ключ-Астром Managed установлен в /opt/astromkey-managed/
  • Данные расположены в директории /var/opt/astromkey-managed/

Если ваша конфигурация отличается, измените свои действия соответствующим образом.

Когда требуются повышенные разрешения

Пользователю ОС, запускающему управляемые службы Ключ-Астром, требуются повышенные разрешения для выполнения следующих задач:

  • Запуск сценария установки или перенастройки
  • Добавка или удаление ноду кластера
  • Запуск, останавка, перезапуск и проверка состояния служб

Полный список команд, требующих повышенных разрешений, находится в файле /opt/dtrun/dtrun.conf. Директория /opt/dtrun и все файлы внутри принадлежат пользователю root по соображениям безопасности.

Перенастройка команду dtrun sudo

Чтобы упростить управление разрешениями ОС, Dynatrace Managed использует один скрипт для запуска всех команд, требующих повышенных разрешений. Сценарий под названием dtrun представляет собой оболочку для sudo или любой другой команды, которую вы должны указать во время установки. Файл dtrun находится в директории /opt/dtrun/dtrun, и все команды, которые исполняются файлом dtrun, находятся в директории /opt/dtrun/dtrun.conf. Исполняться могут только скрипты и команды в директории /opt/dtrun/dtrun.conf can be run.

Если кластеру необходимо выполнить команду от имени пользователя root (например, чтобы добавить iptables, перезапустить компонент или запустить средство обновления), он будет использовать набор SUDO_COMMAND во время установки, чтобы попытаться получить повышенные разрешения. Вы также можете искать проблемы в лог-файле /var/opt/astromkey-managed/log/dtrun.log.

Если вам нужно перенастроить существующую установку для использования альтернативы sudo, вы можете запустить сценарий перенастройки. Например, чтобы изменить команду sudo на pbrun, используйте этот скрипт для повторного запуска программы установки:

sudo /opt/astromkey-managed/installer/reconfigure.sh --sudo-cmd "/usr/bin/pbrun \$CMD"

Исправление неполадок

Неправильно настроенные разрешения могут привести к различным проблемам, например, с Ключом-Астром Managed или сетью. Если есть проблема с разрешениями, вы увидите такие записи в журнале установки, как:

sudo: pam_open_session: System error
sudo: policy plugin failed session initialization

Также вы увидите проблемы в этих журналах:

  • /var/opt/astromkey-managed/log/dtrun.log (логи dtrun)
  • /var/opt/astromkey-managed/log/launch-logging.log (логи скриптов запуска служб)

При устранении неполадок с sudo или повышенными разрешениями лучший подход — запустить всю конфигурацию сразу и сравнить. Под пользователем root все приведенные ниже команды должны генерировать вывод:

cat /etc/sudoers | grep -i include
cat /etc/sudoers.d/dynatrace

su - dynatrace -s /bin/bash -c 'sudo /opt/dtrun/dtrun iptables -L -n'

cat /etc/sudoers | grep dynatrace
cat /etc/passwd | grep dynatrace
cat /etc/shadow | grep dynatrace

chage -l dynatrace

Команда chage сообщает вам, истекает ли срок действия пароля (это также может вызвать проблемы с доступом к sudo). Когда вы выполняете дополнительные проверки безопасности, чтобы контролировать, что разрешено выполнять dtrun, вы можете легко узнать, работает ли sudo должным образом, выполнив следующую команду от имени пользователя root:

su - dynatrace -s /bin/bash -c 'sudo /opt/dtrun/dtrun service dynatrace-server status'

Следующая команда является примером проверки повышения разрешений с помощью альтернативы sudo, pbrun:

su - dynatrace -s /bin/bash -c 'pbrun /opt/dtrun/dtrun service dynatrace-server status'