Как я могу получить имя пользователя или домашний каталог вошедшего в систему пользователя, когда я root? - PullRequest
0 голосов
/ 13 апреля 2019

Мое приложение работает как пользователь root, но было запущено от обычного пользователя (администратора), например с помощью команды sudo (но не обязательно, т.е. я не могу просто проверить, например, env var SUDO_USER).

Как определить имя пользователя или его домашний каталог, который зарегистрирован в сеансе интерфейса пользователя?

Существует ли функция Какао, Фонд или CoreFoundation, которая может дать мне эту информацию?

1 Ответ

0 голосов
/ 13 апреля 2019

Похоже, что переменная среды "HOME" остается установленной для вошедшего в систему пользователя, даже для приложений, работающих под пользователем root. Итак, вот как получить домашнюю папку для этого пользователя:

NSString *homeDir = NSProcessInfo.processInfo.environment[@"HOME"];
...