Возможно вы искали: 'Musiic Party: Rock the...'

May 15 2025 19:09:03
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Установка PHP как CGI работающий под suEXEC (apache suexec php cgi security limit)

Установка PHP как CGI работающий под suEXEC (apache suexec php cgi security limit)

Ключевые слова: apache, suexec, php, cgi, security, limit, (найти похожие документы)

From: Малик Абдугалыев <malik@elcat.kg>
Date: Mon, 24 Jul 2004 18:21:07 +0000 (UTC)
Subject: Установка PHP как CGI работающий под suEXEC

Оригинал: http://malik.elcat.kg/apache-suexec-php.shtml


Установка Apache, suEXEC и PHP как CGI

Версии софта:
- apache_1.3.27rusPL30.16
- php-4.2.3

Проблема
--------

Апач запускается от имени www:www, также запускаются и скрипты
клиентов. Это приводит к тому, что скрипт клиента не имеет прав
создавать и изменять файлы в своей же домашней папке. Поэтому
приходилось создавать папки/файлы с правами записи для всех или с
владельцем www. Такая же проблема и с PHP скритами, т.к. mod_perl4,
вкомпилённый в апач работает от его же владельца.

Другая проблема - доступность системных файлов и файлов других
клиентов из CGI и PHP скриптов. Многие системные файлы можно прочитать
простейшим скриптом, т.к. они доступны для чтения всем. Все файлы
клиентов доступны для чтения другим клиентам, но кроме этого для
изменения доступны те файлы/папки, которым мы сами и назначили
соответствующие права, чтобы клиент мог работать с ними из своих
скриптов.


Решение
-------

suEXEC позволяет запускать скрипты от имени владельца сайта и
соответственно создавать/менять файлы, принадлежащие ему. Поэтому нет
необходимости назначать право записи группе и тем более всем. К
сожалению проблема с чтением чужих файлов остаётся. Насколько я понял
её можно решить только с помощью виртуальных машин jail для каждого
виртуального хоста (сайта) причём с индивидуальными IP-адресами,
деревом необходимых файлов и библиотек и фиг его знает ещё чем.

Запуск PHP как CGI, а не как модуль Апача решает проблему и с PHP,
т.к. он запускается через suEXEC, такой метод немного усложняет
настройку для нас, но для клиентов проблем не добавляет. Включение
safe_mode для PHP-интерпретатора позволяет исключить чтение/изменение
файлов, не принадлежащих клиенту.

Установка и настройка

1. в папке с исходниками php сделал:
./configure
--with-gd=/usr/local
--with-ttf=yes
--with-gettext
--with-zlib=/usr
--enable-force-cgi-redirect
make
make install

2. в папке с апачем сделал:
./configure
--enable-suexec
--suexec-docroot=/usr/local/apache/htdocs
--suexec-userdir=/usr/local/apache/htdocs
--suexec-logfile=/usr/local/apache/logs/suexec.log
--suexec-caller=www
make
make install

В конфиге Апача надо, по меньшей мере, поменять параметры:
User www
Group www

Пример настройки виртуального хоста:

User pupkin
Group webusers
ServerAdmin admin@pupkin.elcat.kg
DocumentRoot /usr/local/apache/htdocs/pupkin
ServerName pupkin.elcat.kg
ScriptAlias /cgi-bin/ "/usr/local/apache/htdocs/pupkin/cgi-bin/"
AddType application/x-httpd-php .php .php3
Action application/x-httpd-php /cgi-bin/php
DirectoryIndex index.php index.shtml

Содержимое cgi-bin:

/usr/local/apache/htdocs/pupkin/cgi-bin > ls -l
total 3437
-rwxr-xr-x 1 pupkin webusers 3468792 27 апр 15:56 php
-rw-r--r-- 1 pupkin webusers 37862 27 апр 15:57 php.ini



Обязательные условия при заведении новых клиентов
-------------------------------------------------

Общие

Пользователей для веба заводить только в соответствующую группу,
например webusers. Эта группа указана в файле /etc/ftpchroot, чтобы по
фтп не могли подняться выше своей домашней папки. Кому надо,
выставлять квоты командой:
edquota -u username

Домашние папки клиентов должны принадлежать им и группе webusers,
права на запись должны быть только у владельца, но не у группы и тем
более не у всех.


Для suEXEC

Домашние папки пользователей должны быть только в каталоге
'/usr/local/apache/htdocs'. Т.к. только для скриптов из этой папки
(рекурсивно) действует suEXEC.

И скрипты, и папка cgi-bin должны принадлежать клиенту.

При настройке виртуального хоста в Апаче, кроме обычных, указать
параметры:
User user_name
Group webusers

Например:
User pupkin
Group webusers
DocumentRoot /usr/local/apache/htdocs/pupkin
ServerName pupkin.elcat.kg
...

Логи, касающиеся suEXEC, пишутся в файл '/usr/local/apache/logs/suexec.log'.


Для PHP

Для каждого клиента, которому нужен PHP, в конфиге виртуального хоста
указать следующие строки:
ScriptAlias /cgi-bin/ "/usr/local/apache/htdocs/pupkin/cgi-bin/"
AddType application/x-httpd-php .php .php3
Action application/x-httpd-php /cgi-bin/php

Эти строчки указывают Апачу при обращении к файлам с расширением .php
или .php3 отдавать их интерпретатору /cgi-bin/php. Вызов же
интерпретатора напрямую из строки URL запрещён при компиляции PHP
параметром "--enable-force-cgi-redirect".

В папку cgi-bin положить интерпретатор PHP и конфиг для него php.ini,
причём и папка и интерпретатор должны принадлежать самому клиенту, а
иметь возможность редактировать конфиг он не должен, т.е. конфиг
должен принадлежать root-у.

В файле php.ini нужно по меньшей мере включить безопасный режим -
"safe_mode = On".

Ко всему прочему мы можем включать безопасный режим не для всех сайтов
сразу, как было при mod_php, например можно выключить безопасный режим
для некоторых служебных сайтов.


Заключение
----------

Осталась только проблема с доступом к чужим файлам из CGI-скриптов
клиентов.

Вроде всё, надеюсь возникшие проблемы можно будет решить.

_________________________________________________________________
Дополнение

Проблему с чтением файлов других пользователей при помощи CGI-скриптов
можно решить при помощи правильно выставленных прав. Схема простая -
каждый пользователь входит в свою группу (например pupkin:pupkin и
vasya:vasya), пользователь, от имени которого запускается Апач, также
имеет свою группу (например www:www), все файлы доступны для
редактирования только владельцам, а для чтения - только группе,
остальным - ничего (640).

Для того, чтобы Апач смог прочитать файлы пользователей он должен
входить в каждую группу, вот пример из /etc/group:
pupkin:*:1001:www
vasya:*:1002:www

Чтобы при создании файла права сразу присваивались какие нам надо в
данном случае, можно поменять значение параметра umask в файле
/etc/login.conf. По-умолчанию umask=022 и значит созданные файлы будут
доступны для чтения всем, а если это папка, то ещё и будет право на
запуск для всех. Мы можем поменять это значение на 027 и никто кроме
владельца и группы не будут иметь прав на чтение созданного файла.
Только не забудьте запустить команду "cap_mkdb /etc/login.conf". Маска
применяется к правам с помощью операции логического умножения с
отрицанием.

Малик /20040112/
773 Прочтений •  [Установка PHP как CGI работающий под suEXEC (apache suexec php cgi security limit)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Установка PHP как CGI работающий по... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка