SSH SFTP Nur mit chroot und Befehl

SSH SFTP Nur mit chroot und Befehl

Ich versuche den Zugriff auf SFTP auf nur ein Benutzerkonto zu beschränken. Nach dem Login sollen einige Befehle ausgeführt werden. Dazu habe ich forcecommmand in meine sshd_config eingefügt:

Match group stream
   #ChrootDirectory /home/%u
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand sudo /etc/mountsftp.sh
   #ForceCommand internal-sftp

Das funktioniert gut und mein Befehlsskript:

#!/bin/bash
now=$(date +"%T,%D")
echo "Login : $now" >> /login.log
sshfs usrl@server:/usbshare1-2 /media/pp -o reconnect -o allow_other -o workaround=all
mount --bind /media/pp/Serien /home/stream/Serien
J=$HOME
#
#exit by calling a shell to open for the ssh session
#internal-sftp
#cp -v /usr/lib/openssh/sftp-server $J/bin/
chroot $J /usr/lib/openssh/sftp-server

wird ausgeführt. Aber nach dem CHROOT ist es nicht möglich, den SFTP-Server zu starten, da er nach dem Chroot nicht gefunden wird. Aber ich brauche Chroot sowie diesen SFTP-Server. Gibt es eine Möglichkeit, dies zu erreichen?

PS: Autofs für das Mounten ist keine Option, da alles auf einem virtuellen Server ohne die benötigten Kernelmodule ausgeführt wird.

Antwort1

Kopieren Sie die sftp-serverBinärdatei und alle ihre Abhängigkeiten ( ldd /usr/lib/openssh/sftp-server) in das Chroot-Verzeichnis und Sie können sie ausführen.

verwandte Informationen