Articles of 环境variables

如何在没有VI或NANO等的PASE中编辑环境variables

我是IBMi的新手,但对操作系统的UNIX相对熟悉。 我在IBMi的PASE上没有VI或者NANO,我似乎也无法下载安装它们。 我在这里find了EDTF ,但是当我使用它的时候,它没有find状态命令。 有一个内置的文本编辑器,我可以使用? 或者是我唯一的selectRPM ? 我想编辑我的环境variables,但在主目录中没有看到.profile或.bash-profile。 我用ls -la查看其他以点开头的文件,但不是那些。 如果这些文件不存在,我必须编辑哪些文件?

使用'。'设置环境variables'PATH'的危险?

我有一个即将到来的testing,看看过去几年,他们总是问一个类似的问题。 基本上可以通过设置如下所示的安全漏洞: PATH=".:/bin:/usr/bin" 我得到这个PATH决定当用户调用诸如“ls”之类的命令时要search可执行文件的绝对目录。 我只是不确定上面会导致什么样的行为。 看来它会首先检查“/ bin”目录的当前目录(基于“。”),然后进入绝对目录“/ usr / bin”(如果没有的话)。 问题是,如果一个叫做“ls”的用户和一个攻击者在当前目录下创build了一个“/ bin”,它可能包含一个ls版本,例如删除一堆文件。 这是正确的轨道还是我误解了PATH符号?

我可以在我的apache conf中设置环境variables,并使用它们在htaccess重写?

我们有一个定义了一堆envvariables的apache conf,像这样:/etc/apache2/conf-enabled/env.conf SetEnv AWS_BUCKET "MY BUCKET" 我想在我的重写中使用该variables,AWS_BUCKET像这样: RewriteRule ^wp-content/uploads/(.*)$ https://s3.amazonaws.com/%{ENV:AS3CF_BUCKET}/wp-content/uploads/$1 [P] 这个桶根据我们所在的服务器环境而变化,例如:prod,staging,dev和local。 哪个不行 我读了这些重写后调用SetEnv,所以我应该使用SetEnvIf来设置variables。 但是,使用SetEnvIf仍然不起作用,因为不仅不能检查是否设置了AWS_BUCKET,而且仍然无法读取该variables,因为在重写和SetEnvIf被调用之前没有设置该variables。 SetEnvIf还要求在htaccess文件中设置所需的variables,这是我做不到的,因为这样做的目的是提供一个dynamic环境特定的解决scheme。 有没有办法从conf文件中使用setvariables,还是需要将variables设置为系统variables? 编辑 – 我不幸的是没有能力添加或修改Apache的configuration。 服务器由另一个部门运行,该部门在构build和部署过程中使用提供的variables作为模板注入该文件。 所以我必须处理我也有访问,这是networking应用程序和htaccess文件。 我不确定他们会为我改变这个过程。

环境variables在生产环境中应该在哪里?

我有一个Web应用程序,旨在将其部署到我的每个客户的专用主机。 为了安全地pipe理密钥,客户特定凭证等,我已经转向了环境variables。 我应该在哪里定义生产环境variables? 我知道几种可能性: /etc/profile , ~/.bashrc ,以及类似的文件在terminal会话启动时加载; 我没有去过这些,因为我不知道这是否被认为是最佳做法。 我已经尝试将它们存储在我的应用程序的systemdconfiguration文件中,但这只能使它们在主进程中可用,所以在部署代码更改时迁移数据库并不能很好地工作。 我知道有几个工具似乎“神奇地”为你处理环境variables,但是让我们假设我没有使用其中的一个; 我想手动在我自己的安装和部署脚本中处理这些。 我也有兴趣把秘密的事情保密,所以存储环境variables的安全性也是我的问题。

使用shell脚本中的命令在父shell中设置环境variables

我有一个包含单个命令的shell脚本 sudo my_command | parse_to_exports_cmd 当我运行这个脚本时,我得到了以下标准输出 export MY_VAR_A=abcdef123 export MY_VAR_B=qwerty123 我将如何修改我的脚本来实际设置父shell中的这些环境variables?

