ой мой зш за рут и для всех пользователей

15

Я установил zshи использую плагины Oh My ZSH. Все работает нормально, но когда я становлюсь пользователем root, он меняется на стандартную тему zsh.

Что я должен сделать, чтобы конфигурация Oh My ZSH стала настройкой zshпо умолчанию для всех пользователей, включая root?

Я пытался использовать chsh -s /bin/zsh root

Это дало мне, zshно неoh_my_zsh

Я также пытался cp -R /home/user/.zshrc /root/.zshrcполучить oh_my_zshдля рута, но ничего не получалось.

(Мне не нужно, zshно мне нужно oh_my_zshдля всех пользователей в системе)

Туммала Дханви
источник
Как вы становитесь root?
Фрлан
1
Как вы установили о мой Zsh в первую очередь? Любой, почему бы просто не сделать то же самое для root?
Adaephon
1
Я думаю, что cFINNYответ на stackoverflow.com/a/42193058/1408600 - это то, что вам нужно. Я делал это месяцами на серверах, которыми управлял. Это работает для root и всех пользователей
ayik

Ответы:

22

Я сделал символические ссылки на мои zsh-файлы в моей домашней директории, которая, кажется, работает нормально:

ln -s $HOME/.oh-my-zsh           /root/.oh-my-zsh
ln -s $HOME/.zshrc               /root/.zshrc
Morten
источник
2
Это должен быть принятый ответ, устраняет необходимость установки в zshдва раза.
Доминик Мотука
2
Если вы сделаете это, на самом деле не имеет смысла связывать .oh-my-zsh, потому что .zshrc по-прежнему ссылается на .oh-my-zsh вашего исходного пользователя.
Джем Рисер
1
У меня не получилось, когда я пытался установить связь с не-root к root, в итоге установил его и для не-root
Akash Agarwal
3
Я попробовал это и не мог использовать плагины oh-my-zsh, используя этот метод. Они были признаны небезопасными compinit.
Мелебиус
7
Я рекомендую против этого метода, по крайней мере, если кто-то сначала не учитывает риски безопасности. Любая программа, которую запускает пользователь, может редактировать эти файлы конфигурации без запроса пользователя - потому что они принадлежат пользователю, а не root - и, таким образом, могут заставить root выполнять любые действия, когда в следующий раз root использует zsh! Хотели бы вы добавить (или хорошо, если кто-то еще добавил) предупреждение об этом к этому ответу?
Элия ​​Каган
8

Просто запустите команду установки от имени пользователя root (после выполнения sudo su)

sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
Туммала Дханви
источник
1

Я установил oh-my-zsh с учетной записью root. Теперь я вхожу с другой учетной записью и снова устанавливаю oh-my-zsh в домашнюю директорию учетной записи. Это работает для учетной записи без полномочий root.

Генри
источник