Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo utilizar el sistema de archivos Chroot para restringir el acceso de los usuarios de inicio de sesión SFTP a los permisos de carpeta

Cómo utilizar el sistema de archivos Chroot para restringir el acceso de los usuarios de inicio de sesión SFTP a los permisos de carpeta

En los primeros sistemas UNIX, el directorio raíz estaba fijo en el sistema de archivos. En UNIX moderno, incluido Linux, puede definir un directorio raíz para cada proceso. El comando chroot le permite ejecutar procesos fuera del directorio /.

Este artículo presentará cómo restringir el acceso de los usuarios SFTP a su carpeta de inicio o al directorio especificado después de la configuración. Es decir, los usuarios que inician sesión a través de ssh solo pueden acceder a ciertas carpetas en la carpeta de inicio especificada, no a toda la carpeta de inicio.

Restringir los derechos de acceso de los usuarios es crucial, especialmente en un entorno público, de modo que diferentes usuarios solo puedan acceder a sus carpetas asignadas.

Nota importante: el objetivo principal de este artículo es también configure usuarios que solo puedan iniciar sesión a través de SFTP en lugar de SSH. Después de leer el tutorial de este artículo, puede configurarlo para que solo pueda realizar transferencias de archivos y no permita el inicio de sesión SSH.

Finalmente. El método simple es crear un sistema de archivos chroot con permisos SFTP. Este método es común en todos los sistemas operativos Unix/Linux. Usando chrooted podemos restringir a los usuarios a sus propias carpetas de inicio o carpetas específicas.

Restringir usuarios a. Directorios de inicio

En esta sección, crearemos un nuevo grupo llamado sftpgroup y asignaremos la propiedad y los permisos correctos a las cuentas de usuario. Hay dos opciones para restringir a los usuarios a directorios de inicio o específicos; veremos ambas formas en este artículo. .

Crear o cambiar usuarios y grupos de usuarios

En primer lugar, debemos restringir los usuarios existentes. Tomemos tecmint como ejemplo y cambiemos la casa del usuario. La ruta del archivo es /home. /tecmint. Usamos el siguiente comando para crear un nuevo grupo de usuarios sftpgroup:

# groupadd sftpgroup

¿Lo siguiente asigna el usuario 'tecmint' al grupo de usuarios sftpgroup? p>

# usermod -G sftpgroup tecmint

Por supuesto, también puedes crear un nuevo usuario como ?senthil y asignarlo al grupo de usuarios tosftpusers.

# adduser senthil -g sftpgroup -s /sbin/nologin # passwd tecmint

Modificar el archivo de configuración SSH

Abra el archivo de configuración /etc/ssh/sshd_config? p >

Subsistema sftp internal-sftp Match Group sftpgroup ChrootDirectory /home ForceCommand internal-sftp X11Forwarding no AllowTcpForwarding no

Guarde el archivo y reinicie sshd para que surta efecto

# systemctl restart sshd O # service sshd restart

Si desea asignar directorios de varios usuarios al mismo directorio, debe modificar los permisos de la carpeta de inicio de cada usuario para evitar que los usuarios accedan a la casa de otros usuarios. carpetas. Carpeta de inicio de un usuario

# chmod 700 /home/tecmint

Verifique el inicio de sesión del usuario SSH y SFTP ahora y luego intente iniciar sesión en. servidor remoto

# ssh tecmint@192.168.1.150

Explicación

tecmint: es el nombre de usuario de inicio de sesión del servidor remoto.

192.168.1.150: IP del servidor remoto

Entonces se generará información similar a esta:

contraseña de tecmint@192.168.1.150: No se pudo acceder al directorio principal /home

/tecmint: No existe tal archivo o directorio. Este servicio solo permite conexiones sftp. Conexión a 192.168.1.150 cerrada.

Luego intente iniciar sesión usando SFTP.

# sftp tecmint@192.168. 1.150?

Entonces se generará información similar a esta:

contraseña de tecmint@192.168.1.150: Conectado a 192.168.1.150 sftp>

. eche un vistazo al directorio de trabajo actual

sftp>pwd

Directorio de trabajo remoto: /

sftp>ls

tecmint

Aquí, tecmint es una carpeta de inicio. Ingrese a este directorio para crear algunos archivos o carpetas que desee probar.

sftp>cd tecmint

Directorio de trabajo remoto: /

sftp>mkdir prueba

tecmint

abajo