su или sudo сохранение / удаление определенных переменных среды

Я хотел бы иметь возможность войти в систему как другой пользователь и сохранить большинство, но не всю среду. В частности, я хотел бы установить $HOME на правильное значение для нового пользователя, но, возможно, все остальное. Если я использую sudo -E , вся моя среда останется прежней, в том числе $HOME . Если я использую sudo -E su , он почти работает, но по какой-то причине не сохраняет $ZDOTDIR , что является, в частности, одной из переменных, которые я хочу сохранить.

Кто-нибудь знает удобное решение этого вопроса или почему одна из немногих переменных, которые стираются с помощью sudo -E su это $ZDOTDIR ? Благодарю.

One Solution collect form web for “su или sudo сохранение / удаление определенных переменных среды”

Поскольку настройки sudoers различаются между ОС, трудно предсказать, что сработает для вас.

sudo -EH переключатель H пытается установить $ HOME значение целевого пользователя, но это не сохранит $ ZDOTDIR.

Или добавьте строку ниже к концу sudoers, используя visudo. Это говорит sudo, чтобы сохранить переменные, перечисленные в текущей среде. В этом случае вы использовали бы sudo без переключателей.

 Defaults env_keep += "ZDOTDIR OTHERVAR1 OTHERVAR2 [...]" 
  • Как разрешить пользователю debian выполнять команду как в определенной группе с использованием sudo?
  • ulimit PICKLE: «Операция не разрешена» и «Команда не найдена»
  • Почему мне еще нужно запустить shutdown как sudo после этого?
  • Первый скрипт bash - введите пароль root только один раз.
  • Почему, когда я пытаюсь выполнить программу как обычный пользователь, мне становится отказано, и когда я выполняю его с помощью sudo, я получаю «Not Found»
  • как установить параметр подсистемы sftp -s в файле конфигурации
  • Не удалось запустить команду sudo на linux
  • Программа действует по-разному в зависимости от пользователя
  • Как я могу запускать программу в качестве другого пользователя во всех отношениях?
  • Использовать текущую переменную среды пользователя в файле sudoers
  • Выполнение функции скрипта Bash с помощью Sudo
  • Linux и Unix - лучшая ОС в мире.