设置和访问 rundeck 使用的环境变量
Setting and accessing environmental variable used by 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' 登录服务器时,我看到了变量。
我把这些设置在正确的地方了吗?
所以,不,这些变量没有设置在正确的位置。这就是为什么...
this question and 的答案中有一些线索,但都不够。应用程序在其配置文件中设置了环境变量,对于 rundeck 来说是
$ more /etc/rundeck/profile
第二个线索来自该文件的头部,它被松散地引用,表明
NOTE: DO NOT MODIFY THIS FILE. It will be replaced when the package is upgraded and your changes will not be saved. To override variables in this file, you can instead create a file at: /etc/default/rundeckd
因此,我创建了该默认文件并通过添加以下内容来设置我的环境变量
export SQLCMDUSER=batman
export SQLCMDPASSWORD='secret_bat_password'
现在它按预期工作了。
我在 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' 登录服务器时,我看到了变量。
我把这些设置在正确的地方了吗?
所以,不,这些变量没有设置在正确的位置。这就是为什么...
this question and
$ more /etc/rundeck/profile
第二个线索来自该文件的头部,它被松散地引用,表明
NOTE: DO NOT MODIFY THIS FILE. It will be replaced when the package is upgraded and your changes will not be saved. To override variables in this file, you can instead create a file at: /etc/default/rundeckd
因此,我创建了该默认文件并通过添加以下内容来设置我的环境变量
export SQLCMDUSER=batman
export SQLCMDPASSWORD='secret_bat_password'
现在它按预期工作了。