oh my zsh untuk root dan untuk semua pengguna

15

Saya telah menginstal zshdan saya menggunakan plugin Oh My ZSH. Semuanya berfungsi dengan baik, tetapi ketika saya menjadi pengguna root, itu berubah ke tema zsh default.

Apa yang harus saya lakukan untuk menjadikan konfigurasi Oh My ZSH sebagai default zshuntuk semua pengguna termasuk root?

Saya sudah mencoba menggunakan chsh -s /bin/zsh root

Itu memberi saya zshtetapi tidakoh_my_zsh

Saya juga mencoba cp -R /home/user/.zshrc /root/.zshrcmendapatkan oh_my_zshroot, tetapi tidak ada yang berhasil.

(Saya tidak perlu zshtetapi saya perlu oh_my_zshuntuk semua pengguna dalam sistem)

Tummala Dhanvi
sumber
Bagaimana Anda menjadi root?
frlan
1
Bagaimana Anda menginstal oh my zsh di tempat pertama? Adakah mengapa tidak melakukan hal yang sama untuk root?
Adaephon
1
Saya pikir cFINNYjawaban di stackoverflow.com/a/42193058/1408600 adalah apa yang Anda butuhkan. Saya sudah melakukan itu selama berbulan-bulan di server yang saya kelola. Ini berfungsi untuk root dan semua pengguna
ayik

Jawaban:

22

Saya membuat tautan simbolis ke file zsh di direktori home saya, yang sepertinya berfungsi dengan baik:

ln -s $HOME/.oh-my-zsh           /root/.oh-my-zsh
ln -s $HOME/.zshrc               /root/.zshrc
Morten
sumber
2
Ini harus menjadi jawaban yang diterima, menghilangkan keresahan menginstal zshdua kali.
Dominic Motuka
2
Jika Anda melakukannya, sebenarnya tidak masuk akal untuk menautkan .oh-my-zsh, karena .zshrc masih merujuk .oh-my-zsh dari pengguna awal Anda.
Jam Risser
1
Tidak berfungsi untuk saya saat mencoba menautkan dari non-root ke root, akhirnya menginstalnya juga untuk non-root
Akash Agarwal
3
Saya mencobanya dan tidak bisa menggunakan plugin oh-my-zsh menggunakan metode ini. Mereka dianggap tidak aman oleh compinit.
Melebius
7
Saya merekomendasikan terhadap metode ini, setidaknya jika seseorang tidak pertama-tama mempertimbangkan risiko keamanan. Program apa pun yang dijalankan pengguna dapat mengedit file-file konfigurasi tanpa meminta pengguna - karena mereka milik pengguna, bukan root - dan dengan demikian dapat menyebabkan root melakukan tindakan apa pun kapan pun root menggunakan zsh! Apakah Anda bersedia menambahkan (atau tidak apa-apa dengan orang lain menambahkan) peringatan tentang itu untuk jawaban ini?
Eliah Kagan
8

Jalankan saja perintah install sebagai pengguna root (setelah melakukan sudo su)

sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
Tummala Dhanvi
sumber
1

Saya menginstal oh-my-zsh dengan akun root. Sekarang saya masuk dengan akun lain, dan menginstal oh-my-zsh lagi di direktori home dari akun tersebut. Ini berfungsi untuk akun non-root.

Henry
sumber