Cómo configurar chroot SFTP en Linux

  
 Hay algunos escenarios en los que el administrador del sistema quiere que solo unos pocos usuarios puedan transferir archivos a cajas de Linux, no a ssh. Podemos lograr esto configurando SFTP en un entorno chroot.
Antecedentes de SFTP &chroot:
SFTP significa protocolo SSH File Transfer o Secure File Transfer Protocol. SFTP proporciona funciones de acceso a archivos, transferencia de archivos y administración de archivos a través de cualquier flujo de datos confiable. Cuando configuramos SFTP en el entorno chroot, entonces solo los usuarios autorizados estarán limitados a su directorio de inicio, o podemos decir que los usuarios autorizados estarán en un entorno similar a la cárcel en el que no podrán cambiar su directorio. En el artículo configuraremos Chroot SFTP en RHEL 6.X &CentOS 6.X. Tenemos un usuario ‘ Jack ’ , estos usuarios podrán transferir archivos en la caja de Linux pero no tendrán acceso ssh.
Paso: 1 Crear un grupo
[root @ localhost ~] # groupadd sftp_users
Paso: 2 Asignar el grupo secundario (sftp_users ) al usuario.
Si los usuarios no existen en el sistema, use el siguiente comando: [root @ localhost ~] # useradd -G sftp_users -s /sbin /nologin jack [root @ localhost ~] # passwd jack
Para los usuarios ya existentes, use el siguiente comando de usermod: [root @ localhost ~] # usermod – G sftp_users -s /sbin /nologin jack
Nota: si desea cambiar el directorio de inicio predeterminado de los usuarios, use ‘ -d ’ en el comando useradd y usermod y establezca los permisos correctos.
Paso: 3 Ahora edite el archivo de configuración " /etc /ssh /sshd_config "
# vi /etc /ssh /sshd_config # comente la siguiente línea y agregue una línea como abajo # Subsistema sftp /usr /libexec /openssh /sftp-serverSubsystem sftp internal-sftp
# agregue las siguientes líneas al final of fileMatch Group sftp_usersX11Forwarding noAllowTcpForwarding noChrootDirectory% hForceCommand internal-sftp
Donde: Grupo de coincidencias sftp_users – Esto indica que las siguientes líneas coincidirán solo para los usuarios que pertenecen al grupo sftp_usersChrootDirectory% h – Esta es la ruta (directorio de inicio del usuario predeterminado) que se usará para chroot una vez que el usuario esté autenticado. Entonces, para Jack, esto será /home/jack.ForceCommand internal-sftp – Esto fuerza la ejecución del sftp interno e ignora cualquier comando que se menciona en el archivo ~ /.ssh /rc.
Reinicie el servicio ssh # service sshd restart
Paso: 4 Establezca los Permisos:
[root @ localhost ~] # chmod 755 /home /jack [root @ localhost ~] # chown root /home /jack [root @ localhost ~] # chgrp -R sftp_users /home /jack
Si quieres ese usuario de jack debe poder cargar archivos, luego crear una carpeta de carga con los permisos a continuación,
[root @ localhost jack] # mkdir /home /jack /upload [root @ localhost jack] # chown jack. /home /jack upload /
Step: 5 Ahora intente acceder al sistema &hacer pruebas
Intente acceder al sistema a través de ssh

Como se puede ver a continuación, el usuario de jack está conectado a través de SFTP y no puede cambiar el directorio debido a un entorno de chroot.

Ahora haga las pruebas de carga y descarga, como se muestra a continuación:

Como podemos ver arriba, tanto la carga como la descarga &La descarga funciona bien para el usuario de Jack
Copyright © Conocimiento de Windows All Rights Reserved