通过 sudo 执行 perl 时权限被拒绝

通过 sudo 执行 perl 时权限被拒绝

命令: ssh user@testhost "sudo -u tester env PERL5LIB=/home/tester/perl5/lib/perl5 /home/tester/perl5/bin/testperl"

结果: Can't locate testperl.pm: Permission denied at /home/mogile/perl5/bin/testperl line 15.

我该如何解决这个问题?

答案1

问题是perl @INC包含dot(当前目录),但是执行器无法访问当前目录(ssher 的主目录)tester,因此 perl 解释器对此发出抱怨。

解决方案:要求 sudo 使用 bash 登录会话,即,sudo -i -u tester env PERL5LIB=/home/tester/perl5/lib/perl5 /home/tester/perl5/bin/testperl那么当前目录将是测试人员的主目录,并确保他有权限访问它。

相关内容