Назад | Перейти на главную страницу

Создание новых пользователей с использованием PHP, не распознаваемого Apache 2.4

У меня есть настройка сервера, где новые пользователи Linux создаются с использованием (PHP)

shell_exec ( '/usr/sbin/useradd ' . $username );
exec ('usermod -a -G ' . $username . ' '. $username); #add user into the usergroup
exec ('usermod -a -G ' . $username . ' www-data'); #add usergroup with the www-data

Затем пользовательский сценарий меняет владельца и группу файлов на этого владельца. Сервер настроен с помощью suPHP, который затем позволяет запускать эти файлы от имени владельца.

Эта установка отлично работала с Apache 2.2, но ломается в Apache 2.4. Все работает нормально, за исключением случаев, когда я пытаюсь открыть файлы, выдает ошибку 403 запрещено. Перезапуск apache после добавления пользователя устраняет проблему, но для меня это не жизнеспособное решение. Пользователи добавляются с помощью веб-сервера, и, следовательно, мне нужно иметь возможность делать это без необходимости каждый раз перезагружать / перезапускать apache.

Я искал несколько часов и пытался исправить проблему, но не смог! Я использую ubuntu 14.04, и я также не могу перейти на apache 2.2.

Каждый раз, когда вы добавляете себя в группу, вам необходимо выйти и снова войти в систему, чтобы изменения вступили в силу. То же самое происходит и здесь: перезапуск Apache позволяет ему «снова войти в систему» ​​и находиться в группе пользователя, что затем позволяет ему читать и обслуживать файлы пользователя.