Intereting Posts
Как добавить раскладку клавиатуры на экран входа? Почему на рабочем столе Unity не работает conky? Как узнать мой текущий почтовый сервер для Ubuntu 10.04 Как выбрать все в терминаторе По-прежнему развивается / поддерживается ландшафтно-общее? Альтернативы? Почему Linux не обеспечивает восстановление точки восстановления для восстановления прежнего безопасного состояния? как установить last.fm scrobbler на ubuntu 14.04? Устройство сенсорной панели имеет неправильное имя (включая символ табуляции), как его исправить? Как узнать, была ли обновлена ​​текущая версия или установлена ​​новая версия Двойная загрузка Win 8 / Ubuntu загружает только Win GWOffice не устанавливает Загрузите в командной строке 12.04 (параметры grub не работают) Как изменить начальный звук? Запись диска Blueray с growisofs остановлена ​​на 'WRITE @ LBA = b02ea0h Error' Как заставить вновь созданные файлы наследовать разрешения каталога …?

переменная среды ssh для доступа sudo

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

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

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

alias sudo='sudo env PATH=$PATH' 

Поэтому я не могу поместить этот псевдоним в свой файл ~ / .ssh / environment , потому что он не поддерживает никаких команд.

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

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

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

  sudo env PATH=$PATH command 

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

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

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

 alias sudo='sudo env PATH=$PATH' 

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