Задать вопрос
@WaGe
Эникей

Почему результат исполнения команды из терминала и из python отличается?

Имеется сервер Apache 2, на нем с помощью mod_wsgi развернуто веб-приложение на flask (пользователь u1). В системе есть пользователь u2, на котором запущена сессия tmux. Если вызвать bash скрипт из под flask (модуль python subprocess) с содержимым sudo -u u2 tmux ls то результатом исполнения будет вывод no server running on /tmp/tmux-1001/default. Если вызвать тот же самый скрипт из под ssh (тот же пользователь u1) результатом будет правильный вывод u2: 1 windows. В чем может быть причина такого поведения?
  • Вопрос задан
  • 201 просмотр
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 2
fzfx
@fzfx
18,5 дм
причиной может быть, например, отсутствие переменных среды. попробуйте sudo -l -u u2 tmux ls.
Ответ написан
@vitaly_il1
DevOps Consulting
Имеется в виду u1, правильно

sudo -u u1 tmux ls
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы