1

我遇到了一个我以前从未见过并且无法准确解释的问题。我正在帮助某人在 RedHad 4.6 zLinux 上运行基于 perl 的安装,并且在 sudo 下运行似乎获取了系统 perl 而不是完全限定的 perl 可执行文件。

例子:

/my/perl/bin> ./perl -v == 5.8.8
/my/perl/bin> /my/perl/bin/perl -v == 5.8.8
/my/perl/bin> sudo /my/perl/bin/perl -v == 5.8.5????

即使我们完全限定了 perl 的路径,它在 sudo 下运行时仍然在抓取 /usr/bin/perl。不知道为什么,有大神知道吗?

4

3 回答 3

0

编辑你的 sudoers 配置:

sudo gedit /etc/sudoers

添加这一行

Defaults env_keep +=PATH

这类似于sudo -E但持久。

于 2012-01-04T09:06:19.233 回答
0

保护环境:

sudo -E /my/perl/bin/perl -v
于 2011-04-13T21:55:56.730 回答
0

检查您的 sudoers 文件是否设置了 secure_path 选项,如果是,那么这就是您的 PATH

Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

于 2017-03-03T17:14:57.853 回答