o mój zsh dla roota i dla wszystkich użytkowników

16

Zainstalowałem zshi używam wtyczek Oh My ZSH. Wszystko działa dobrze, ale kiedy zostanę użytkownikiem root, zmienia się na domyślny motyw Zsh.

Co powinienem zrobić, aby konfiguracja Oh My ZSH była domyślna zshdla wszystkich użytkowników, w tym root?

Próbowałem użyć chsh -s /bin/zsh root

To dało mi zshale nieoh_my_zsh

Próbowałem też cp -R /home/user/.zshrc /root/.zshrczdobyć oh_my_zshroot, ale nic nie działało.

(Nie potrzebuję, zshale potrzebuję oh_my_zshwszystkich użytkowników w systemie)

Tummala Dhanvi
źródło
Jak się rootujesz?
frlan
1
Jak w ogóle zainstalowałeś mój zsh ? Czy może po prostu zrobić to samo dla roota?
Adaephon
1
Myślę, że potrzebujesz cFINNYodpowiedzi na stackoverflow.com/a/42193058/1408600 . Robiłem to od miesięcy na serwerach, którymi zarządzałem. Działa dla roota i wszystkich użytkowników
ayik

Odpowiedzi:

23

W moim katalogu domowym utworzyłem dowiązania symboliczne do plików zsh, które wydają się działać dobrze:

ln -s $HOME/.oh-my-zsh           /root/.oh-my-zsh
ln -s $HOME/.zshrc               /root/.zshrc
Morten
źródło
2
To powinna być zaakceptowana odpowiedź, eliminująca konieczność zshpodwójnego instalowania .
Dominic Motuka
2
Jeśli to zrobisz, nie ma sensu linkować .oh-my-zsh, ponieważ .zshrc nadal odwołuje się do .oh-my-zsh twojego oryginalnego użytkownika.
Jam Risser
1
Nie działało dla mnie, gdy próbowałem połączyć się z rootem innym niż root, skończyło się również instalowaniem go dla użytkownika innego niż root
Akash Agarwal
3
Próbowałem i nie mogłem używać wtyczek oh-my-zsh przy użyciu tej metody. Byli uważani za niepewnych przez compinit.
Melebius
7
Odradzam tę metodę, przynajmniej jeśli nie bierze się pod uwagę zagrożeń bezpieczeństwa. Każdy program uruchamiany przez użytkownika może edytować te pliki konfiguracyjne bez monitowania użytkownika - ponieważ należą one do użytkownika, a nie do roota - i w ten sposób może spowodować, że root wykona dowolną akcję następnym razem, gdy root użyje zsh! Czy zechciałbyś dodać (lub w porządku z dodaniem kogoś innego) ostrzeżenie na ten temat do tej odpowiedzi?
Eliah Kagan
8

Wystarczy uruchomić polecenie instalacji jako użytkownik root (po wykonaniu sudo su)

sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
Tummala Dhanvi
źródło
1

Zainstalowałem oh-my-zsh z kontem root. Teraz loguję się przy użyciu innego konta i ponownie instaluję oh-my-zsh w katalogu domowym konta. Działa dla konta użytkownika innego niż root.

Henz
źródło