0

我有两个 perl 脚本:

  1. getPwd.pl - 返回密码的 setuid perl 脚本

    子 getOraPwd{ ... 返回 getOraPwd; } getOraPwd();

  2. testDBConn.pl

我想在 testDBConn.pl 脚本中调用 getPwd.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)};
4

1 回答 1

0

调用 setuid Perl 脚本与调用系统上的任何其他可执行文件没有什么不同:

my $password = `getPwd.pl`;

但是,我建议您不要使用 setuid Perl 脚本。任何语言的 setuid 可执行文件都有很多缺陷。此外,在 Perl 5.10.1 中不推荐使用它们,并在 5.12 中删除。更好的选择是getPwd.plsudo.

于 2011-11-18T17:11:33.727 回答