Cuando instalas Linux ubuntu, la shell bash se configura por defecto. Sin embargo, ¿sabías que en realidad ya puedes utilizar otras shells?
Al crear un nuevo usuario en Linux, puedes especificar la shell predeterminada que el usuario usará. La opción que se utiliza para esto es la opción -s
del comando useradd
. Si el usuario ya ha sido creado, también se puede cambiar con el comando usermod -s.
En este artículo, revisaremos las principales shells que se pueden usar con la opción -s
de useradd
y sus características, así como cómo verificar la lista de shells disponibles en el sistema actual.
1. Principales tipos de shells y características
Ruta de la shell | Nombre de la shell | Características |
---|---|---|
/bin/bash |
Bash | La shell estándar más utilizada. Ofrece diversas funciones como edición de comandos, autocompletado y creación de scripts. |
/bin/sh |
Bourne Shell | Proporciona funcionalidades ligeras y mínimas. Principalmente utilizada en scripts y entornos restringidos. |
/bin/zsh |
Z Shell (Zsh) | Una extensión de Bash. Ofrece excelentes funciones de autocompletado y personalización. Recientemente ha ganado mucha popularidad. |
/bin/ksh |
Korn Shell | Shell ampliamente utilizada en entornos comerciales. Enfocada en la velocidad y eficiencia. |
/usr/bin/fish |
Fish Shell | Recomendada para principiantes debido a su uso intuitivo y potentes funciones de autocompletado. |
/usr/sbin/nologin o /bin/false |
Shell sin acceso | Utilizada para bloquear el acceso de inicio de sesión directo. Se usa comúnmente al crear cuentas del sistema o cuentas de servicio. |
2. Verificando las shells disponibles en el sistema actual
La lista de shells disponibles en el sistema actual se almacena en el archivo /etc/shells
. Puedes verificarlo con el siguiente comando.
cat /etc/shells
Ejemplo de salida:
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/usr/bin/sh
/bin/dash
/usr/bin/dash
Solo las shells listadas en este archivo se pueden usar con la opción -s
del comando useradd
.
3. Verificando la ruta exacta de la shell nologin
Para verificar la ubicación exacta de la shell de bloqueo de inicio de sesión (nologin
) en el sistema, usa el siguiente comando.
which nologin
Ejemplo de salida:
/usr/sbin/nologin
Puede variar según el sistema, por lo que es recomendable verificarlo.
4. Ejemplos de casos de uso
Agregar un usuario que utiliza la shell Bash
sudo useradd -m -s /bin/bash nombredeusuario
Agregar un usuario que utiliza la shell Zsh
sudo useradd -m -s /bin/zsh nombredeusuario
Agregar un usuario del sistema sin acceso
sudo useradd -r -s /usr/sbin/nologin nombredeusuario
Ejemplo de cambio de shell de un usuario existente:
sudo usermod -s /usr/sbin/nologin nombredeusuario
Comando para verificar el resultado del cambio:
cat /etc/passwd | grep nombredeusuario
Ejemplo de salida correcta:
nombredeusuario:x:1004:1004::/home/django:/usr/sbin/nologin
¡Ahora entiende claramente la opción -s
de useradd
y las shells disponibles, y gestiona tus cuentas de manera segura con la configuración correcta de la shell!
No hay comentarios.