Предположим, у меня есть скрипт на perl (или python), который делает что-то очень секретное;Я бы только хотел, чтобы некоторые пользователи могли использовать сценарий.В настоящее время я получаю эту функциональность, поддерживая доступный только для чтения текстовый файл с именем allowedUsers.txt
и проверяя следующее:
my $username = `whoami`;
my %allowedUsers;
open ALLOWED_USERS, "allowedUsers.txt";
while(<ALLOWED_USERS>) {
$allowedUsers{$_} = 1;
}
if($allowedUsers{$username} != 1) {
die "Sorry, user $username does not have access.\n";
}
Это работает очень хорошо, однако, поскольку сценарий обязательно читается (иначе Perl сам поне сможет выполнить его), ничто не мешает людям просто сделать копию скрипта, закомментировать этот раздел кода, а затем запустить свою «взломанную» версию, чтобы обойти проверку личности!
Есть ли лучший способ добиться ограничения выполнения скриптов для подмножества пользователей?Например, могу ли я иметь Perl-код, который не читается, но каким-то образом исполняется всеми?