简体   繁体   English

无法为 sudo -u "user" 设置环境变量

[英]Not able to set environment variable for sudo -u "user"

I am at my wits end trying to figure this out When I execute the following command:当我执行以下命令时,我束手无策地试图弄清楚这一点:

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'

The output as follow output如下

[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.

But when I login to the user icinga using su - icinga但是当我使用su - icinga 登录到用户 icinga

And run并运行

'/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'

It works fine.它工作正常。

How do I setup environment variables when sudo - u icinga command is fired?触发 sudo - u icinga 命令时如何设置环境变量? I am on a SUSE linux我在 SUSE linux

I am kind of trying to setup a global environment variable just like the environment variable in icinga which can work across all commands executed on the server without have to use sudo -E etc because I cannot change the way icinga calls the plugin我有点尝试设置一个全局环境变量,就像 icinga 中的环境变量一样,它可以在服务器上执行的所有命令中工作,而不必使用 sudo -E 等,因为我无法更改 icinga 调用插件的方式

you need to run the db2profile when you sudo sudo 时需要运行 db2profile

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM