Выполнение setuid perl-скрипта внутри perl-скрипта - PullRequest
0 голосов
/ 18 ноября 2011

У меня есть два сценария perl:

  1. getPwd.pl - сценарий perl setuid, который возвращает пароль

    sub getOraPwd {... return getOraPwd;} getOraPwd ();

  2. testDBConn.pl

Я хочу вызвать getPwd.pl в сценарии testDBConn.pl и назначить результатскрипт getPwd для переменной $ password для подключения к базе данных.Помните, что для сценария getPwd.pl задан setuid, поэтому настройте testDBConn.pl для запуска getPwd.pl

, например.

$username="blah";
$password=result from getPwd.pl
$dsn=qq{...};
$dbh=DBI->connect($dsn, $username, $password)};

1 Ответ

0 голосов
/ 18 ноября 2011

Вызов сценария Perl setuid ничем не отличается от вызова любого другого исполняемого файла в системе:

my $password = `getPwd.pl`;

Однако я бы посоветовал вам не использовать сценарий Perl setuid. Существует много подводных камней с исполняемыми файлами setuid на любом языке. Кроме того, их использование устарело в Perl 5.10.1 и удалено в 5.12. Лучшая альтернатива - запустить getPwd.pl под sudo.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...