Я создал сценарий init.d для управления процессом как службой в RHEL 6.x. В сценарии я использую / sbin / runuser для запуска процесса от имени непривилегированного пользователя. Эта часть скрипта работает нормально.
Скрипт работает как sudo service scriptname operation
например, sudo service httpd restart
Кроме того, я хочу выйти из системы пользователя, выполнившего указанную выше команду. В обычных сценариях bash я использовал по-разному $ USER, $ SUDO_USER и $ logname, чтобы заставить пользователя запустить сценарий. То же самое, похоже, не работает, когда сценарий запускается с использованием исполняемого файла «службы».
Что мне не хватает? Как я могу узнать имя пользователя, выполняющего служебную команду, внутри сценария, запускаемого служебной командой?
Спасибо.
service
запускает сценарий инициализации System V в максимально предсказуемой среде, удаление большинства переменных среды и с текущим рабочим каталогом, установленным на /.LANG, СРОК
Единственные переменные среды, переданные в сценарии инициализации.
Я не совсем понимаю, чего вы хотите достичь, но вы можете попробовать whoami
или logname
команды.