@Yumashka
Динозавр

От имени кого выполняются скрипты PHP?

Мне всегда думалось, что только только процесс, запущенный от root, может без лишних телодвижений сменить себе uid на любого другого через системный вызов setuid. Ну то есть, если у запускаемого файла не установлен бит suid.

Но читаю я в "Hardening Wordpress" следующее: "When you tell WordPress to perform an automatic update, all file operations are performed as the user that owns the files, not as the web server’s user."

Это как? Сервис apache изначально запускается от root, меняет себя на www-data и дальше так работает от www-data. Он разве может сменить себе uid с www-data на любой другой?

PS. suexec не используется;
PPS. основные файлы/каталоги WP (разу уж про него речь зашла) имеют владельца wwwuser:www-data и права 0640/0750;
PPPS. никаких suid битов я никому не выставлял.
  • Вопрос задан
  • 182 просмотра
Решения вопроса 1
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
Вы всё правильно понимаете, и если PHP скрипты исполняются Apache, а тот в свою очередь запущен от пользователя www-data то в плане разграничения прав всё будет работать ровно так как и ожидается. Если www-data не имеет флага suid то и повысить права или сменить пользователя скрипты не смогут.
Есть разбор этого вопроса на SO https://wordpress.stackexchange.com/questions/3787...
Если коротко, то приведённая цитата из "Hardening Wordpress" некорректна и вводит в заблуждение.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы