Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 无法为sudo-u“设置环境变量;“用户”;_Linux_Db2_Environment Variables_Sudo_Db2 Luw - Fatal编程技术网

Linux 无法为sudo-u“设置环境变量;“用户”;

Linux 无法为sudo-u“设置环境变量;“用户”;,linux,db2,environment-variables,sudo,db2-luw,Linux,Db2,Environment Variables,Sudo,Db2 Luw,我绞尽脑汁想弄明白这件事 当我执行以下命令时: sudo -u icinga '/usr/lib//nagios/plugins/check_db2_health' '--database' 'mydatabase' '--environment' 'DB2DIR=/opt/IBM/db2/V11.1.4fp5a' '--environment' 'DB2INSTANCE=mydatabase' '--environment' 'INSTHOME=/srv/db2/home/mydatabase

我绞尽脑汁想弄明白这件事 当我执行以下命令时:

sudo -u icinga '/usr/lib//nagios/plugins/check_db2_health' '--database' 'mydatabase' '--environment' 'DB2DIR=/opt/IBM/db2/V11.1.4fp5a' '--environment' 'DB2INSTANCE=mydatabase' '--environment' 'INSTHOME=/srv/db2/home/mydatabase' '--report' 'short' '--username' 'icinga' '--mode' 'connection-time' '--warning' '50'
输出如下

[DBinstance : mydatabase] Status : CRITICAL - cannot connect to mydatabase. install_driver(DB2) failed: Can't load '/usr/lib/nagios/plugins/PerlLib/lib/perl5/site_perl/5.18.2/x86_64-linux-thread-multi/auto/DBD/DB2/DB2.so' for module DBD::DB2: libdb2.so.1: cannot open shared object file: No such file or directory at /usr/lib/perl5/5.18.2/x86_64-linux-thread-multi/DynaLoader.pm line 190.
 at (eval 10) line 3.
Compilation failed in require at (eval 10) line 3.
Perhaps a required shared library or dll isn't installed where expected
 at /usr/lib//nagios/plugins/check_db2_health line 2627.
但是当我使用su-icinga登录到用户icinga时

'/usr/lib//nagios/plugins/check_db2_health' '--database' 'mydatabase' '--environment' 'DB2DIR=/opt/IBM/db2/V11.1.4fp5a' '--environment' 'DB2INSTANCE=mydatabase' '--environment' 'INSTHOME=/srv/db2/home/mydatabase' '--report' 'short' '--username' 'icinga' '--mode' 'connection-time' '--warning' '50'
它很好用

当启动sudo-u icinga命令时,如何设置环境变量? 我使用的是SUSE linux


我正在尝试设置一个全局环境变量,就像icinga中的环境变量一样,它可以跨服务器上执行的所有命令工作,而不必使用sudo-E等,因为我无法更改icinga调用插件的方式。当您执行sudo时,您需要运行db2profile


sudo-u icinga sqllib/db2profile;'/usr/lib//nagios/plugins/check_db2_health'…

对于
setenv
选项,sudoers文件中有什么?哪个安全策略插件(如果有的话)处于活动状态?@mao你能告诉我要检查什么吗?你可能想设置
LD\u LIBRARY\u PATH
以允许你的脚本查找Db2库。或者尝试
sudo-i-u…
,或者将
检查Db2\u健康状况
更改为在正确的shell启动脚本或db2profile中加点。