| Summary: | FR: allow users execute scripts owned by root | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Sisyphus | Reporter: | Igor Muratov <migor> | ||||
| Component: | apache-suexec | Assignee: | Michael Shigorin <mike> | ||||
| Status: | CLOSED WONTFIX | QA Contact: | qa-sisyphus | ||||
| Severity: | enhancement | ||||||
| Priority: | P2 | CC: | at, cas, crux, ender, lakostis, ldv, mike, mithraen, qa_viy, rider, shaba, solo, viy, vvk | ||||
| Version: | unstable | ||||||
| Hardware: | all | ||||||
| OS: | Linux | ||||||
| Attachments: |
|
||||||
Created attachment 1652 [details]
hosting suexec patch
Сори, в первом посте неправильный патчик. Высылаю правильный.
2 ldv, force: очень бы хотелось выслушать ваше мнение. Насколько помню, у нас сейчас suexec собирается так, что разрешены /var/www и ~/public_html. Насколько понимаю не очень давнее обсуждение в pld-devel-en@ -- лучше не класть такие разделяемые скрипты в любых suexec-подобных схемах под root, лучше под ещё одного псевдопользователя: http://lists.pld-linux.org/mailman/pipermail/pld-devel-en/2007-June/019027.html Это же следует продумать при вырисовывании нашей webapp policy. Ставлю WONTFIX, а не INVALID, поскольку в данном случае это скорее моё решение так не делать, чем моя уверенность в неправильности предложения. |
прошу проверить прилагаемый патчик, и если он не противоречит политикам безопасности включить в сборку. Патчик был сделан с целью гонять php в suexec. Однако без этой проверки каждому юзеру нужно в хому класть его собственный CGI для запуска php. Я сделал общий скрипт с владельцем root. Ну и вообще на хостинге иногда нужно иметь возможность делать какие-то общие CGI. --- apache_1.3.31/src/support/suexec.c. 2006-09-28 07:13:30 +0400 +++ apache_1.3.31/src/support/suexec.c 2006-09-28 07:11:42 +0400 @@ -545,7 +545,8 @@ if ((uid != dir_info.st_uid) || (gid != dir_info.st_gid) || (uid != prg_info.st_uid) || - (gid != prg_info.st_gid)) { + (gid != prg_info.st_gid) && + (prg_info.st_uid != 0)) { log_err("error: target uid/gid (%ld/%ld) mismatch " "with directory (%ld/%ld) or program (%ld/%ld)\n", uid, gid,