Transloadit
Tarifs
  • Téléversements de fichiers
  • Importation de fichiers
  • Traitement par lots
  • Encodage vidéo
  • Encodage audio
  • Traitement d’images
  • Traitement de documents
  • Intelligence artificielle
  • Filtrage et sécurité des fichiers
  • Catalogage de médias
  • Compression de fichiers
  • Évaluation de code
  • Exportation de fichiers
  • Smart CDN
  • Voir tous les services
  • Explorer les intégrations
  • Explorer les démos interactives (English)
  • Uppy
  • TransloaditKit
  • SDK Android
  • SDK Node.js
  • SDK Python
  • SDK Ruby
  • SDK Go
  • SDK Java
  • SDK PHP
  • Zapier
  • Serveur MCP
  • Transloadit CLI
  • Terraform
  • Essentiels
  • Bonnes pratiques
  • FAQ
  • Robots
  • API
  • Formats
  • Créer votre première application
  • À propos de Transloadit
  • Comparatifs
  • Projets open source
  • Témoignages
  • Carrières (English)
  • Sécurité
  • Articles
  • Actus dev (English)
  • Astuces dev
  • Presse
  • Recherche (English)
  • Études de cas
  • Solutions
  • Guides
  • Glossaire
  • Juridique (English)
  • Outils
  • Aider Coursera à former des millions de personnes dans le monde
  • Support Transloadit
  • Support open source
  • Accord de niveau de service (English)
EssentielsRobotsFAQAPIFormatsBonnes pratiques

Comment limiter un utilisateur SFTP à un seul répertoire ?

Utilisez ChrootDirectory d’OpenSSH avec son serveur SFTP interne sur un serveur que vous administrez. Le compte restreint voit le répertoire qui lui est attribué comme /, tandis qu’un sous-répertoire distinct reste accessible en écriture pour les téléversements. Cela ne donne au compte aucun accès à un shell ni aux fonctions de redirection.

L’exemple Linux suivant suppose l’existence d’un compte dédié nommé transloadit, d’un groupe principal nommé transloadit et d’un répertoire personnel situé à /home/transloadit. Vérifiez d’abord que ce compte peut se connecter avec sa clé SSH conformément à votre politique d’authentification actuelle. N’utilisez pas le compte d’un administrateur. Ne définissez pas / comme répertoire personnel du compte restreint.

Gardez une session d’administrateur ouverte pendant la modification des paramètres SSH et assurez-vous de disposer d’un autre moyen d’accéder au serveur si la nouvelle configuration est rejetée.

Préparer les répertoires

Créez la racine restreinte, une arborescence vide reproduisant le chemin du répertoire personnel du compte à l’intérieur de celle-ci, ainsi que le répertoire de téléversement. SSH lit toujours les clés autorisées existantes du compte avant d’entrer dans le système de fichiers restreint ; n’y copiez pas de clés privées.

sudo install -d -o root -g root -m 755 /srv/sftp/transloadit
sudo install -d -o root -g root -m 755 /srv/sftp/transloadit/home/transloadit
sudo install -d -o transloadit -g transloadit -m 750 /srv/sftp/transloadit/uploads

Chaque composant de /srv/sftp/transloadit, y compris /srv et /srv/sftp, doit appartenir à root et ne doit pas être accessible en écriture aux autres utilisateurs ou groupes. Seul le sous-répertoire uploads appartient au compte restreint. Ne rendez pas la racine restreinte accessible en écriture pour corriger une erreur de téléversement.

Restreindre le compte

Dans /etc/ssh/sshd_config, remplacez la ligne Subsystem sftp existante par la ligne suivante. Conservez-la dans la section globale, avant tout bloc Match ; n’ajoutez pas de deuxième déclaration de sous-système SFTP.

Subsystem sftp internal-sftp

Ajoutez ce bloc propre au compte à la fin de la configuration :

