mod_cgi делает неполную проверку возможности запуска cgi-приложения. Проверка успешна только если: 1. файл принадлежит пользователю или группе apache и выставлен соотвествующий бит запуска. 2. файл имеет бит - запуск для всех. Т.о. если возможность запуска файла для пользователя или группы apache выставлена при помощи ACL (на фс, поддерживающих posix acl) или пользователь apache включён в группу-владельца файла, то apache не будет производить запуск cgi-приложения и укажет ошибку: "file permissions deny server execution". Это предположительно связано с повышением уровня безопасности, но для тех кто знает, что ему нужно, было бы полезно, чтобы apache вёл себя в соотвествии с нормальными правилами запуска. Предлагается сей патч (источник: http://archive.apache.org/gnats/5033) ----------------------------------------------------------- diff -Nur apache_1.3.31.orig/src/modules/standard/mod_cgi.c apache_1.3.31/src/modules/standard/mod_cgi.c --- apache_1.3.31.orig/src/modules/standard/mod_cgi.c 2004-08-12 15:55:52 +0400 +++ apache_1.3.31/src/modules/standard/mod_cgi.c 2004-08-13 09:59:45 +0400 @@ -382,9 +382,20 @@ return log_scripterror(r, conf, FORBIDDEN, APLOG_NOERRNO, "attempt to invoke directory as script"); if (!ap_suexec_enabled) { +#ifndef ACL_SUPPORT if (!ap_can_exec(&r->finfo)) return log_scripterror(r, conf, FORBIDDEN, APLOG_NOERRNO, "file permissions deny server execution"); +#else + if(access(r->filename, X_OK)) { + if (errno == EACCES) + return log_scripterror(r, conf, FORBIDDEN, APLOG_NOERRNO, + "file permissions deny server execution"); + else + return log_scripterror(r, conf, SERVER_ERROR, APLOG_NOERRNO, + "system error checking execute access"); + } +#endif } if ((retval = ap_setup_client_block(r, REQUEST_CHUNKED_ERROR))) ----------------------------------------------------------- Т.о. если при сборке apache добавить в CPFLAGS пункт "-DACL_SUPPORT", то получим полноценную проверку возможности запуска, такую же как производит сама ОС. Предлагаю добавить в спек apache возможность сборки с таким патчем (типа --with acl_support или что-то в таком духе).
Приложу после выхода ALM2.4, сперва в Daedalus, возможно.
Так и сделано в 1.3.33rusPL30.20-alt3.
Ещё раз тебе спасибо за всё.