~/.pam_environment не работает для root
Я хочу использовать zsh
за root
с oh-my-zsh
, у меня уже есть oh-my-zsh
клонирован моим обычным пользователем, так что все, что мне нужно сделать, это установить ZSH
Переменная env в этот каталог. Так что я положил это в моем /root/.pam_environment
:
ZSH=/home/madhead/oh-my-zsh
Это единственная строка в этом файле. Но когда я пытаюсь войти в систему как root (после полной перезагрузки), переменная не устанавливается. Я пробовал оба sudo su
а также sudo -iu root
, Вот некоторая информация об используемом программном обеспечении:
# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty
# zsh --version
zsh 5.0.2 (x86_64-pc-linux-gnu)
Кроме того, такая же настройка (/root/.pam_environment
) нормально работает на моем ноутбуке с Arch Linux.
1 ответ
Официальная документация гласит
... у sudo есть политика по умолчанию для сброса Среды и установки безопасного пути (это поведение определено в /etc/sudoers).
А также
... вы можете настроить sudo, чтобы не сбрасывать определенные переменные окружения, добавив некоторые явные настройки окружения, которые будут храниться в / etc / sudoers.
Просто сделай это
user@here:$ sudo su
root@here:$ visudo
И добавьте эту строку:
Defaults env_keep += "ZSH"
Чтобы проверить, существует ли ваша переменная, выполните выход, затем снова sudo su и запустите export или
printenv ZSH