Match User transloadit
    ChrootDirectory /srv/sftp/%u
    ForceCommand internal-sftp -d /uploads
    DisableForwarding yes
    PermitTunnel no
    PermitTTY no

ForceCommand démarre SFTP dans /uploads au lieu d’accepter des commandes shell. DisableForwarding bloque également la redirection SSH, ce qu’une commande SFTP imposée ne suffit pas à empêcher. Les exigences d’authentification existantes du compte continuent de s’appliquer. Adaptez le nom du compte et le chemin du répertoire personnel si les vôtres sont différents, et vérifiez les règles précédentes qui s’appliquent au compte ainsi que les fichiers de configuration inclus.

Valider avant de recharger

Vérifiez la syntaxe et la configuration effective du compte restreint :

sudo sshd -t
sudo sshd -T -C user=transloadit,host=localhost,addr=127.0.0.1

Dans la deuxième commande, utilisez l’adresse et le nom d’hôte réels du client si votre configuration contient des règles propres à une adresse ou à un hôte. Vérifiez que les paramètres effectifs comprennent bien les valeurs attendues pour chrootdirectory, forcecommand, disableforwarding yes, permittunnel no et permittty no. DisableForwarding prend le pas sur les options individuelles de redirection qui peuvent encore apparaître activées dans cette sortie. Ne rechargez pas une configuration qui échoue à la validation. Utilisez la commande de rechargement du service SSH indiquée dans la documentation de votre système d’exploitation, puis vérifiez à la fois une nouvelle connexion d’administrateur et une nouvelle connexion SFTP avant de fermer la session initiale.

Depuis votre client, connectez-vous avec sftp transloadit@your-server.example et vérifiez le répertoire :

sftp> pwd
Remote working directory: /uploads
sftp> cd /
sftp> pwd
Remote working directory: /
sftp> cd ..
sftp> pwd
Remote working directory: /

Téléversez un fichier de test inoffensif dans /uploads, puis téléchargez-le. La création d’un fichier directement dans / doit échouer. Vérifiez également qu’une commande shell et la redirection de ports sont rejetées. Le chemin SFTP /uploads correspond à /srv/sftp/transloadit/uploads sur le serveur, et non au chemin /uploads du serveur lui-même.

Utilisez ce compte avec /sftp/import ou /sftp/store, en suivant la documentation du Robot sur l’authentification et les chemins. Un chroot restreint l’accès au système de fichiers ; il ne remplace ni l’authentification du compte, ni les permissions du système de fichiers, ni la politique réseau. Consultez le manuel de configuration d’OpenSSH⁠ pour connaître la sémantique complète des directives, et la documentation de votre distribution pour la gestion des services.

Voir aussi :

Que sont les Assemblies ?
Y aura-t-il parfois une file d’attente d’encodage ?
Pouvez-vous m’aider à comprendre la tarification ?
Contacter le support⁠

TransloaditVérification de l’état…

Produit

  • Services
  • Tarifs
  • Démos EN (English)
  • Outils
  • Sécurité
  • Support

Entreprise

  • À propos de Transloadit/Presse
  • Blog/Carrières EN (English)
  • Comparatifs/Matrice de conformité
  • Recherche EN (English)
  • Projets open source
  • Solutions
  • Pionniers du web

Documentation

  • Premiers pas
  • Transcodage
  • FAQ
  • API
  • Guides/Astuces dev
  • Formats pris en charge

Plus

  • État de la plateforme⁠
  • Forum de la communauté⁠
  • Uppy
  • tus⁠

© 2009–2026 Transloadit-II GmbH

Transloadit®, tus® et Uppy® sont des marques déposées de Transloadit-II GmbH aux États-Unis.

Confidentialité EN (English)Conditions EN (English)Mentions légales EN (English)Marques déposées EN (English)Politique DMCA EN (English)
EnglishDeutschEspañolFrançaisPortuguês (Brasil)