标签: env

通过 ssh 使用 gpg-agent

我在通过单个命令行通过 ssh 使用 gpg-agent 时遇到问题。

这是我的配置:

服务器 A:通过 ssh 触发命令。

ssh user@serverB "sudo -E /path/to/script.sh"
Run Code Online (Sandbox Code Playgroud)

服务器 B:执行需要密码签名的脚本。

系统信息:Ubuntu 12.04

我已经在服务器 B 上设置了 gpg-agent,我已经将此配置添加到 /home/user/.bashrc :

Invoke GnuPG-Agent the first time we login.                                                                          
# Does `~/.gpg-agent-info' exist and points to gpg-agent process accepting signals?                                    
if test -f $HOME/.gpg-agent-info && \
    kill -0 `cut -d: -f 2 $HOME/.gpg-agent-info` 2>/dev/null; then
    GPG_AGENT_INFO=`cat $HOME/.gpg-agent-info | cut -c 16-`
else
    # No, gpg-agent not available; start gpg-agent                                                                     
    eval `gpg-agent --daemon --write-env-file $HOME/.gpg-agent-info`
fi
export GPG_TTY=`tty` …
Run Code Online (Sandbox Code Playgroud)

ubuntu ssh gpg env

8
推荐指数
1
解决办法
3197
查看次数

别名在脚本中不起作用 #!/usr/bin/env php

我有一些 PHP 脚本,它们以#!/usr/bin/env php. 默认解释器是 PHP 4.4,但脚本需要 PHP 5.3,所以我在 中创建了一个别名~/.bashrc

alias php="/usr/local/bin/php5-53LATEST-CLI"
Run Code Online (Sandbox Code Playgroud)

因此调用php -v显示我 5.3 但#!/usr/bin/env php仍然使用 4.4。我不会更改脚本。那么我怎样才能获得 PHP 5.3#!/usr/bin/env php呢?

php bash env

8
推荐指数
1
解决办法
5653
查看次数

在 Apache 加载之前设置服务器变量

我们在 CentOS 上运行了 Apache。基本上,我在 /etc/environment 中有一些变量,它们使用 PassEnv 传递给我们的 Apache 配置。问题是因为 Apache 在 /etc/environment 之前,所以找不到变量。

是否有类似的 /etc/environment 文件,我可以将全局环境变量添加到在 apache (httpd) 之前执行的文件中,还是必须开始编辑运行级别?

亲切的问候,

史蒂夫

centos environment-variables env apache-2.2

7
推荐指数
2
解决办法
2万
查看次数

使用 Nginx 在 PHP-FPM 中获取环境变量

我定义一些环境变量,像APP_ENV在我的/etc/environment文件中,在我的ArchLinux的。

如果我输入printenv,我会看到它们。

我创建了这个简单的测试文件,名为… test.php

<?php

var_dump(getenv('APP_ENV'));
var_dump(getenv());
Run Code Online (Sandbox Code Playgroud)

如果我运行php test.php,一切正常,我会看到我的 ENV 变量。

但是当我尝试通过 HTTP 访问文件时……我的环境中什么也没有!

当然,我已经改变了/etc/php/php-fpm.d/www.conf设置clear_env = no

这些是受影响的行:

; Clear environment in FPM workers
; Prevents arbitrary environment variables from reaching FPM worker processes
; by clearing the environment in workers before env vars specified in this
; pool configuration are added.
; Setting to "no" will make all environment variables available to PHP code
; via getenv(), $_ENV …
Run Code Online (Sandbox Code Playgroud)

php nginx environment-variables php-fpm env

7
推荐指数
1
解决办法
1万
查看次数

linux 和 Solaris /usr/bin/env 的区别

我有一个简单的脚本:

#!/usr/bin/env perl -w
print "Hello World\n"
Run Code Online (Sandbox Code Playgroud)

制作这个可执行文件,在 Linux 上运行,我得到:

/usr/bin/env: perl -w: No such file or directory
Run Code Online (Sandbox Code Playgroud)

(没有 -w,这可以正常工作)

在 Solaris 8 机器上运行相同的脚本会产生正确的输出。

关于为什么会这样的任何建议?

linux solaris perl env

6
推荐指数
1
解决办法
1094
查看次数

GNU watch - 我如何让它读取我的环境(别名、函数等)

这个问题一直困扰着我一段时间:我想使用奇妙的 GNUwatch命令来运行一些在我的 .bashrc 中定义的自定义别名和函数,但它永远无法运行除了 bash 内置程序或二进制文件之外的任何东西。

watch -d foo

输出总是: foo: command not found

如何让它继承我的环境或使用 .bashrc?

谢谢你。

linux watch gnu env

5
推荐指数
1
解决办法
2461
查看次数

为什么 sudo -E 实际上不保护我的环境?

我正在尝试 sudo 一些位于自定义路径中的二进制文件。sudo虽然我运行时会删除该自定义路径,但sudo -E应该保留我的路径。为什么不起作用?

$ 环境 | egrep ^路径
PATH=/home/codemonkey/.nvm/v0.6.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/gam
es:/usr/游戏

$ sudo 环境 | egrep ^路径
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin

$ sudo -E 环境 | egrep ^路径
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin

我知道如何解决它,我只想知道为什么sudo -E不起作用

linux debian sudo environment-variables env

5
推荐指数
1
解决办法
4117
查看次数

标签 统计

env ×7

environment-variables ×3

linux ×3

php ×2

apache-2.2 ×1

bash ×1

centos ×1

debian ×1

gnu ×1

gpg ×1

nginx ×1

perl ×1

php-fpm ×1

solaris ×1

ssh ×1

sudo ×1

ubuntu ×1

watch ×1