Ssh

通過 sudo 執行 perl 時權限被拒絕

  • September 23, 2016

命令: 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目錄,並且確定他有權限訪問。

引用自:https://serverfault.com/questions/804409