Cómo restringir a los usuarios de SFTP a los directorios de inicio utilizando la cárcel de Chroot
- 649
- 149
- Eduardo Tapia
En este tutorial, discutiremos cómo restringir Sftp usuarios de sus directorios de inicio o directorios específicos. Significa que el usuario solo puede acceder a su respectivo directorio de inicio, no a todo el sistema de archivos.
Restringir los directorios de inicio de los usuarios es vital, especialmente en un entorno de servidor compartido, de modo que un usuario no autorizado no echará un vistazo a los archivos y carpetas del otro usuario.
Importante: Tenga en cuenta también que el propósito de este artículo es proporcionar solo el acceso SFTP, no los inicios de sesión de SSH, siguiendo este artículo tendrá los permisos para realizar la transferencia de archivos, pero no se le permite hacer una sesión remota de SSH.
Leer sugerido: Restringir el acceso de los usuarios de SSH a cierto directorio utilizando la cárcel de chrooted
La forma más sencilla de hacer esto es crear un entorno de cárcel de chrootado para el acceso SFTP. Este método es el mismo para todos los sistemas operativos UNIX/Linux. Usando el entorno chrooted, podemos restringir a los usuarios a su directorio de inicio o a un directorio específico.
Restringir a los usuarios a los directorios de inicio
En esta sección, crearemos un nuevo grupo llamado sftpgroup y asigne la propiedad y los permisos correctos a las cuentas de los usuarios. Hay dos opciones para restringir a los usuarios al hogar o directorios específicos, veremos ambos en este artículo.
Crear o modificar usuarios y grupos
Restringamos al usuario existente, por ejemplo tecmenta
, a su directorio de casa nombrado /Home/Tecmint
. Para esto, necesitas crear un nuevo sftpgroup grupo usando grupo Comando como se muestra:
# groupAdd sftpgroup
A continuación, asigne al usuario 'Tecmint' a sftpgroup grupo.
# usermod -g sftpgroup tecmint
También puede crear un nuevo usuario usando el comando userAdd, por ejemplo senthil
y asignar al usuario a sftpusers grupo.
# Adduser Senthil -G SftpGroup -s /Sbin /Nologin # passwd TecMint
Modificar el archivo de configuración de SSH
Abra y agregue las siguientes líneas a /etc/ssh/sshd_config
archivo de configuración.
Subsistema SFTP Interno-SFTP Match Group SFTPGROUP CHROOTDIRICTORY /HOME FORCOCMAND INTERNO-SFTP X11 Forwarding No PTOTLTCPForwarding No
Guarde y salga del archivo, reinicie el servicio SSHD para tomar nuevos cambios en efecto.
# SystemCTL reiniciar sshd o # servicio sshd reiniciar
Si lleva a varios usuarios al mismo directorio, debe cambiar los permisos del directorio de inicio de cada usuario para evitar que todos los usuarios expliquen los directorios de inicio de los demás usuarios.
# CHMOD 700 /HOME /TECMINT
Verificar los usuarios de SSH y SFTP Inicio de sesión
Ahora, es hora de verificar el inicio de sesión de un sistema local. Intente ssh su sistema remoto desde su sistema local.
# ssh [correo electrónico protegido]
Aquí,
- tecmenta - Nombre de usuario del sistema remoto.
- 192.168.1.150 - Dirección IP del sistema remoto.
Salida de muestra:
[Correo electrónico protegido] S PASSACIÓN: No se pudo chdir al directorio de inicio /hogar /tecmint: no hay dicho archivo o directorio Este servicio solo permite conexiones SFTP. Conexión a 192.168.1.150 cerrado.
Luego, acceda al sistema remoto utilizando SFTP.
# SFTP [Correo electrónico protegido]
Salida de muestra:
[Correo electrónico protegido] S PASSACIÓN: Conectado a 192.168.1.150. SFTP>
Vamos a ver el directorio de trabajo actual:
SFTP y GT PWD Directorio de trabajo remoto: / SFTP y GT LS tecmenta
Aquí, tecmenta
es el directorio de inicio. CD al tecmenta directorio y cree los archivos o carpetas de su elección.
SFTP & GT CD TECMINT Directorio de trabajo remoto: / prueba SFTP y GT MKDIR tecmenta
Restringir a los usuarios a un directorio específico
En nuestro ejemplo anterior, restringimos a los usuarios existentes al directorio de inicio. Ahora, veremos cómo restringir a un nuevo usuario a un directorio personalizado.
Crear grupo y nuevos usuarios
Crea un nuevo grupo sftpgroup
.
# groupAdd sftpgroup
A continuación, cree un directorio para el grupo SFTP y asigne permisos para el usuario root.
# mkdir -p/sftpusers/chroot # chown root: root/sftpusers/chroot/
A continuación, cree nuevos directorios para cada usuario, a los que tendrán acceso completo. Por ejemplo, crearemos tecmenta
El usuario y su nuevo directorio de inicio con el permiso de grupo correcto utilizando la siguiente serie de comandos.
# adduser tecMint -g sftpgroup -s/sbin/nologin # passwd tecmint # mkdir/sftpusers/chroot/tecmint # chown tecMint: sftpgroup/sftpusers/chroot/tecmint/ # chmod 700/sftpusers/chroot/tecmint//tecmint/
Configurar SSH para el acceso SFTP
Modificar o agregar las siguientes líneas al final del archivo:
#Subsystem SFTP/USR/LibExec/OpenSSH/SFTP-Server Subsystist
Guardar y salir del archivo. Reiniciar el servicio SSHD para entrar en vigencia los cambios guardados.
# SystemCTL reiniciar sshd o # servicio sshd reiniciar
Eso es todo, puede verificar iniciando sesión en el servidor remoto SSH y SFTP utilizando el paso proporcionado anteriormente en Verify SSH y SFTP Iniciar sesión.
Tenga en cuenta que este método deshabilitará el acceso a la concha,.E no puede acceder a la sesión de shell del sistema remoto usando SSH. Solo puede acceder a los sistemas remotos a través de SFTP y hacer transferencia de archivos hacia y desde los sistemas locales y remotos.
Conclusión
Ahora sabe cómo restringir los directorios de inicio de los usuarios utilizando un entorno chroot en Linux. Si encuentra esto útil, comparta este artículo en sus redes sociales y háganos saber en la sección de comentarios a continuación si hay algún otro método para restringir los directorios de hogares de los usuarios.
- « Cómo instalar el último CMS Magento en Ubuntu y Debian
- 3 formas de enumerar todos los paquetes instalados en RHEL, Centos y Fedora »