Мнения: я хочу запретить прямой вызов определенных скриптов, функциональность которых доступна из меню через Интернет на уровне ОС (Linux).
Я надеялся вызвать сценарий authorize.pl, который проверяет действительность сеанса, проверяет права пользователя и т. д. Затем он перенаправит на целевой сценарий.
Обходит ли это разрешения? Могу ли я ограничить выполнение целевых скриптов из общедоступных, но установить целевые скрипты, доступные для группы, к которой принадлежит authorize.pl? Отражает ли это текущую практику?

Если вы планируете перенаправить на целевые сценарии, к которым принадлежит группа authorize.pl, не имеет значения, сценарии должны выполняться пользователем веб-сервера.
Почему вы хотите сделать это на уровне ОС? Стандартной практикой является использование простой старой авторизации на основе сеансов, когда проверка выполняется в каждом скрипте.
Вместо вызова authorize.pl и перенаправления на цель создайте модуль с именем Authorization.pm и используйте его в каждом скрипте, вызывая в первую очередь функцию проверки. Эта функция будет перенаправлять на страницу входа (или предпринять другое соответствующее действие), если правильные учетные данные отсутствуют.
Что-то вроде
use Authorize qw{validate}; #Your module
use CGI::Session;
use strict;
use warnings;
my $sess = new CGI::Session();
validate($sess->param('user_token'));
#Unreachable code if session is empty or invalid
#Rest of the code ...
Мы думали (1) мы можем предварительно скомпилировать скрипт авторизации для ускорения, (2) мы можем оптом блокировать запросы скриптов с функцией базы данных для повышения безопасности. Но я понимаю, что вы говорите, разрешения должны быть установлены на User Execute, чтобы сценарий взаимодействовал с клиентом: когда перенаправление местоположения печатается для пользователя путем авторизации, браузер клиента запрашивает целевой сценарий.
Весь этот подход пахнет преждевременной оптимизацией как с точки зрения производительности, так и безопасности. Вы можете вызывать функции базы данных из исходного сценария, вы также можете использовать безопасность веб-сервера для блокировки диапазонов IP-адресов или других критериев (стоит обратить внимание на Apache mod_security) и т. д.
(1) Мы могли бы скомпилировать скрипт авторизации для скорости, (2) мы могли бы блокировать запросы скриптов оптом с функцией базы данных для повышения безопасности. Но я вижу: когда местоположение печатается пользователю при авторизации, браузер запрашивает целевой скрипт.