3 formas de cambiar el shell predeterminado de los usuarios en Linux

3 formas de cambiar el shell predeterminado de los usuarios en Linux

En este artículo, describiremos cómo cambiar el shell de un usuario en Linux. El shell es un programa que acepta e interpreta los comandos; Hay varias conchas como Bash, SH, KSH, Zsh, Fish y muchas otras conchas menos conocidas disponibles en Linux.

Intento (/bin/bash) es un shell popular en la mayoría de los sistemas Linux, y no todos, y normalmente es el shell predeterminado para cuentas de usuario.

Leer también: 5 Conchas de código abierto de uso abierto con mayor frecuencia para Linux

Hay varias razones para cambiar el shell de un usuario en Linux, incluido el siguiente:

  1. Para bloquear o deshabilitar los inicios de sesión normales del usuario en Linux utilizando un shell Nologin.
  2. Use un script o programa de envoltura de shell para iniciar sesión los comandos de usuario antes de que se envíen a un shell para su ejecución. Aquí, especifica el envoltorio de shell como el shell de inicio de sesión de un usuario.
  3. Para satisfacer las demandas de un usuario (quiere usar un shell específico), especialmente aquellos con derechos administrativos.

Al crear cuentas de usuario con UserAdd o Utilidades de Adduser, el --caparazón El indicador se puede usar para especificar el nombre del shell de inicio de sesión de un usuario que no sea el especificado en los archivos de configuración respectivos.

Se puede acceder a un shell de inicio de sesión desde una interfaz basada en texto o mediante un SSH de la máquina remota de Linux. Sin embargo, si inicia sesión a través de una interfaz gráfica de usuario (GUI), puede acceder al shell desde un terminal emuladores como xterm, konsole y muchos más.

Primero enumeremos todas las conchas disponibles en su sistema Linux, escriba.

# gato /etc /conchas /bin/sh/bin/bash/sbin/nologin/bin/tcsh/bin/csh/bin/dash 

Antes de continuar, tenga en cuenta que:

  • Un usuario puede cambiar su propio shell a cualquier cosa: que, sin embargo, debe estar en la lista en el /etc/conchas archivo.
  • Solo la raíz puede ejecutar un shell que no figura en /etc/conchas archivo.
  • Si una cuenta tiene un shell de inicio de sesión restringido, solo root puede cambiar el shell de ese usuario.

Ahora discutamos tres formas diferentes de cambiar el shell de usuario de Linux.

1. utilidad usermod

Usermod es una utilidad para modificar los detalles de la cuenta de un usuario, almacenados en el /etc/passwd archivo y el -s o --caparazón La opción se usa para cambiar el shell de inicio de sesión del usuario.

En este ejemplo, primero verificaremos la información de la cuenta de TecMint del usuario para ver su shell de inicio de sesión predeterminado y luego cambiaremos su shell de inicio de sesión desde /bin/sh a /bin/bash como sigue.

# grep tecmint /etc /passwd # usermod --shell /bin /bash tecmint # grep tecmint /etc /passwd 
Cambiar el shell de usuario usando usermod

2. utilidad CHSH

chsh es una utilidad de línea de comando para cambiar un shell de inicio de sesión con el -s o -caparazón Opción como esta.

# grep tecmint /etc /passwd # chsh --shell /bin /sh tecmint # grep tecmint /etc /passwd 
Cambiar el shell de usuario usando CHSH

Los dos métodos sobre todo modifican el shell especificado en /etc/passwd Archivo 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 /etc/passwd Archivo utilizando cualquiera de sus editores de texto de línea de comandos favoritos y cambie un shell de usuarios específico.

# vi /etc /passwd 
Cambiar el shell de usuario en el archivo passwd

Cuando haya terminado de editar, guarde y cierre el archivo.

No olvide leer estos temas relacionados:

  1. Comprender los archivos de inicialización de shell y los perfiles de usuario en Linux
  2. Comprender los consejos de secuencias de comandos de Shell y Basic Shell - Parte I
  3. Cómo escribir y usar las funciones y bibliotecas de shell personalizadas
  4. Comprender diferentes clasificaciones de los comandos de shell y su uso

En este artículo, describimos varias formas de cambiar el shell de un usuario en Linux. Para compartir cualquier pensamiento con nosotros, use la sección de comentarios a continuación.