Transloadit
Precios
  • Subida de archivos
  • Importación de archivos
  • Encoding de video
  • Encoding de audio
  • Procesamiento de imágenes
  • Procesamiento de documentos
  • Inteligencia artificial
  • Filtrado y seguridad de archivos
  • Catalogación de medios
  • Compresión de archivos
  • Evaluación de código
  • Exportación de archivos
  • Smart CDN
  • Ver todos los servicios
  • Explora integraciones (English)
  • Explora demos en vivo (English)
  • Uppy
  • TransloaditKit
  • Android SDK
  • Node SDK
  • Python SDK
  • Ruby SDK
  • Go SDK
  • Java SDK
  • PHP SDK
  • Zapier
  • MCP Server
  • Terraform
  • Conceptos esenciales
  • Prácticas recomendadas
  • FAQ
  • Robots
  • Endpoints de la API
  • Formatos
  • Crea tu primera app
  • Acerca de Transloadit
  • Comparaciones
  • Código abierto
  • Testimonios
  • Empleos (English)
  • Seguridad
  • Entradas
  • Actualidad para desarrolladores (English)
  • Consejos para desarrolladores (English)
  • Prensa (English)
  • Investigación (English)
  • Casos de éxito
  • Soluciones
  • Guías
  • Glosario (English)
  • Legal (English)
  • Herramientas
  • Cómo ayudamos a Coursera a llevar educación a millones de personas en todo el mundo
  • Soporte de Transloadit
  • Soporte para código abierto
  • Acuerdo de nivel de servicio (English)
Conceptos esencialesRobotsFAQEndpoints de la APIFormatosPrácticas recomendadas

¿Cómo limito un usuario de sFTP a un solo directorio?

OpenSSH (4.8p1 para el port de GNU/Linux) y las versiones posteriores incluyen una opción de configuración: ChrootDirectory. Esto es posible gracias a un nuevo subsistema SFTP enlazado estáticamente con sshd.

Esto facilita la sustitución de un servicio FTP básico sin la complicación de configurar el cifrado ni tener que lidiar con los modos pasivo y activo de FTP al operar a través de un router NAT. También es más sencillo que usar paquetes como rssh u otros parches, ya que no requiere configurar ni mantener un entorno chroot (por ejemplo, aplicar actualizaciones de seguridad).

Para habilitarlo, obviamente necesitas la nueva versión 4.8p1. Personalmente, uso la versión de cvs y el directorio debian/ del paquete sid para crear un paquete Debian 4.8p1~cvs-1 bien integrado.

En /etc/ssh/sshd_config:

Debes configurar OpenSSH para que use su subsistema SFTP interno.

Subsystem sftp internal-sftp

Después, configuré chroot() mediante una regla de coincidencia.

Match group sftponly
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

El directorio en el que se ejecuta chroot() debe pertenecer a root. Después de la llamada a chroot(), sshd cambia al directorio de inicio relativo al nuevo directorio raíz. Por eso uso / como directorio de inicio.

$ chown root.root /home/user
$ usermod -d / user
$ adduser user sftponly

Esto parece funcionar según lo previsto:

$ sftp user@host
Connecting to host...
user@host's password:
sftp> ls
build               cowbuildinall       incoming            johnbuilderclean
sftp> pwd
Remote working directory: /
sftp> cd ..
sftp> ls
build               cowbuildinall       incoming            johnbuilderclean

Incorporamos aquí las instrucciones originales de https://debian-administration.org/article/590/OpenSSH_SFTP_chroot_with_ChrootDirectory⁠ porque, en el momento de redactar este artículo, ese sitio web ya no funcionaba.

Consulta también:

¿Puedo permitir las IP de Transloadit en mi firewall?
¿Cómo configuro un bucket de Google Cloud?
¿Por qué veo más GB cobrados que los de mis archivos de entrada?
TransloaditVerificando el estado…

Producto

  • Servicios
  • Precios
  • Demos EN (English)
  • Herramientas
  • Seguridad
  • Soporte

Empresa

  • Acerca de Transloadit/Prensa EN (English)
  • Blog/Empleos EN (English)
  • Comparaciones/Matriz de cumplimiento EN (English)
  • Investigación EN (English)
  • Código abierto
  • Soluciones

Documentación

  • Primeros pasos
  • Transcodificación
  • FAQ
  • Endpoints de la API
  • Guías/Consejos para desarrolladores EN (English)
  • Formatos compatibles

Más

  • Estado de la plataforma⁠
  • Foro de la comunidad⁠
  • StackOverflow⁠
  • Uppy EN (English)
  • tus⁠

© 2009–2026 Transloadit-II GmbH

Privacidad EN (English)Términos EN (English)Aviso legal EN (English)
EnglishDeutschEspañol