Cómo deshabilitar el acceso de Shell a la cuenta de usuario en Linux

De forma predeterminada, al crear una cuenta de usuario en Linux, el usuario tendrá explícitamente acceso SSH. Hay situaciones en las que las cuentas de usuario no necesitan acceso de shell a FTP, correos electrónicos o ssh.

En este tutorial, aprendamos cómo deshabilitar el acceso de shell para un usuario de Linux existente o crear un nuevo usuario sin acceso de shell.

Crea un nuevo usuario sin acceso al shell

De forma predeterminada, al crear una cuenta de usuario, se asigna un shell al usuario como se define en el archivo / etc / default / useradd.

Al crear una cuenta de usuario, puede especificar explícitamente el shell qué usuario debe iniciar sesión.

Linux viene con un shell / sbin / nologin que muestra un mensaje ‘Esta cuenta no está disponible actualmente’, cuando un usuario intenta conectarse. Esta es una forma de impedir que el usuario acceda al shell de inicio de sesión.

Marquemos dos comandos para crear un usuario con un shell deshabilitado.

Usando useradd:

Sintaxis:

useradd -s / sbin / nologin {nombre de usuario}

Usando adduser:

Sintaxis:

adduser –shell / sbin / nologin {nombre de usuario}

Deshabilitar Shell para un usuario existente

Para cambiar el shell para el usuario existente, use el comando chsh o usermod.

Usando chsh:

Sintaxis:

chsh -s / sbin / nologin {nombre de usuario}

Para cambiar shell a nologin para el usuario llamado bob, escriba:

PS sudo chsh -s / sbin / nologin bob

Usando usermod:

Sintaxis:

usermod {nombre de usuario} -s {ruta de shell}

Para cambiar el shell a / sbin / ftpnologin para el usuario llamado bob, escriba:

PS sudo usermod bob -s / sbin / ftpnologin

Puede personalizar el shell para mostrar un mensaje cuando los usuarios inician sesión a través de ftp.

cat / sbin / ftpnologin! / bin / sh Sin acceso al shell. Solo se permite el acceso FTP.

Para otorgar permiso ejecutable, escriba:

PS sudo chmod a + x / sbin / ftpnologin

Todos los shells están disponibles en / etc / shell, agregue un nuevo shell a esta lista:

$ echo “/ sbin / ftpnologin” | sudo tee -a / etc / shells

En lugar de hacer los métodos anteriores, puede cambiar manualmente el shell editando el archivo / etc / password, que también funcionará.

Conclusión

En este tutorial, aprendimos cómo deshabilitar una cuenta de usuario para que no acceda al shell predeterminado. Gracias por leer.