将systemd托pipe服务环境中的机密(密码,密钥)导出的最佳做法是什么?

pipe理帐户凭证和SHA256机密并将其提供给systemd托pipe服务的最佳做法是什么? 在旧的init.d方式中,我只是在/ etc / default中安装一个脚本来源。 从那里我可以导入我想要的任何内容到环境variables中,然后可用于我的服务。 所以我的问题是,为系统pipe理服务提供loginID /密码凭证和其他“秘密”是什么被认为是“最佳做法”? 是通过一个被认为是“好”的环境,还是有一个更好的/更安全的方式? (即什么是最好的地方,把你的服务(如MySQL)的密码,SHA256秘密等,以及如何最有效地沟通那些长期运行的后台服务需要它?有没有比在环境中设置更好的pipe理方式系统启动进程之前?)

是否有可能将环境variables传递给新创build的用户?

在我的GitLab CI脚本中,我创build了一个新的用户,然后执行一个命令。 我注意到当这个用户执行该命令时,CI环境variables不可用。 以下是我所做的: before_script: – useradd -U -d "$CI_PROJECT_DIR" newuser test-app: stage: test image: open-jdk script: – echo $MY_CI_VAR #here I can see the env var set in GitLab CI – su newuser -l -c "grails test-app -unit FooHelper" #in the code it is not available 题 有没有办法在创build新用户时或者以该用户身份执行命令时传递环境variables。

在exec环境中设置的puppetvariables不能在课程的其他地方访问

我正在尝试使用基于检查的日志path来configuration日志configuration,以查看该日志文件是否存在。 但是,if语句总是返回true,即使我知道/var/log/hermes/hermes.log不存在。 我已经testing了exec {“service_log_check”onlyif正在工作,所以这与if语句有关。 我曾想过在每个exec中添加像environment => [“FOO = true”的内容,然后将if语句更改为if FOO == true,但似乎在exec环境中设置的variables只能在exec中访问,而不是整个类。 这让我疯狂!!! 我们正在使用木偶v3.7 class hermes :: fluentd($ service_name ='hermes',$ logs ='/ var / log / test / test.log'){ exec {"service_log_check": command => '/bin/true', onlyif => '/usr/bin/test -e /var/log/hermes/hermes.log', } exec {"service_log_json_check": command => '/bin/true', onlyif => '/usr/bin/test -e /var/log/hermes/hermes-json.log', } exec {"request_log_check": command => […]

如何在systemd服务文件中使用variables?

我正在为一个守护进程创build一个服务文件,并且我想使用variables(在init脚本中,我使用了环境variables)来为执行的脚本定义一些参数。 例如,我想用2个参数$ PARAM1 $ PARAM2: [Unit] Description=my daemon After=network.target [Service] ExecStart=/usr/local/bin/daemon1 PIDFile=/var/run/daemon1.pid EnvironmentVariable=PARAM1=123 EnvironmentVariable=PARAM2=444 ExecStartPre=-/usr/bin/wget -O – –post-data=key1=$PARAM1&key2=$PARAM2 http://192.168.1.2/log.php ExecStopPost=-/usr/bin/wget -O – –post-data=key1=$PARAM1 http://192.168.1.2/log.php Type=simple [Install] WantedBy=multi-user.target 不用说,这个例子不起作用。 有没有类似systemd可以实现的东西? 什么样的exec命令的参数化是可能的?

如何在Solaris中设置环境variables(在.profile中)

如何在我的.profile文件中设置一个环境variables来考虑variables是否存在并附加到它? 解释: 我想要做 export ANT_OPTS=-Dparam=value 但是如果ANT_OPTS已经存在,我想追加到它。 我想做类似的事情 set ANT_OPTS=%ANT_OPTS% -Dparam=value 在Windows中。 如果它已经存在,我如何创build它或追加到它?