首页 > 解决方案 > 设置和访问 rundeck 使用的环境变量

问题描述

我在 Ubuntu 16.04.4 LTS 服务器上安装了 Rundeck 2.10.6-1,并且想为 rundeck 设置环境变量。Rundeck 本身运行正常。

我可以在 /etc/environment 中设置环境变量以实现系统范围的可用性,但我希望它们只能由 rundeck 会话访问。其中之一是 SQLCMDPASSWORD,一个纯文本密码,由 SQLCMD 使用,所以我想要更严格的访问。我们最终也将这种方法用于 PSQL。

我将 rundeck $HOME 目录标识为 /var/lib/rundeck,并将 $USER 名称确认为“rundeck”。

我发现向该目录中的 .bashrc、.bash_profile 或 .profile 添加环境变量并没有被“rundeck”使用,这与仅执行“printenv”的命令行作业确认。当以“rundeck”身份登录服务器时,我看到了变量。

我将这些设置在正确的位置吗?

标签: environment-variablesubuntu-16.04rundeck

解决方案


所以,不,这些变量没有设置在正确的位置。这就是为什么...

这个问题这个问题的答案中有一些线索,但都不够。应用程序在其配置文件中设置了环境变量,对于 rundeck 来说

$ more /etc/rundeck/profile

第二条线索来自该文件的开头,松散地引用,表明

注意:请勿修改此文件。升级包时将被替换,您的更改不会被保存。要覆盖此文件中的变量,您可以改为在以下位置创建一个文件:/etc/default/rundeckd

因此,我创建了该默认文件并通过添加以下内容来设置我的环境变量

export SQLCMDUSER=batman
export SQLCMDPASSWORD='secret_bat_password'

现在它按预期工作。


推荐阅读