Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在perl脚本中执行setuid perl脚本_Perl_Setuid - Fatal编程技术网

在perl脚本中执行setuid perl脚本

在perl脚本中执行setuid perl脚本,perl,setuid,Perl,Setuid,我有两个perl脚本: getPwd.pl-返回密码的setuid perl脚本 子getOraPwd{ ... 返回getOraPwd; } getOraPwd() testDBConn.pl 我想在testDBConn.pl脚本中调用getPwd.pl,并将getPwd脚本的结果分配给$password变量以连接到数据库。记住getPwd.pl脚本是setuid,因此设置testDBConn.pl来运行getPwd.pl 例如 调用setuid Perl脚本与调用系统上的任何其他可执行文件没

我有两个perl脚本:

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

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

  • testDBConn.pl

  • 我想在testDBConn.pl脚本中调用getPwd.pl,并将getPwd脚本的结果分配给$password变量以连接到数据库。记住getPwd.pl脚本是setuid,因此设置testDBConn.pl来运行getPwd.pl

    例如


    调用setuid Perl脚本与调用系统上的任何其他可执行文件没有区别:

    my $password = `getPwd.pl`;
    

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

    下运行
    getPwd.pl
    ,那么,您的问题是什么?谢谢。你介意详细介绍一下sudo吗?安装起来有多容易?需要编辑的内容,等等@user621092——如果你有任何现代Linux发行版,几乎可以肯定你已经有了sudo。配置文件是
    /etc/sudoers
    。您希望能够在没有密码的情况下运行
    sudo getPwd.pl
    。我不记得我脑子里需要的所有配置,但是
    mansudoers
    和谷歌应该会帮你解决剩下的问题。
    my $password = `getPwd.pl`;