命令:
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
那么当前目录将是测试人员的主目录,并确保他有权限访问它。