用于sudo访问的ssh环境变量

时间:2011-11-10 14:15:57

标签: linux ubuntu ssh environment-variables sudo

这个问题是question

的另一面

如果我想通过ssh连接启动一些命令,我​​在那里提供带变量的〜/ .ssh / environment文件(但它不允许我在那里使用bash命令..)

但是如果我想用 sudo (比如 sudo java )启动一些命令,通常我会将以下行添加到 .bashrc < / strong>文件

alias sudo='sudo env PATH=$PATH'

所以,我可以将此别名放入我的〜/ .ssh / environment 文件中,因为它不支持任何命令。

那么,在这种情况下修复它的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。 只是提醒问题是:考虑到* sudo ssh 有一些问题,如何调用[sudo + command]能够查看环境变量的限制。 *(参见上面的问题)。

所以我们可以像这样使用sudo:

 sudo env PATH=$PATH command

它会将PATH变量传递给sudo上下文。

对我来说,在sudo之后我们可以使用不同的东西并不是很明显..不是命令而是env

我们不能使用

alias sudo='sudo env PATH=$PATH'

在./.ssh/environment(ssh策略限制 - 它不允许它),我们不能在.bashrc中使用它(ssh策略限制 - 它不使用它)