Автор Тема: Пользователь при выполнении скрипта NUT upssched-cmd  (Прочитано 1194 раз)

Оффлайн sai7

  • Участник
  • *
  • Сообщений: 22
Использую nut-server для корректного завершения работы операционной системы. Для непосредственной реакции на уведомления от ИБП применяю upssched. Когда подходит время для выключения ОС начинает работать скрипт upssched-cmd. В нём я предполагал разместить код для завершения запущенных виртуальных машин под qemu/kvm: virsh shutdown VM. Эта команда хорошо выполняется с правами root. Я с помощью whoami для начала проверил от чьего имени выполняется скрипт upssched-cmd, оказалосб от root. Но когда дошло время до завершения виртуальных машин, пользователем оказался upsmon. А от его имени virsh shutdown VM завершается с ошибкой.
Непонятно, почему происходит запуск скрипт upssched-cmd не от имени root.

Оффлайн Dmytro

  • Мастер
  • ***
  • Сообщений: 1 001
Я с помощью whoami для начала проверил от чьего имени выполняется скрипт upssched-cmd
Проверяли руками в консоли до запуска скрипта или из скрипта?
Но когда дошло время до завершения виртуальных машин, пользователем оказался upsmon.
Как проверяли?
Если пользователь, от имени которого осуществляется выполнение команд, меняется по ходу выполнения скрипта, то нужно скрипт изучать. Первое, что приходит в голову - где-то лишняя команда exit в скрипт закралась.

Оффлайн sai7

  • Участник
  • *
  • Сообщений: 22
В скрипт вставил выдачу в файл результата выполнения команд: whoami, pwd.
Скрипт линейный. Ни одной команды exit в нём нет

Оффлайн Dmytro

  • Мастер
  • ***
  • Сообщений: 1 001
нужно скрипт изучать.
Может быть, Вы его выложите? Иначе гадать на кофейной гуще придется

Оффлайн sai7

  • Участник
  • *
  • Сообщений: 22
Вот, прикладываю. Он похож на скрипт из темы https://forum.altlinux.org/index.php?topic=36725.0 с этого форума.
Также прикладываю файлы, которые получаются при выполнении скрипта.