Como posso obter o nome de usuário de um script python executado com o pkexec?

1

Estou executando um script python como root com o pkexec e estou usando working_dir = os.getenv('HOME') para obter o nome de usuário, mas ele sempre retorna root em vez de test1 , que é o usuário atual. Como posso obter o usuário que executou o pkexec?

Já experimentei print os.environ["SUDO_USER"] , mas isso falha, pois não está sendo executado diretamente com o sudo. Estou confiante agora, mas me comporto da mesma maneira em 16.04.

    
por answerSeeker 14.03.2017 / 02:45

1 resposta

2

Eu corri assim:

import pwd
import os

user = pwd.getpwuid(int(os.environ["PKEXEC_UID"])).pw_name
working_dir = '/home/{}'.format(user)
    
por answerSeeker 14.03.2017 / 03:09