Чтобы включить графики ошибок в Bugzilla, вам нужно запустить collectstats.pl
как ночная работа cron. В руководстве есть раздел по настройке этого - добавить задание cron
5 0 * * * cd <your-bugzilla-directory> ; ./collectstats.pl
Однако он не говорит, от имени какого пользователя запускать его. Чтобы быть параноиком, мы запускаем это как пользователь apache, а не root, поскольку именно под этим фактически работает сама Bugzilla. Однако сейчас для нескольких версий Bugzilla's checksetup.pl
удаляет разрешения на запись в файлы под данными / при запуске, даже разрешения для группы apache, которая установлена как наша $webservicegroup
в localconfig. Затем задание collectstats пытается выполнить запись в data / mining / от имени пользователя apache и терпит неудачу, потому что его разрешения были удалены.
Это означает, что каждый раз, когда мы изменяем Bugzilla и запускаем checksetup, мы должны восстанавливать группу apache и записывать разрешения в каталог данных, например
cd data
chgrp -R apache *
chmod -R g+w bugzilla-update.xml mailer.testfile mining/ template/ webdot/ \
duplicates/
Так что мы делаем не так? Ожидается ли, что мы действительно будем запускать задание collectstats cron от имени пользователя root? Я предполагаю, что запускаю checksetup как root, поэтому я верю, что это не является вредоносным, но collectstats запускается с вводом данных пользователем, так что это не кажется правильным.
Спасибо. Не удалось найти ничего очевидного в Google. Запуск на CentOS 5.4, httpd 2.2.3, Bugzilla 3.4.x и 3.6.x из CVS в случае необходимости.
я получил ответ Макса Канат-Александра из bugzilla в их списке рассылки:
[запустите его] Лучше всего использовать root.
Я не уверен, что действительно покупаю это из соображений безопасности, как указано выше - он обрабатывает данные, предоставленные пользователем.
Еще одна идея, которую я исключил из списка, заключалась в том, чтобы не запускать checksetup.pl от имени пользователя root, чтобы он не мог удалить разрешения chown / chgrp. Я, вероятно, пойду с этим или буду придерживаться своего старого рабочего процесса (проверьте настройки как root, а затем запустите мой скрипт разрешений на исправление).
Продолжение: МКА ответила и на вторую идею:
Однако это может привести к небезопасным разрешениям, когда веб-сервер имеет возможность писать в то, что у него не должно быть возможности писать.
Вы также можете создать пользователя «bugzilla», сделать этого пользователя «bugzilla» членом группы Apache и запустить как checksetup.pl, так и collectstats.pl от имени пользователя «bugzilla». Это приводит к большим сложностям при настройке разрешений для других вещей (например, тогда jobqueue.pl также должен запускаться как «bugzilla», email_in.pl должен запускаться как «bugzilla» и т. Д.), Но если вы серьезно обеспокоен безопасностью работы с правами root, это еще один вариант (и намного лучше, чем запуск checksetup.pl от имени apache).