Здравствуйте.
Подскажите, как из под root
получить переменную окружения пользователя?
Немного контекста.
Есть сервис VPN, который при запуске, для аутентификации(логин, пароль, отп) ходит в пользователельское хранилище паролей(pass) и получает необходимые данные. Для расшифрования паролей используется gpg-агент
, который хранит ключи в памяти некоторое время, после которого он их забывает. Для обновления ключей используется программа pinentry
, но ей для вызова диалогового окна нужна переменная окружения XAUTHORITY
. Собственно остюда и вопрос, как метнуться от имени сервиса к пользователю и получить эту переменную окружения?
Обновление ключа не работает:
su rav -c 'gpg --homedir ~rav/.gnupg/ --decrypt ~rav/.password-store/LDAP.gpg 2>/dev/null'
Обновление ключа работает:
su rav -c 'XAUTHORITY=/tmp/xauth_zjilik gpg --homedir ~rav/.gnupg/ --decrypt ~rav/.password-store/LDAP.gpg 2>/dev/null'