Perl-скрипты не могут быть запущены с псевдонима

Я создал следующий псевдоним в httpd.conf:

alias /aliasedfolder /some/location/on/the/server/folder
<Location /aliasedfolder>
  AddHandler cgi-script .pl
  Options +FollowSymLinks +ExecCGI
  Order allow,deny
  Allow from all
  AllowOverride None
</Location>

Проблема в том, что я могу просматривать изображения в "aliasedfolder", но я получаю сообщение об ошибке "файл не существует", когда я запускаю там скрипт perl, например /aliasedfolder/script.pl.

Физический Perl-скрипт существует в папке "/some/location/on/the/server/".

Я убедился, что сценарий имеет разрешение 755.

Ниже приведено содержимое сценария Perl:

#!/usr/bin/perl
use CGI qw/:standard/;
print "Content-type:text/html;\n\n";
print "Hello world";
1;

В чем проблема?

2 ответа

Проверив владение папкой / some / location / on / the server/, я обнаружил, что владельцем является "корневое" имя пользователя, в то время как я пытался получить доступ к папке через учетную запись (имя домена) в Apache, которая имеет другое имя пользователя, например, domain.com/aliasedfolder/script.pl

Механизм suexec предотвращает это как функцию безопасности. Итак, я изменил владельца папки / some / location / on / the / server/ и файла script.pl внутри нее с "root" на имя пользователя и группу моей учетной записи, и теперь он работает.

Это предотвратит доступ других файлов, указывающих на мой сервер, к этому файлу (script.pl), так как suexec запрещает совместное использование одного файла несколькими доменами (которые имеют разные имена пользователей).

Я могу полностью отключить механизм suexec, но мне посоветовали этого не делать из соображений безопасности.

Спасибо всем, кто пытался помочь.

Вы пытались использовать

<Directory "/some/location/on/the/server/folder" >
    AddHandler cgi-script .pl
    ....
    AllowOverride None
</Directory>

Также вы используете какие-либо меры безопасности, такие как suExec или SELinux, если у вас есть дополнительные владельцы и расширенные атрибуты, необходимые для ваших скриптов.

Другие вопросы по тегам