переменная окружения ssh для доступа sudo - PullRequest
0 голосов
/ 10 ноября 2011

Этот вопрос является другой стороной этого вопроса

Если я хочу запустить какую-то команду через ssh-соединение, я предоставляю туда файл ~ / .ssh / environment с переменными (но он не позволяет мне использовать команду bash там) ..

Но если я хочу запустить какую-нибудь команду с sudo (например, sudo java ), обычно я помещаю следующую строку в мой .bashrc файл

alias sudo='sudo env PATH=$PATH'

Итак, я могу НЕ поместить этот псевдоним в мой файл ~ / .ssh / environment , поскольку он не поддерживает какие-либо команды.

Итак, как это лучше всего исправить в этом случае?

1 Ответ

1 голос
/ 10 ноября 2011

Я нашел решение.Напомним, что проблема заключалась в следующем: как вызвать команду [sudo + command] с учетом того, что * sudo или ssh имеет некоторые ограничения для возможности видеть переменные среды. * (см. Выше в вопросе).

Таким образом, мы можем использовать sudo следующим образом:

 sudo env PATH=$PATH command

Он передаст переменную PATH в контекст sudo.

ЭтоДля меня не было очевидным, что мы можем использовать что-то другое сразу после sudo .. не команды, а env

И мы НЕ можем использовать

alias sudo='sudo env PATH=$PATH'

in ./.ssh/environment (политика sshограничение - это не позволяет), и мы НЕ можем использовать его в .bashrc (ограничение политики ssh - оно не использует)

...