У меня apache httpd 2.2 работает от имени пользователя apache. Однако любые файлы, которые он создает, никому не принадлежат. Кроме того, он может получить доступ только к тем вещам, которые доступны пользователю «никто». Кажется, что apache работает как «никто», но приведенные ниже параметры config и ps указывают на обратное. В чем дело?
Из httpd.conf:
User apache
Group apache
процессы apache:
# ps aux | grep http
root 380 0.0 0.0 61216 744 pts/0 S+ 16:24 0:00 grep http
root 22077 0.0 0.2 266644 8292 ? Ss 10:22 0:00 /usr/sbin/httpd -k start
apache 22099 0.0 0.1 266776 5980 ? S 10:22 0:00 /usr/sbin/httpd -k start
apache 22100 0.0 0.1 267048 6172 ? S 10:22 0:00 /usr/sbin/httpd -k start
apache 22101 0.0 0.1 266776 5972 ? S 10:22 0:00 /usr/sbin/httpd -k start
apache 22102 0.0 0.1 266912 6028 ? S 10:22 0:00 /usr/sbin/httpd -k start
apache 22103 0.0 0.1 266776 5964 ? S 10:22 0:00 /usr/sbin/httpd -k start
apache 22104 0.0 0.1 266776 5976 ? S 10:22 0:00 /usr/sbin/httpd -k start
apache 22105 0.0 0.1 266908 6040 ? S 10:22 0:00 /usr/sbin/httpd -k start
apache 22106 0.0 0.1 266776 5960 ? S 10:22 0:00 /usr/sbin/httpd -k start
apache 23153 0.0 0.1 266776 5976 ? S 11:01 0:00 /usr/sbin/httpd -k start
apache 23498 0.0 0.1 266912 6104 ? S 11:13 0:00 /usr/sbin/httpd -k start
apache 25717 0.0 0.1 266776 5940 ? S 12:40 0:00 /usr/sbin/httpd -k start
Это предполагаемое поведение в Passenger.
Видеть Вот:
Приложение Rails запускается как владелец файла config / environment.rb, а приложение Rack запускается как владелец файла config.ru. Итак, если /home/webapps/foo/config/environment.rb принадлежит joe, тогда Phusion Passenger также запустит соответствующее приложение Rails от имени joe.
Чтобы остановить такое поведение и получить apache
палка, набор PassengerUserSwitching off
.