oh mi zsh para la raíz y para todos los usuarios

15

He instalado zshy estoy usando los complementos Oh My ZSH. Todo funciona bien, pero cuando me convierto en usuario root, cambia al tema zsh predeterminado.

¿Qué debo hacer para que la configuración Oh My ZSH sea la predeterminada zshpara todos los usuarios incluidos root?

He intentado usar el chsh -s /bin/zsh root

Eso me dio zshpero nooh_my_zsh

También intenté cp -R /home/user/.zshrc /root/.zshrcobtener oh_my_zshroot, pero nada funcionó.

(No necesito zshpero necesito oh_my_zshpara todos los usuarios del sistema)

Tummala Dhanvi
fuente
¿Cómo te estás convirtiendo en root?
frlan
1
¿Cómo instalaste oh my zsh en primer lugar? ¿Por qué no hacer lo mismo para root?
Adaephon
1
Creo que cFINNYla respuesta en stackoverflow.com/a/42193058/1408600 es lo que necesita. Lo he hecho durante meses en los servidores que administro. Funciona para root y para todos los usuarios
ayik

Respuestas:

22

Hice enlaces simbólicos a mis archivos zsh en mi directorio de inicio, eso parece funcionar bien:

ln -s $HOME/.oh-my-zsh           /root/.oh-my-zsh
ln -s $HOME/.zshrc               /root/.zshrc
Morten
fuente
2
Esta debería ser la respuesta aceptada, elimina el ajetreo de instalar zshdos veces.
Dominic Motuka
2
Si hace eso, en realidad no tiene sentido vincular .oh-my-zsh, porque el .zshrc todavía hace referencia al .oh-my-zsh de su usuario original.
Jam Risser
1
No funcionó para mí cuando intentaba vincularme desde no raíz a raíz, terminé instalándolo también para la no raíz
Akash Agarwal
3
Lo probé y no pude usar los complementos oh-my-zsh con este método. Fueron considerados inseguros por compinit.
Melebius
77
Recomiendo contra este método, al menos si uno no considera primero los riesgos de seguridad. Cualquier programa que ejecute el usuario puede editar esos archivos de configuración sin preguntarle al usuario, porque pertenecen al usuario, no root, y por lo tanto, puede hacer que root realice cualquier acción la próxima vez que root use zsh. ¿Estaría dispuesto a agregar (o aceptar que alguien más agregue) una advertencia al respecto a esta respuesta?
Eliah Kagan
8

Simplemente ejecute el comando de instalación como usuario root (después de hacer sudo su)

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

Instalé oh-my-zsh con una cuenta raíz. Ahora inicio sesión con otra cuenta e instalo oh-my-zsh nuevamente en el directorio de inicio de la cuenta. Funciona para la cuenta no root.

Enrique
fuente