Концепция для PHP контролируемой, привилегированных (для cPanel и подделки на Ubuntu сервер)


Я думал о создании Ф/ОСС как cPanel для сервера Ubuntu, начиная с Ubuntu такого нет, и пока что делает его легким для хостинговой компании, чтобы использовать это, где пользователи смогут найти его просто как удобный как cPanel.

Беда в том, что PHP веб-страницы на Ubuntu запуск ВСП-данных, и много старших РНР ребята, рекомендую не работает PHP-страницы в корень, а не раскошеливаться и бежать баш скрипт, который может иметь липкий бит, нанесенного на ее разрешения. Они говорят , что способ хакнут.

Тогда это рассветало на мне, как обойти это. Сделать баш скрипт демона в/etc/инит.д , что часы именованного канала связи, сидя в петле. Петля будет висеть, но это совершенно нормально, потому что это будет в фоновом режиме, и в некотором смысле это означает, что скрипт находится в состоянии покоя и не впитывая циклов процессора. Это круто! Это конечно лучше, чем цикл сна, а значит, процесс только просыпается, когда есть то, что должно быть обработано. Техника цикл сна, с другой стороны, может быть проверкой для PHP коммуникации, когда там не может быть любой, и поэтому спать петли впитывает ненужные процессора. Вот почему мне нравятся трубы-ждите-цикл стратегия.

Так, тогда все PHP-страницы должен сделать, это сделать нормальный файл ввода/вывода, Как в/tmp/трубы (труб, например) и баш скрипт фоновый процесс будет просыпаться из спячки в том, что петли, и выполнить команду как root. Это может выглядеть в базе данных на новые вещи, он должен делать, и затем делать эти задачи. Когда это сделано, он может возвращать значения в базу данных и PHP-страницы могут ждать в себя jQuery/цикл "Аякса", пока не получит ответ.

Потому что PHP-страницы, фактически не образуют корневой команды, которые он должен выполнить, и просто пишет какие-то записи в таблице базы данных, и посылает строку "Выполнить" к трубе, он смело передает запрос к безопасному демон в фоновом режиме.

Что вы думаете об этой методике МЛО? Хорошо? Плохо?

Кстати, мой демо каталог/usr на/sbin/ФОО команды выглядит следующим образом. Его дело в том, чтобы продемонстрировать, что в/tmp/фу-был-здесь был создан пользователь root учетной записи, вызванные PHP-страницы. Это только начало чего-то большего.

#!/bin/bash

if [ ! -f /tmp/foo ]; then
    mkfifo /tmp/foo
fi

while true; do
    cat /tmp/foo;
    touch '/tmp/foo-was-here';
done


345
2
задан 7 июня 2011 в 05:06 Источник Поделиться
Комментарии
1 ответ

Я бы сказала: Беги в gearman демон как правильный пользователь, и установить некоторые gearman работников льготных потребителей с кем-то вроде supervisord. Оба находятся в пакетах Debian, поэтому я предполагаю, что они будут в Ubuntu пакеты тоже....

Не установить gearman с максимальным количеством попыток, или вы могли бы столкнуться с проблемой отравить сообщение.

2
ответ дан 8 июня 2011 в 12:06 Источник Поделиться