У меня есть RHEL 7, и я хочу установить переменную окружения для sudo.

Я запустил sudo su чтобы переключиться на пользователя root и добавил export в его файл .bashrc . Затем я перезагрузил их с source .

Теперь, когда я запускаю env в режиме root него есть переменная окружения. Однако, когда я выхожу и запускаю sudo env это не так.

Почему это происходит?

1 ответ1

1

sudo запускает программы в собственной ограниченной среде (см. раздел «Окружающая среда» руководства man sudo). Он неявно использует bash для запуска программ, поэтому ~/.bashrc не запускается, хотя вы можете вызвать его явно:

sudo bash --rcfile=~root/.bashrc -c ProgramAndParameters

Вы можете установить переменную окружения в строке выполнения:

sudo variable=value ProgramAndParameters

Вы можете использовать псевдоним или функцию для выполнения любого из них по умолчанию.

Вы также можете добавить файл окружения в /etc/sudoers (см. man sudoers для получения дополнительной информации).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .