Transloadit
Preise
  • Datei-Uploads
  • Dateiimport
  • Stapelverarbeitung
  • Video-Encoding
  • Audio-Encoding
  • Bildverarbeitung
  • Dokumentenverarbeitung
  • Künstliche Intelligenz
  • Dateifilterung & Sicherheit
  • Medienkatalogisierung
  • Dateikomprimierung
  • Codeauswertung
  • Dateiexport
  • Smart CDN
  • Alle Services anzeigen
  • Integrationen entdecken
  • Live-Demos entdecken (English)
  • Uppy
  • TransloaditKit
  • Android-SDK
  • Node.js-SDK
  • Python-SDK
  • Ruby-SDK
  • Go-SDK
  • Java-SDK
  • PHP-SDK
  • Zapier
  • MCP-Server
  • Transloadit CLI
  • Terraform
  • Grundlagen
  • Bewährte Verfahren
  • Häufige Fragen
  • Robots
  • API-Endpunkte
  • Formate
  • Erstellen Sie Ihre erste App
  • Über Transloadit
  • Vergleiche
  • Open Source
  • Referenzen
  • Stellen (English)
  • Sicherheit
  • Beiträge
  • Aktuelles für Entwickler (English)
  • Tipps für Entwickler
  • Presse
  • Forschung (English)
  • Fallstudien
  • Lösungen
  • Leitfäden
  • Glossar
  • Rechtliches (English)
  • Werkzeuge
  • Wie wir Coursera helfen, Bildung für Millionen Menschen weltweit zugänglich zu machen
  • Transloadit-Support
  • Open-Source-Support
  • Service Level Agreement (English)
GrundlagenRobotsHäufige FragenAPI-EndpunkteFormateBewährte Verfahren

Wie beschränke ich einen SFTP-Benutzer auf ein Verzeichnis?

Verwenden Sie auf einem Server, den Sie verwalten, die Option ChrootDirectory von OpenSSH mit dessen internem SFTP-Server. Das eingeschränkte Konto sieht sein zugewiesenes Verzeichnis als /, während ein separates Unterverzeichnis für Uploads beschreibbar bleibt. Das Konto erhält dadurch weder Shell-Zugriff noch die Möglichkeit zur Weiterleitung.

Das folgende Linux-Beispiel setzt ein vorhandenes, dediziertes Konto namens transloadit, eine primäre Gruppe namens transloadit und das Home-Verzeichnis /home/transloadit voraus. Prüfen Sie zunächst, ob sich dieses Konto unter Ihrer bestehenden Authentifizierungsrichtlinie mit seinem SSH-Schlüssel anmelden kann. Verwenden Sie kein Administratorkonto. Ändern Sie das Home-Verzeichnis des eingeschränkten Kontos nicht zu /.

Lassen Sie eine Administratorsitzung geöffnet, während Sie die SSH-Einstellungen ändern. Stellen Sie sicher, dass Sie auf anderem Weg auf den Server zugreifen können, falls die neue Konfiguration abgelehnt wird.

Verzeichnisse vorbereiten

Erstellen Sie das eingeschränkte Stammverzeichnis, darin eine leere Kopie des Home-Pfads des Kontos sowie das Upload-Verzeichnis. SSH liest weiterhin die vorhandenen autorisierten Schlüssel des Kontos, bevor es in das eingeschränkte Dateisystem wechselt. Kopieren Sie keine privaten Schlüssel hinein.

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

Jede Komponente von /srv/sftp/transloadit, einschließlich /srv und /srv/sftp, muss root gehören und darf für andere Benutzer oder Gruppen nicht beschreibbar sein. Nur das Unterverzeichnis uploads gehört dem eingeschränkten Konto. Machen Sie das eingeschränkte Stammverzeichnis nicht beschreibbar, um einen Upload-Fehler zu beheben.

Konto einschränken

Ersetzen Sie in /etc/ssh/sshd_config die vorhandene Zeile mit Subsystem sftp durch die folgende Zeile. Belassen Sie sie im globalen Abschnitt, vor allen Blöcken mit Match. Fügen Sie keine zweite Deklaration für das SFTP-Subsystem hinzu.

Subsystem sftp internal-sftp

Fügen Sie diesen kontospezifischen Block am Ende der Konfiguration hinzu:

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

ForceCommand startet SFTP in /uploads, statt Shell-Befehle anzunehmen. DisableForwarding blockiert außerdem SSH-Weiterleitungen, die ein erzwungener SFTP-Befehl allein nicht verhindert. Die bestehenden Authentifizierungsanforderungen des Kontos gelten weiterhin. Passen Sie Kontoname und Home-Pfad an, falls Ihre Angaben abweichen, und prüfen Sie alle zuvor greifenden Regeln oder eingebundenen Konfigurationsdateien.

Vor dem Neuladen validieren

Prüfen Sie die Syntax und die wirksame Konfiguration für das eingeschränkte Konto:

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

Verwenden Sie im zweiten Befehl die tatsächliche Client-Adresse und den Hostnamen, wenn Ihre Konfiguration adress- oder hostspezifische Regeln enthält. Stellen Sie sicher, dass die wirksamen Einstellungen die vorgesehenen Werte für chrootdirectory, forcecommand, disableforwarding yes, permittunnel no und permittty no enthalten. DisableForwarding setzt einzelne Weiterleitungsoptionen außer Kraft, die in dieser Ausgabe möglicherweise weiterhin als aktiviert erscheinen. Laden Sie keine Konfiguration neu, deren Validierung fehlschlägt. Verwenden Sie den in der Dokumentation Ihres Betriebssystems angegebenen Befehl zum Neuladen des SSH-Dienstes. Prüfen Sie anschließend sowohl eine neue Administratorverbindung als auch eine neue SFTP-Verbindung, bevor Sie die ursprüngliche Sitzung schließen.

Verbinden Sie sich von Ihrem Client aus mit sftp transloadit@your-server.example und prüfen Sie das Verzeichnis:

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

Laden Sie eine harmlose Testdatei in /uploads hoch und anschließend wieder herunter. Das Anlegen einer Datei direkt in / muss fehlschlagen. Prüfen Sie außerdem, ob ein Shell-Befehl und eine Portweiterleitung abgelehnt werden. Der SFTP-Pfad /uploads verweist auf /srv/sftp/transloadit/uploads auf dem Server, nicht auf das servereigene /uploads.

Verwenden Sie das Konto mit /sftp/import oder /sftp/store und beachten Sie dabei die Dokumentation des Robots zur Authentifizierung und zu Pfaden. Ein chroot beschränkt den Dateisystemzugriff; es ersetzt weder die Kontoauthentifizierung noch Dateisystemberechtigungen oder Netzwerkrichtlinien. Die vollständige Semantik der Direktiven finden Sie im OpenSSH-Konfigurationshandbuch⁠ und Hinweise zur Dienstverwaltung in der Dokumentation Ihrer Distribution.

Siehe auch:

Wird das Datenvolumen monatlich zurückgesetzt?
Wie verwende ich das TLCDN?
Wie werden meine Amazon-S3-Zugangsdaten geschützt?
Support kontaktieren⁠

TransloaditStatus wird geprüft…

Produkt

  • Dienste
  • Preise
  • Demos EN (English)
  • Werkzeuge
  • Sicherheit
  • Support

Unternehmen

  • Über Transloadit/Presse
  • Blog/Stellen EN (English)
  • Vergleiche/Compliance-Matrix
  • Forschung EN (English)
  • Open Source
  • Lösungen
  • Pioniere des Webs

Dokumentation

  • Erste Schritte
  • Transkodierung
  • Häufige Fragen
  • API-Endpunkte
  • Leitfäden/Tipps für Entwickler
  • Unterstützte Formate

Mehr

  • Plattformstatus⁠
  • Community-Forum⁠
  • Uppy
  • tus⁠

© 2009–2026 Transloadit-II GmbH

Transloadit®, tus® und Uppy® sind in den Vereinigten Staaten eingetragene Marken von Transloadit-II GmbH.

Datenschutz EN (English)Nutzungsbedingungen EN (English)Impressum EN (English)Marken EN (English)DMCA-Richtlinie EN (English)
EnglishDeutschEspañolFrançaisPortuguês (Brasil)