Как я могу получить имя пользователя из скрипта Python, запущенного с pkexec?

Я выполняю сценарий Python как корень с pkexec, и я использую working_dir = os.getenv('HOME') для получения имени пользователя, но это всегда возвращается root вместо test1 который является текущим пользователем. Как я могу получить пользователя, который выполнил pkexec вместо этого?

Я уже попробовал print os.environ["SUDO_USER"] но это перестало работать, так как это не выполняется непосредственно с sudo. Я нахожусь на надежном человеке теперь, но веду себя то же в 16,04.

1
задан 14 March 2017 в 04:45

1 ответ

Я зафиксировал его как это:

import pwd
import os

user = pwd.getpwuid(int(os.environ["PKEXEC_UID"])).pw_name
working_dir = '/home/{}'.format(user)
2
ответ дан 7 December 2019 в 13:36

Другие вопросы по тегам:

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