environment-variables - 设置和访问 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”身份登录服务器时,我看到了变量。
我将这些设置在正确的位置吗?
解决方案
所以,不,这些变量没有设置在正确的位置。这就是为什么...
这个问题和这个问题的答案中有一些线索,但都不够。应用程序在其配置文件中设置了环境变量,对于 rundeck 来说
$ more /etc/rundeck/profile
第二条线索来自该文件的开头,松散地引用,表明
注意:请勿修改此文件。升级包时将被替换,您的更改不会被保存。要覆盖此文件中的变量,您可以改为在以下位置创建一个文件:/etc/default/rundeckd
因此,我创建了该默认文件并通过添加以下内容来设置我的环境变量
export SQLCMDUSER=batman
export SQLCMDPASSWORD='secret_bat_password'
现在它按预期工作。
推荐阅读
- java - 如何在 Spring Boot 控制器中获取用户的电子邮件
- linux - 同时 TCP 终止和随后的 connect():EADDRNOTAVAIL
- javascript - 使用javascript清除浏览器控制台中的最后一行或特定类型的错误?
- html - 标签应该包含我的输入还是相反?
- python - while循环Python上的编码问题
- python - 多个 IF 语句比较 2 个数据帧并根据结果填充数据帧
- matlab - 使用预定义的指数以指数表示法输出数字
- kubernetes - 重启系统后 Kubernetes kube-apiserver 服务未启动
- c# - C# Linq to SQL:将日期附加到结果查询
- c++ - 如何在 C++ 中访问 package.preload 中的局部变量