Настройка повышенных прав доступа
По умолчанию управляемый кластер Dynatrace использует sudo
для повышения разрешений для определенных операций обслуживания, и вам не нужно выполнять какие-либо дополнительные действия при запуске установки с целью настройки пользователей, разрешений и служб. Однако, если sudo
недоступен в вашей ОС или вам необходимо использовать альтернативную команду для повышения разрешений, вы должны указать их во время установки.
- В интерактивном режиме, когда вас спросят о повышенных разрешениях, передайте префикс команды, включая программу, например
pbrun
,sesudo
иsuexec
- В тихом режиме этот параметр можно указать через настраиваемую установку
Примечание. Во всех примерах команд на этой странице предполагается следующее:
astromkey
(по умолчанию) — это пользователь, который запускает все службы ОС Dynatrace.- Dynatrace Managed установлен в
/opt/astromkey-managed/
- Данные расположены в директории
/var/opt/astromkey-managed/
Если ваша конфигурация отличается, измените свои действия соответствующим образом.
Когда требуются повышенные разрешения
Пользователю ОС, запускающему управляемые службы Dynatrace, требуются повышенные разрешения для выполнения следующих задач:
- Запуск сценария установки или перенастройки
- Добавка или удаление ноду кластера
- Запуск, останавка, перезапуск и проверка состояния служб
Полный список команд, требующих повышенных разрешений, находится в файле /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"
Исправление неполадок
Неправильно настроенные разрешения могут привести к различным проблемам, например, с Dynatrace 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/astromkey
su - astromkey-s /bin/bash -c 'sudo /opt/dtrun/dtrun iptables -L -n'
cat /etc/sudoers | grep astromkey
cat /etc/passwd | grep astromkey
cat /etc/shadow | grep astromkey
chage -l astromkey
Команда chage
сообщает вам, истекает ли срок действия пароля (это также может вызвать проблемы с доступом к sudo
). Когда вы выполняете дополнительные проверки безопасности, чтобы контролировать, что разрешено выполнять dtrun
, вы можете легко узнать, работает ли sudo
должным образом, выполнив следующую команду от имени пользователя root:
su - astromkey -s /bin/bash -c 'sudo /opt/dtrun/dtrun service astromkey-server status'
Следующая команда является примером проверки повышения разрешений с помощью альтернативы sudo
, pbrun
:
su - astromkey -s /bin/bash -c 'pbrun /opt/dtrun/dtrun service astromkey-server status'