在perl脚本中执行setuid perl脚本
我有两个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脚本与调用系统上的任何其他可执行文件没
调用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`;