Zunächst sei gesagt, dass FTP und SFTP zwei verschiedene Protokolle sind. SFTP nutzt SSH, wohingegen FTP ein sehr altes Protokoll ist, dessen Konfiguration um einiges komplizierter ist. Generell sollte man heutzutage lieber auf FTP verzichten. Mit HTTP gibt es eine gute Alternative um Dateien im Netzwerk bereitzustellen.

Was du in deinem konkreten Fall suchst, sind chroot jails. Diese bietet OpenSSH an.

Zunächst muss OpenSSH konfiguriert werden unter /etc/ssh/sshd_config:

Subsystem sftp internal-sftp
 
Match Group sftp
        ChrootDirectory %h
        ForceCommand internal-sftp
        AllowTcpForwarding no

Das Homeverzeichnis wird als Chroot-Verzeichnis für alle Benutzer der Gruppe sftp gesetzt.

Anschließend wird ein Benutzer für den SFTP-Zugang erzeugt:

addgroup sftp
useradd -m -s /bin/false -G sftp benutzer
passwd benutzer

Sofern der Benutzer bereits existiert, muss dieser der Gruppe hinzugefügt werden:

usermod -G sftp existierender_benutzer
usermod -s /bin/false existierender_benutzer

Zuletzt wird das Homeverzeichnis konfiguriert:

chown root:root /home/benutzer/
chmod 0755 /home/benutzer/
mkdir /home/benutzer/upload
chown benutzer:benutzer /home/benutzer/upload

Weitere Informationen unter: https://adminforge.de/linux-allgemein/openssh/chroot-sftp-mit-openssh-ohne-shell-zugang/

...zur Antwort