Cómo restringir a los usuarios del servidor a un directorio específico en Linux

¿Necesita bloquear ese servidor Linux para que ciertos usuarios remotos solo puedan acceder a un directorio específico y solo para cargar y descargar archivos? Jack Wallen le muestra cómo.

Imagen: Producción Perig / Shutterstock

Cuando tiene un servidor con acceso SSH, a menos que lo haya configurado de otra manera, cualquier usuario con una cuenta en ese sistema puede iniciar sesión y, si tiene los permisos y la habilidad, causar estragos en su servidor.

VER: Más de 40 términos de código abierto y Linux que necesita saber (TechRepublic Premium)

No quieres eso.

Lo que puede hacer es restringir a esos usuarios con una cárcel chroot. Al hacer esto, limita severamente lo que esos usuarios pueden hacer en su sistema. De hecho, cualquier usuario que esté limitado a una cárcel chroot puede:

Solo acceda al servidor a través de sftp Solo acceda a un directorio específico

Esta es una gran adición de seguridad para sus servidores Linux, y si necesita un caso de uso de este tipo, considérelo una obligación. Esto es especialmente importante si tiene un servidor que aloja datos confidenciales y no quiere que los usuarios vean siquiera esos archivos y carpetas.

Esta configuración no es tan desafiante. De hecho, la configuración es mucho más fácil que encontrar formas de implementar la función. Pero en aquellas ocasiones en las que necesita restringir severamente lo que un usuario puede acceder en sus servidores Linux, esta es una forma segura de hacerlo.

Lo que necesitarás

Para que esto funcione, necesitará una instancia en ejecución de Linux y un usuario con privilegios de sudo. Eso es. Hagamos magia de seguridad.

Cómo crear un grupo restringido y agregar usuarios en un servidor Linux

Lo primero que debemos hacer es crear un nuevo grupo y agregarle usuarios. Crea el grupo con:

sudo groupadd restringido

A continuación, agregue un usuario al grupo con el comando:

sudo usermod -g NOMBRE DE USUARIO restringido

Donde NOMBRE DE USUARIO es el usuario que desea agregar al grupo restringido.

VER: Linux cumple 30 años: Celebrando el sistema operativo de código abierto (PDF gratuito) (TechRepublic)

Cómo configurar SSH

Abra el archivo de configuración del demonio SSH con:

sudo nano / etc / ssh / sshd_config

Busque la línea (cerca de la parte inferior):

Subsistema sftp / usr / lib / openssh / sftp-server

Cambie esa línea a:

Subsistema sftp internal-sftp

En la parte inferior del archivo, agregue lo siguiente:

Grupo de coincidencias restringido ChrootDirectory / home / ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no

Guarde y cierre el archivo. Reinicie SSH con:

sudo systemctl reiniciar ssh

Ahora, regrese a otra máquina e intente SSH en el servidor con el usuario, como por ejemplo:

ssh olivia@192.168.1.147

Verás la advertencia:

Este servicio solo permite conexiones sftp. Conexión a 192.168.1.147 cerrada.

Para que cualquier usuario del grupo restringido inicie sesión en el servidor, debe usar sftp así:

sftp NOMBRE DE USUARIO @ SERVIDOR

Donde NOMBRE DE USUARIO es el nombre de usuario y SERVIDOR es la dirección IP o el dominio del servidor. Una vez que inicien sesión con éxito, estarán en el indicador sftp donde pueden transferir archivos de un lado a otro con los comandos put y get. Los usuarios restringidos solo pueden cargar archivos en sus directorios de inicio. Cuando un usuario restringido inicia sesión inicialmente, estará en el directorio / home. Entonces, para cargar con éxito, tendrían que cambiar a su directorio de inicio con un comando como:

cd olivia

Una vez en su directorio de inicio, pueden emitir un comando como:

poner file1

Siempre que ese archivo esté en el directorio de trabajo actual de la máquina desde la que iniciaron sesión en el servidor, se cargará sin problemas. Si esos usuarios solo necesitan descargar archivos a su máquina local, usarían un comando como:

obtener file1

Me doy cuenta de que esta es una configuración muy limitante con casos de uso muy limitados, pero en algún momento de su carrera de administrador de Linux, se encontrará con una instancia en la que necesitará limitar a los usuarios para que inicien sesión en una cárcel chroot. Esta es una manera de hacerlo.

Suscríbase a Cómo hacer que la tecnología funcione de TechRepublic en YouTube para obtener los últimos consejos tecnológicos para profesionales de negocios de Jack Wallen.

Ver también