2014-12-18 8 views
0

В Ubuntu есть демон, выполняемый как пользователь root. Я должен знать имя пользователя входа или uid для демона.Как сообщить об этом текущему имени пользователя

Хотя я искал и проверял команду или функцию как whoami, кто я и geteuid, я не получил результата, чего хочу.

Может ли кто-нибудь сообщить мне решение?

+0

не должен работать выскочку как корень? – frlan

+1

Ваш вопрос непонятен. Вы хотите узнать пользователя, который запускает демон? – mikea

+1

Ваш вопрос не так понятен. Если вы хотите знать, кто работает, то вы можете попробовать 'ps -aux | grep process_name'. – Thushi

ответ

1

В то время, когда запускаются сценарии запуска, пользователи не вошли в систему.

Как правило, демоны запускаются root, но иногда они используют выделенный идентификатор пользователя либо потому, что программное обеспечение написано именно так, либо потому, что сценарии запуска устанавливают их таким образом. Например, на дистрибутивах на основе Debian веб-сервер работает как www-data, так что, если кто-то каким-то образом взломает веб-сервер, у них будет очень ограниченный доступ к системе. Но как именно это настроено, зависит от того, какой демон и как выглядит его сценарий запуска и конфигурация.

Если это ваш собственный демон, и вы его не пишете или не настраиваете для переключения идентификаторов пользователей, он будет работать как root.

Если ваш демон является своего рода сервером, и он должен знать во время выполнения, к которому подключается клиент (вам действительно нужно перефразировать ваш вопрос, но), это в основном функция того, как клиент подключается к серверу, а не того, как сервер запущен.

0

Небольшой сценарий, как это может решить вашу проблему

echo "uid is ${UID}" 
echo "username is ${USERNAME}" 
Смежные вопросы