Esta es una buena pregunta, pero podría ser más apropiada para el sitio de control de calidad de Linux.
BradleyDotNET
66
configúrelo
Respuestas:
415
Prueba el comando linux chsh.
El comando detallado es chsh -s /bin/bash. Le pedirá que ingrese su contraseña. Su shell de inicio de sesión predeterminado es /bin/bashahora. Debe cerrar sesión y volver a iniciarla para ver este cambio.
Lo siguiente se cita de la página del manual:
El comando chsh cambia el shell de inicio de sesión del usuario. Esto determina el nombre del comando de inicio de sesión inicial de los usuarios. Un usuario normal solo puede cambiar el shell de inicio de sesión para su propia cuenta, el superusuario puede cambiar el shell de inicio de sesión para cualquier cuenta
Este comando cambiará el shell de inicio de sesión predeterminado de forma permanente.
Nota: Si su cuenta de usuario es remota, como en la autenticación Kerberos (por ejemplo, Enterprise RHEL), no podrá usarla chsh.
chsh: can only change local entries; use ypchsh instead. Entonces ypchsh no tiene ninguna -sopción
mahmood
10
@ShaktiMalik Creo que el archivo de configuración es /etc/passwd, pero no lo revisé dos veces .
Summer_More_More_Tea
30
Debe cerrar sesión y volver a iniciarla para ver este cambio.
Neil Traft
22
En mi caso, tenía acceso de root pero no quería meterme con ninguna configuración en el host real. He añadido exec /bin/basha ~/.profilelo que permitió que me registre directamente a fiesta sin hacer ningún cambio en el servidor. (El shell predeterminado original era solo /bin/sh)
Paul Nelson Baker
2
@BCqrstoO Gracias por esto. Pero, ¿y si exitescribes bash? ¿Cerrará sesión en el servidor directamente o simplemente saldrá de bash y entrará en el sh y se exitrequiere otro para cerrar sesión en el servidor?
Summer_More_More_Tea
148
Puede cambiar el archivo passwd directamente para el usuario en particular o usar el siguiente comando
Probablemente sea una buena idea probar which bashantes de invocar el comando anterior; su kilometraje puede variar según la ubicación. En mi caso, fue encontrado en/bin/bash
Martin Haeberli
También puedo agregar que, el chshcomando es parte del util-linuxpaquete; y chsh -s $(which bash) $USERdebería resultar igual que el anterior.
También hay una -lopción: "imprimir lista de conchas".
Betlista
3
fue chsh -s /bin/bash usernamepara mí
Salvatorelab
¡Gracias! Esto me ayudó cuando trataba de cambiarlo para un usuario diferente
Tobias Feil
18
Debería tener un 'esqueleto' en algún lugar /etc, probablemente /etc/skeleton, o verificar la configuración predeterminada, probablemente /etc/defaulto algo así. Esos son scripts que definen variables de entorno estándar que se configuran durante un inicio de sesión.
Si es solo para su propia cuenta: verifique el archivo (oculto) ~/.profiley ~/.login. O generarlos, si no existen. Estos también son evaluados por el proceso de inicio de sesión.
Plus 1 por responder específicamente a la pregunta (THE Default Shell). En Red Hat Linux se especifica en/etc/default/useradd
geedoubleya
@geedoubleya ¿Puede especificar cuál es la diferencia en el shell predeterminado y de inicio de sesión?
Betlista
1
Hola @Betlista El shell predeterminado es el shell que se utiliza para un nuevo shell de inicio de sesión de usuarios cuando se crean a menos que se proporcione un shell específico como argumento.
Respuestas:
Prueba el comando linux
chsh
.El comando detallado es
chsh -s /bin/bash
. Le pedirá que ingrese su contraseña. Su shell de inicio de sesión predeterminado es/bin/bash
ahora. Debe cerrar sesión y volver a iniciarla para ver este cambio.Lo siguiente se cita de la página del manual:
Este comando cambiará el shell de inicio de sesión predeterminado de forma permanente.
Nota: Si su cuenta de usuario es remota, como en la autenticación Kerberos (por ejemplo, Enterprise RHEL), no podrá usarla
chsh
.fuente
chsh: can only change local entries; use ypchsh instead
. Entonces ypchsh no tiene ninguna-s
opción/etc/passwd
, pero no lo revisé dos veces .exec /bin/bash
a~/.profile
lo que permitió que me registre directamente a fiesta sin hacer ningún cambio en el servidor. (El shell predeterminado original era solo/bin/sh
)exit
escribes bash? ¿Cerrará sesión en el servidor directamente o simplemente saldrá de bash y entrará en el sh y seexit
requiere otro para cerrar sesión en el servidor?Puede cambiar el archivo passwd directamente para el usuario en particular o usar el siguiente comando
Luego cierre sesión e inicie sesión
fuente
which bash
antes de invocar el comando anterior; su kilometraje puede variar según la ubicación. En mi caso, fue encontrado en/bin/bash
chsh
comando es parte delutil-linux
paquete; ychsh -s $(which bash) $USER
debería resultar igual que el anterior.-l
opción: "imprimir lista de conchas".chsh -s /bin/bash username
para míDebería tener un 'esqueleto' en algún lugar
/etc
, probablemente/etc/skeleton
, o verificar la configuración predeterminada, probablemente/etc/default
o algo así. Esos son scripts que definen variables de entorno estándar que se configuran durante un inicio de sesión.Si es solo para su propia cuenta: verifique el archivo (oculto)
~/.profile
y~/.login
. O generarlos, si no existen. Estos también son evaluados por el proceso de inicio de sesión.fuente
/etc/default/useradd