Подтвердить что ты не робот

Получить apache linux пользователя из php

Я нахожусь в чужой Linux-системе и должен определить пользователя, на котором работает apache (а также php).

Цель: Мне нужно получить владельца script (это не проблема, поскольку я могу использовать SplFileInfo) и сравнить его с владельцем процесса apache.

Я открыт для любых альтернативных предложений.

С уважением, Марио

Изменить: Дополнительная информация:

script - генератор миниатюр, который использует файл XML для создания больших пальцев больших изображений. script необходимо создать папки и записать файлы. Поскольку я не могу влиять на конфигурацию php, и у меня нет доступа к оболочке, это нужно сделать очень тихо. Процесс создания останавливается через исключение и отправляет сообщение об ошибке. Поскольку большинство функций php не могут генерировать исключения при отказе, мне нужны некоторые ручные проверки для определения среды, в которой я находится. Поэтому мне нужно, чтобы пользователь apache сравнивал его с каким-то каталогом или файловым владельцем.

4b9b3361

Ответ 1

Вы можете вызвать функцию php exec для выполнения whoami:

<?php echo exec('whoami'); ?>

Ответ 2

см. posix_getuid() и posix_getpwuid()

Ответ 3

Некоторые сложные ответы здесь.

Это работает для меня:

$user = getenv('APACHE_RUN_USER');

Не уверен, что это просто новая вещь, которая была добавлена ​​в apache, так как этот вопрос задавался, но определенно там сейчас.

Ответ 4

phpinfo сбрасывает много системной информации. Для установки apache2 существует раздел, в котором отображаются идентификаторы пользователя и группы apache. Попробуйте создать PHP скрипт, который имеет только одну строку, вызов phpinfo() и открытие его в вашем веб-браузере.