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


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

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.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.