Environment variables 设置和访问rundeck使用的环境变量

Environment variables 设置和访问rundeck使用的环境变量,environment-variables,ubuntu-16.04,rundeck,Environment Variables,Ubuntu 16.04,Rundeck,我已经在Ubuntu16.04.4LTS服务器上安装了Rundeck 2.10.6-1,并且只想为Rundeck设置环境变量。Rundeck本身运行正常 我可以在/etc/environment中设置环境变量以实现系统范围的可用性,但我希望它们只能通过rundeck会话访问。其中一个是SQLCMDPASSWORD,一个由SQLCMD使用的纯文本密码,所以我希望更严格的访问。我们最终也为PSQL使用了这种方法 我将rundeck$主目录标识为/var/lib/rundeck,并将$用户名确认为“r

我已经在Ubuntu16.04.4LTS服务器上安装了Rundeck 2.10.6-1,并且只想为Rundeck设置环境变量。Rundeck本身运行正常

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

我将rundeck$主目录标识为/var/lib/rundeck,并将$用户名确认为“rundeck”

我发现,向该目录中的.bashrc、.bash_profile或.profile添加环境变量不会被“rundeck”使用,正如命令行作业仅执行“printenv”所确认的那样。当以“rundeck”身份登录到服务器时,我会看到变量


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

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

答案中有一些线索,但都不充分。应用程序在其概要文件中设置了环境变量,对于rundeck,这将是

$ more /etc/rundeck/profile
第二条线索来自该文件的头部,该文件引用得松散,表明

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

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

export SQLCMDUSER=batman
export SQLCMDPASSWORD='secret_bat_password'

现在它可以按预期工作。

为了进一步扩展,基于deb的安装将使用/etc/default/rundeckd。基于rpm的将使用/etc/sysconfig/rundeckd覆盖/etc/rundeck/profile上设置的变量。