【发布时间】:2016-01-13 15:15:56
【问题描述】:
目标:在带有 perl 版本 5.8.4 的 Solaris 10 机器上预注入 Perl 的 @INC 数组,这应该在 any 调用 perl 的方式! 这包括 ssh 非交互式登录...
这样的话:
ssh my.solaris.10.box 'perl -MSpecialModule -le "print qq/Powerball!\n/"'
有效且不丢Can't locate SpecialModule.pm in @INC (@INC contains: /usr/perl5/5.8.4/lib/i86pc-solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/i86pc-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/5.8.4/i86pc-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl .).
BEGIN failed--compilation aborted.的态度
到目前为止,我尝试添加PERLLIB=/path/to/always/include/in/INC:
/etc/environment/etc/default/init-
/etc/bash.bashrc作为ssh my.solaris.10.box 'echo $SHELL'给我SHELL=/bin/bash -
特定用户的
~/.ssh/environment,如ssh privuser@my.solaris.10.box
现在,/etc/profile 有效,但只有 如果我确实登录了该框...出于我的目的,我希望以非交互方式使用 ssh 执行。 p>
我不是系统管理员,但我只是分享以下内容:
grep -i pam /etc/ssh/sshd_config | grep -v '^#'
PAMAuthenticationViaKBDInt yes
添加UsePAM yes 并没有成功。
任何其他建议,/etc/default/init 是否需要重新启动?否则,/etc/environment 可以卖给我所有的 Linux Red Heads...
我该怎么做才能让/etc/environment 在 Solaris 10 上工作?
【问题讨论】:
-
Solaris 默认没有可插入的身份验证模块
pam_env.so,我不确定它是否可以作为附加组件使用。 RedHat 和 Linux 一般都带有pam_env.so,默认使用/etc/environment。 -
可能是,让我想更多地研究 PAM,但是,
~/.ssh/environment也不起作用,这让我想知道它是否暗示了一些我不知道的简单的东西'不知道 -
为 /usr/bin/perl 安装一个包装器是典型的方法。但是,这具有 XY 问题的所有标记:meta.stackexchange.com/questions/66377/what-is-the-xy-problem
-
实际上,就我而言,我想要 X 和 Y :) 是的,为了解决我的 INC 问题本身,perl-wrapper (尽管我不喜欢它)会做这项工作。但是,我还希望通过 ssh 以非交互方式调用其他 shell 脚本,我想理所当然地认为某些变量总是根据每个特定主机设置。它适用于我所有的 Red Hat ... 仅适用于 Solaris 10,它不能
-
或者让我们问一个更简单直接到ssh的问题,为什么
~/.ssh/environment在Solaris 10上不加载?
标签: perl unix ssh environment-variables