3 formas de cambiar un Shell predeterminado de usuario en Linux
El shell, o interfaz de línea de comandos, es un componente crucial del sistema operativo Linux, que proporciona a los usuarios una poderosa forma de interactuar. con el sistema.
Cada usuario en un sistema Linux está asociado con un shell predeterminado, que determina el intérprete de comandos que utiliza al interactuar con el sistema.
Cambiar el shell predeterminado de un usuario puede ser necesario por varios motivos, como preferencias personales o la necesidad de funciones específicas ofrecidas por un shell diferente.
En este artículo, exploraremos el proceso de cambiar el shell predeterminado de un usuario en Linux. El shell es un programa que acepta e interpreta comandos; hay varios shells de código abierto como bash, zsh y muchos otros shells menos conocidos disponibles en Linux.
Shell bash de Linux
Bash (/bin/bash) es un shell popular en la mayoría, y normalmente es el shell predeterminado para las cuentas de usuario todas las distribuciones de Linux
Hay varias razones para cambiar el shell de un usuario en Linux, incluidas las siguientes:
Para bloquear o deshabilitar los inicios de sesión normales de los usuarios en Linux usando un shell nologin.
Utilice un script o programa contenedor de shell para registrar los comandos del usuario antes de enviarlos a un shell para su ejecución. Aquí, usted especifica el contenedor de shell como el shell de inicio de sesión de un usuario.
Para satisfacer las demandas de un usuario (quiere utilizar un shell específico), especialmente aquellos con derechos administrativos.
Al crear cuentas de usuario con las utilidades useradd o adduser, se puede utilizar el indicador --shell para especificar el nombre del shell de inicio de sesión de un usuario distinto del especificado en los respectivos archivos de configuración.
Se puede acceder a un shell de inicio de sesión desde una interfaz basada en texto o mediante SSH desde una máquina Linux remota. Sin embargo, si inicia sesión a través de una interfaz gráfica de usuario (GUI), puede acceder al shell desde emuladores de terminal como xterm, konsole, y muchos más.
Listar shells disponibles en un sistema Linux
En Linux, el archivo /etc/shells se usa comúnmente para almacenar una lista de shells de inicio de sesión válidos instalados en el sistema. Este archivo ayuda a identificar qué shells están disponibles para que los usuarios los establezcan como su shell predeterminado mediante comandos como chsh.
Para ver la lista de shells disponibles en un sistema Linux, puede utilizar el siguiente comando:
cat /etc/shells
Resultado de muestra:
# /etc/shells: shells de inicio de sesión válidos
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/bin/dash
/usr/bin/dash
/usr/bin/tmux
/usr/bin/screen
Antes de continuar, tenga en cuenta que:
Un usuario puede cambiar su propio shell a cualquier cosa: lo cual, sin embargo, debe aparecer en el archivo /etc/shells.
Solo el root puede ejecutar un shell que no figura en el archivo /etc/shells.
Si una cuenta tiene un shell de inicio de sesión restringido, solo el root puede cambiar el shell de ese usuario.
Encuentre el Shell actual en Linux
Antes de cambiar el shell de un usuario predeterminado, es importante determinar el shell actual ejecutando el siguiente comando echo, que muestra el shell actual. para el usuario que inició sesión.
eco $SHELL
/bin/bash
El resultado muestra que el usuario está utilizando actualmente el shell Bash (/bin/bash).
Cambiar el Shell predeterminado en Linux
Ahora analicemos tres formas diferentes de cambiar el shell de usuario predeterminado de Linux.
1. Utilidad de modificación de usuario
El comando usermod se utiliza para modificar los detalles de la cuenta de un usuario, almacenados en /etc/. passwd y la opción -s o --shell se utiliza para cambiar el shell de inicio de sesión del usuario.
En este ejemplo, primero verificaremos la información de la cuenta del usuario tecmint para ver su shell de inicio de sesión predeterminado y luego cambiaremos su shell de inicio de sesión de /bin/sh a /bin/bash de la siguiente manera.
grep tecmint /etc/contraseña
sudo usermod --shell /bin/bash tecmint
grep tecmint /etc/contraseña
Ahora el shell predeterminado para el usuario “tecmint” se cambiará a bash
2. Utilidad chsh
El comando chsh se utiliza para cambiar el shell de inicio de sesión predeterminado del usuario de forma interactiva mediante -s o < /span> opción como se muestra.–shell
grep tecmint /etc/contraseña
sudo chsh --shell /bin/sh tecmint
grep tecmint /etc/contraseña
Reemplace “/bin/sh” con la ruta real al shell que desea configurar. Por ejemplo, para configurar el shell en sh, usaría “/bin/sh< ai=6>“.
Es importante tener en cuenta que los cambios en el shell predeterminado generalmente entran en vigor en su próximo inicio de sesión.
Los dos métodos anteriores modifican el shell especificado en el archivo /etc/passwd, que puede editar manualmente como en el tercer método a continuación.
3. Cambiar el Shell de usuario en el archivo /etc/passwd
En este método, simplemente abra el archivo /etc/passwd usando cualquiera de sus comandos favoritos. editores de texto de línea y cambiar el shell de un usuario específico.
sudo vi /etc/passwd
O
sudo nano /etc/passwd
Localice la línea correspondiente al usuario para quien desea cambiar el shell predeterminado. Por ejemplo, si la línea se ve así:
tecmint:x:1000:1000:John Doe:/home/tecmint:/bin/bash
El último campo, /bin/bash, representa el shell predeterminado (en este caso, Bash).
Para cambiar el valor del campo Shell al Shell deseado, simplemente especifique la ruta a un Shell (/bin/zsh) como se muestra.
tecmint:x:1000:1000:John Doe:/home/tecmint:/bin/zsh
Cuando haya terminado de editar, guarde y cierre el archivo.
¿Cómo instalar otro Shell?
Al igual que otros paquetes de software, los shells populares como Zsh y Fish se pueden instalar fácilmente desde el repositorio de su distribución, como se muestra.
Instalar Zsh Shell en Linux
Para instalar Zsh en Linux, utilice el siguiente comando apropiado para su distribución de Linux específica.
sudo apt install zsh [En Debian, Ubuntu y Mint]
sudo yum install zsh [En RHEL/CentOS/Fedora y Rocky/AlmaLinux]
sudo emerge -a sys-apps/zsh [En Gentoo Linux]
sudo apk agregar zsh [En Alpine Linux]
sudo pacman -S zsh [En Arch Linux]
sudo zypper install zsh [Activado OpenSUSE]
Instalar Fish Shell en Linux
Para instalar Zsh en Linux, utilice el siguiente comando apropiado para su distribución de Linux específica.
sudo apt install fish [En Debian, Ubuntu y Mint]
sudo yum install fish [En RHEL/CentOS/Fedora y Rocky/AlmaLinux]
sudo emerge -a sys-apps/fish [En Gentoo Linux]
sudo apk agregar pescado [En Alpine Linux]
sudo pacman -S fish [En Arch Linux]
sudo zypper install fish [Activado OpenSUSE]


Comentarios
Publicar un comentario