Ssh
通過 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.
我該如何解決這個問題?
問題是
perl @INC
包含dot
(目前目錄),但目前目錄(ssher 的主目錄)不能被 executor 訪問tester
,所以 perl 解釋器抱怨它。解決方法:問sudo use bash login session, ie,
sudo -i -u tester env PERL5LIB=/home/tester/perl5/lib/perl5 /home/tester/perl5/bin/testperl
那麼目前目錄就是tester的home目錄,並且確定他有權限訪問。